From 48dde00f10d7438dfb3a3c4805fbdf6fa5aec1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 3 Nov 2025 02:13:34 +0000 Subject: [PATCH] Use more accurate span in `resolve_ident_in_lexical_scope` --- compiler/rustc_resolve/src/ident.rs | 2 +- .../associated-item/associated-item-duplicate-bounds.stderr | 2 +- tests/ui/delegation/target-expr.stderr | 2 +- tests/ui/generics/invalid-type-param-default.stderr | 2 +- ...eric-params-from-outer-item-in-const-item.default.stderr | 6 +++--- ...from-outer-item-in-const-item.generic_const_items.stderr | 6 +++--- tests/ui/resolve/issue-39559.stderr | 2 +- tests/ui/resolve/use-self-in-inner-fn.stderr | 4 ++-- tests/ui/type/pattern_types/assoc_const.default.stderr | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/compiler/rustc_resolve/src/ident.rs b/compiler/rustc_resolve/src/ident.rs index 864c3306929e..f3f0a74d03bc 100644 --- a/compiler/rustc_resolve/src/ident.rs +++ b/compiler/rustc_resolve/src/ident.rs @@ -326,7 +326,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> { i, rib_ident, *res, - finalize.map(|finalize| finalize.path_span), + finalize.map(|_| general_span), *original_rib_ident_def, ribs, diag_metadata, diff --git a/tests/ui/associated-item/associated-item-duplicate-bounds.stderr b/tests/ui/associated-item/associated-item-duplicate-bounds.stderr index 8898880586c9..9f8faf951940 100644 --- a/tests/ui/associated-item/associated-item-duplicate-bounds.stderr +++ b/tests/ui/associated-item/associated-item-duplicate-bounds.stderr @@ -2,7 +2,7 @@ error: generic parameters may not be used in const operations --> $DIR/associated-item-duplicate-bounds.rs:7:18 | LL | links: [u32; A::LINKS], // Shouldn't suggest bounds already there. - | ^^^^^^^^ cannot perform const operation using `A` + | ^ cannot perform const operation using `A` | = note: type parameters may not be used in const expressions = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions diff --git a/tests/ui/delegation/target-expr.stderr b/tests/ui/delegation/target-expr.stderr index edd1a584eab2..15af98c35067 100644 --- a/tests/ui/delegation/target-expr.stderr +++ b/tests/ui/delegation/target-expr.stderr @@ -7,7 +7,7 @@ LL | reuse Trait::static_method { | ------------- generic parameter used in this inner delegated function LL | LL | let _ = T::Default(); - | ^^^^^^^^^^ use of generic parameter from outer item + | ^ use of generic parameter from outer item error[E0434]: can't capture dynamic environment in a fn item --> $DIR/target-expr.rs:26:17 diff --git a/tests/ui/generics/invalid-type-param-default.stderr b/tests/ui/generics/invalid-type-param-default.stderr index 3bec7542ad00..bbae5ba1b1e1 100644 --- a/tests/ui/generics/invalid-type-param-default.stderr +++ b/tests/ui/generics/invalid-type-param-default.stderr @@ -2,7 +2,7 @@ error[E0128]: generic parameter defaults cannot reference parameters before they --> $DIR/invalid-type-param-default.rs:12:12 | LL | fn mdn(_: T) {} - | ^^^^^^^ cannot reference `T` before it is declared + | ^ cannot reference `T` before it is declared error: defaults for generic parameters are not allowed here --> $DIR/invalid-type-param-default.rs:7:8 diff --git a/tests/ui/resolve/generic-params-from-outer-item-in-const-item.default.stderr b/tests/ui/resolve/generic-params-from-outer-item-in-const-item.default.stderr index bc67e9dce4e3..290b7a2d1916 100644 --- a/tests/ui/resolve/generic-params-from-outer-item-in-const-item.default.stderr +++ b/tests/ui/resolve/generic-params-from-outer-item-in-const-item.default.stderr @@ -4,7 +4,7 @@ error[E0401]: can't use generic parameters from outer item LL | fn outer() { // outer function | - type parameter from outer item LL | const K: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | @@ -17,7 +17,7 @@ LL | impl Tr for T { // outer impl block | - type parameter from outer item LL | const C: u32 = { LL | const I: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | @@ -29,7 +29,7 @@ error[E0401]: can't use generic parameters from outer item LL | struct S(U32<{ // outer struct | - type parameter from outer item LL | const _: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | diff --git a/tests/ui/resolve/generic-params-from-outer-item-in-const-item.generic_const_items.stderr b/tests/ui/resolve/generic-params-from-outer-item-in-const-item.generic_const_items.stderr index 3959d117c7c9..713fe1158645 100644 --- a/tests/ui/resolve/generic-params-from-outer-item-in-const-item.generic_const_items.stderr +++ b/tests/ui/resolve/generic-params-from-outer-item-in-const-item.generic_const_items.stderr @@ -4,7 +4,7 @@ error[E0401]: can't use generic parameters from outer item LL | fn outer() { // outer function | - type parameter from outer item LL | const K: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | @@ -21,7 +21,7 @@ LL | impl Tr for T { // outer impl block | - type parameter from outer item LL | const C: u32 = { LL | const I: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | @@ -37,7 +37,7 @@ error[E0401]: can't use generic parameters from outer item LL | struct S(U32<{ // outer struct | - type parameter from outer item LL | const _: u32 = T::C; - | - ^^^^ use of generic parameter from outer item + | - ^ use of generic parameter from outer item | | | generic parameter used in this inner constant item | diff --git a/tests/ui/resolve/issue-39559.stderr b/tests/ui/resolve/issue-39559.stderr index 0aab54fe59d5..14c7a6a9f6ab 100644 --- a/tests/ui/resolve/issue-39559.stderr +++ b/tests/ui/resolve/issue-39559.stderr @@ -2,7 +2,7 @@ error: generic parameters may not be used in const operations --> $DIR/issue-39559.rs:14:18 | LL | entries: [T; D::dim()], - | ^^^^^^ cannot perform const operation using `D` + | ^ cannot perform const operation using `D` | = note: type parameters may not be used in const expressions = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions diff --git a/tests/ui/resolve/use-self-in-inner-fn.stderr b/tests/ui/resolve/use-self-in-inner-fn.stderr index 2266a31ebf04..668cd2413cea 100644 --- a/tests/ui/resolve/use-self-in-inner-fn.stderr +++ b/tests/ui/resolve/use-self-in-inner-fn.stderr @@ -25,12 +25,12 @@ LL | fn inner() { | ----- `Self` used in this inner function LL | LL | Self::do_something(move || {}); - | ^^^^^^^^^^^^^^^^^^ use of `Self` from outer item + | ^^^^ use of `Self` from outer item | help: refer to the type directly here instead | LL - Self::do_something(move || {}); -LL + MyEnum(move || {}); +LL + MyEnum::do_something(move || {}); | error: aborting due to 2 previous errors diff --git a/tests/ui/type/pattern_types/assoc_const.default.stderr b/tests/ui/type/pattern_types/assoc_const.default.stderr index 8cff0cee7b97..00d5ac6af26b 100644 --- a/tests/ui/type/pattern_types/assoc_const.default.stderr +++ b/tests/ui/type/pattern_types/assoc_const.default.stderr @@ -20,7 +20,7 @@ error: generic parameters may not be used in const operations --> $DIR/assoc_const.rs:20:40 | LL | fn bar(_: pattern_type!(u32 is T::START..=T::END)) {} - | ^^^^^^^^ cannot perform const operation using `T` + | ^ cannot perform const operation using `T` | = note: type parameters may not be used in const expressions = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions @@ -29,7 +29,7 @@ error: generic parameters may not be used in const operations --> $DIR/assoc_const.rs:20:51 | LL | fn bar(_: pattern_type!(u32 is T::START..=T::END)) {} - | ^^^^^^ cannot perform const operation using `T` + | ^ cannot perform const operation using `T` | = note: type parameters may not be used in const expressions = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions