-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[ty] More low-hanging fruit for inlay hint goto-definition #21548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Diagnostic diff on typing conformance testsNo changes detected when running ty on typing conformance tests ✅ |
|
| // an alternative would be to use `Type::SpecialForm(SpecialFormType::LiteralString)` here, | ||
| // which would mean users would be able to jump to the definition of `LiteralString` from the | ||
| // inlay hint, but that seems less useful than the definition of `str` for a variable that is | ||
| // inferred as an *inhabitant* of `LiteralString` (since that variable will just be a string | ||
| // at runtime) | ||
| Type::LiteralString => f | ||
| .with_detail(TypeDetail::Type(self.ty)) | ||
| .write_str("LiteralString"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm I think I disagree? From what I've seen LiteralString only shows up in code that's explicitly declared e.g. a function argument as LiteralString, but maybe I've just been lucky? (not a strong opinion)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm, you could be hovering over os.name or some other constant that's annotated (but not by you) as LiteralString? I don't have a strong opinion either; we can easily change this in response to user feedback if we get some!
Gankra
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
…d-typevar * origin/main: (24 commits) [ty] Remove brittle constraint set reveal tests (#21568) [`ruff`] Catch more dummy variable uses (`RUF052`) (#19799) [ty] Use the same snapshot handling as other tests (#21564) [ty] suppress autocomplete suggestions during variable binding (#21549) Set severity for non-rule diagnostics (#21559) [ty] Add `with_type` convenience to display code (#21563) [ty] Implement docstring rendering to markdown (#21550) [ty] Reduce indentation of `TypeInferenceBuilder::infer_attribute_load` (#21560) Bump 0.14.6 (#21558) [ty] Improve debug messages when imports fail (#21555) [ty] Add support for relative import completions [ty] Refactor detection of import statements for completions [ty] Use dedicated collector for completions [ty] Attach subdiagnostics to `unresolved-import` errors for relative imports as well as absolute imports (#21554) [ty] support PEP 613 type aliases (#21394) [ty] More low-hanging fruit for inlay hint goto-definition (#21548) [ty] implement `TypedDict` structural assignment (#21467) [ty] Add more random TypeDetails and tests (#21546) [ty] Add goto for `Unknown` when it appears in an inlay hint (#21545) [ty] Add type definitions for `Type::SpecialForm`s (#21544) ...
Summary
Enable users to jump to
intfrom the inlay for a variable inferred asLiteral[42], and some other easy thingsTest Plan
snapshots