diff --git a/crates/ty_python_semantic/resources/mdtest/snapshots/final.md_-_`typing.Final`_-_Full_diagnostics_(174fdd8134fb325b).snap b/crates/ty_python_semantic/resources/mdtest/snapshots/final.md_-_`typing.Final`_-_Full_diagnostics_(174fdd8134fb325b).snap index 516444f9aa..8d0adf1810 100644 --- a/crates/ty_python_semantic/resources/mdtest/snapshots/final.md_-_`typing.Final`_-_Full_diagnostics_(174fdd8134fb325b).snap +++ b/crates/ty_python_semantic/resources/mdtest/snapshots/final.md_-_`typing.Final`_-_Full_diagnostics_(174fdd8134fb325b).snap @@ -30,7 +30,7 @@ error[invalid-assignment]: Reassignment of `Final` symbol `MY_CONSTANT` is not a 1 | from typing import Final 2 | 3 | MY_CONSTANT: Final[int] = 1 - | ----------- Original definition + | --------------------------- Original definition 4 | 5 | # more code 6 | diff --git a/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_bound_ty…_(d50204b9d91b7bd1).snap b/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_bound_ty…_(d50204b9d91b7bd1).snap index 6225e86e03..3831ad8e67 100644 --- a/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_bound_ty…_(d50204b9d91b7bd1).snap +++ b/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_bound_ty…_(d50204b9d91b7bd1).snap @@ -82,7 +82,7 @@ info: Type variable defined here 2 | from typing_extensions import reveal_type 3 | 4 | T = TypeVar("T", bound=int) - | ^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | 6 | def f(x: T) -> T: | diff --git a/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_constrai…_(48ab83f977c109b4).snap b/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_constrai…_(48ab83f977c109b4).snap index a965047627..f0223b5e64 100644 --- a/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_constrai…_(48ab83f977c109b4).snap +++ b/crates/ty_python_semantic/resources/mdtest/snapshots/functions.md_-_Generic_functions___L…_-_Inferring_a_constrai…_(48ab83f977c109b4).snap @@ -97,7 +97,7 @@ info: Type variable defined here 2 | from typing_extensions import reveal_type 3 | 4 | T = TypeVar("T", int, None) - | ^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | 6 | def f(x: T) -> T: | diff --git a/crates/ty_python_semantic/src/semantic_index/definition.rs b/crates/ty_python_semantic/src/semantic_index/definition.rs index 8b4a679a5c..2175012cd6 100644 --- a/crates/ty_python_semantic/src/semantic_index/definition.rs +++ b/crates/ty_python_semantic/src/semantic_index/definition.rs @@ -677,8 +677,20 @@ impl DefinitionKind<'_> { DefinitionKind::Class(class) => class.node(module).range(), DefinitionKind::TypeAlias(type_alias) => type_alias.node(module).range(), DefinitionKind::NamedExpression(named) => named.node(module).range(), - DefinitionKind::Assignment(assignment) => assignment.target.node(module).range(), - DefinitionKind::AnnotatedAssignment(assign) => assign.target.node(module).range(), + DefinitionKind::Assignment(assign) => { + let target_range = assign.target.node(module).range(); + let value_range = assign.value.node(module).range(); + target_range.cover(value_range) + } + DefinitionKind::AnnotatedAssignment(assign) => { + let target_range = assign.target.node(module).range(); + if let Some(ref value) = assign.value { + let value_range = value.node(module).range(); + target_range.cover(value_range) + } else { + target_range + } + } DefinitionKind::AugmentedAssignment(aug_assign) => aug_assign.node(module).range(), DefinitionKind::For(for_stmt) => for_stmt.target.node(module).range(), DefinitionKind::Comprehension(comp) => comp.target(module).range(),