From 1e8945baac3d6b4d8c61df52ffaabf7ecac40e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Thu, 20 Jun 2019 12:26:13 -0700 Subject: [PATCH 1/2] Account for associated type, const and static when using type argument When using a type argument from the enclosing scope in an associated type, const or static item provide a more targetted E0401 error, instead of blaming the "outer function" blindly. --- single-use-lifetime-on-debug-struct | Bin 0 -> 359064 bytes src/librustc_resolve/lib.rs | 78 ++++++++++++++++-- src/test/ui/bad/bad-type-env-capture.stderr | 2 +- .../const-param-from-outer-fn.stderr | 2 +- src/test/ui/error-codes/E0401.stderr | 4 +- src/test/ui/inner-static-type-parameter.rs | 2 +- .../ui/inner-static-type-parameter.stderr | 10 +-- src/test/ui/issues/issue-3021-c.stderr | 4 +- src/test/ui/issues/issue-3214.stderr | 2 +- src/test/ui/issues/issue-45447.rs | 10 +++ src/test/ui/issues/issue-45447.stderr | 34 ++++++++ src/test/ui/issues/issue-5997-enum.stderr | 2 +- src/test/ui/issues/issue-5997-struct.stderr | 2 +- src/test/ui/nested-ty-params.stderr | 4 +- ...resolve-type-param-in-item-in-trait.stderr | 8 +- src/test/ui/type/type-arg-out-of-scope.stderr | 4 +- 16 files changed, 140 insertions(+), 28 deletions(-) create mode 100755 single-use-lifetime-on-debug-struct create mode 100644 src/test/ui/issues/issue-45447.rs create mode 100644 src/test/ui/issues/issue-45447.stderr diff --git a/single-use-lifetime-on-debug-struct b/single-use-lifetime-on-debug-struct new file mode 100755 index 0000000000000000000000000000000000000000..9f7f9b559ad154382f07310df415080810088123 GIT binary patch literal 359064 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 { ConstParamDependentOnTypeParam, } +#[derive(Clone, Copy)] +enum CurrentScope { + Const, + Static, + Type, + Other, +} + +impl CurrentScope { + fn is_other(&self) -> bool { + match self { + CurrentScope::Other => true, + _ => false, + } + } + + fn description(&self) -> &'static str { + match self { + Self::Const => "`const` associated item", + Self::Static => "`static` associated item", + Self::Type => "associated type", + Self::Other => "outer function", + } + } + + fn generic_param_resolution_error_message(&self) -> String { + match self { + Self::Other => format!("from {}", self.description()), + _ => format!("in {}", self.description()), + } + } +} + /// Combines an error with provided span and emits it. /// /// This takes the error provided, combines it with the span and any additional spans inside the @@ -210,14 +243,21 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver<'_>, -> DiagnosticBuilder<'sess> { match resolution_error { ResolutionError::GenericParamsFromOuterFunction(outer_res) => { + let msg = resolver.scope.generic_param_resolution_error_message(); let mut err = struct_span_err!(resolver.session, span, E0401, - "can't use generic parameters from outer function", + "can't use generic parameters {}", + msg, ); - err.span_label(span, format!("use of generic parameter from outer function")); + err.span_label(span, &format!("use of generic parameter {}", msg)); let cm = resolver.session.source_map(); + let type_param_extra_msg = if resolver.scope.is_other() { + "from outer function " + } else { + "" + }; match outer_res { Res::SelfTy(maybe_trait_defid, maybe_impl_defid) => { if let Some(impl_span) = maybe_impl_defid.and_then(|def_id| { @@ -241,12 +281,18 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver<'_>, }, Res::Def(DefKind::TyParam, def_id) => { if let Some(span) = resolver.definitions.opt_span(def_id) { - err.span_label(span, "type parameter from outer function"); + err.span_label(span, format!( + "type parameter {}being used", + type_param_extra_msg, + )); } } Res::Def(DefKind::ConstParam, def_id) => { if let Some(span) = resolver.definitions.opt_span(def_id) { - err.span_label(span, "const parameter from outer function"); + err.span_label(span, format!( + "const parameter {}being used", + type_param_extra_msg, + )); } } _ => { @@ -258,7 +304,14 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver<'_>, // Try to retrieve the span of the function signature and generate a new message with // a local type or const parameter. let sugg_msg = &format!("try using a local generic parameter instead"); - if let Some((sugg_span, new_snippet)) = cm.generate_local_type_param_snippet(span) { + if !resolver.scope.is_other() { + err.help(&format!( + "{} need a type instead of a generic parameter", + resolver.scope.description(), + )); + } else if let Some( + (sugg_span, new_snippet), + ) = cm.generate_local_type_param_snippet(span) { // Suggest the modification to the user err.span_suggestion( sugg_span, @@ -267,6 +320,7 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver<'_>, Applicability::MachineApplicable, ); } else if let Some(sp) = cm.generate_fn_name_span(span) { + // FIXME: needs to use proper scope navigation to avoid errors like #45447 err.span_label(sp, format!("try adding a local generic parameter in this method instead")); } else { @@ -1688,6 +1742,9 @@ pub struct Resolver<'a> { current_type_ascription: Vec, injected_crate: Option>, + + /// Used for more accurate error when using type parameters in a associated items. + scope: CurrentScope, } /// Nothing really interesting here; it just provides memory for the rest of the crate. @@ -2013,6 +2070,7 @@ impl<'a> Resolver<'a> { unused_macros: FxHashSet::default(), current_type_ascription: Vec::new(), injected_crate: None, + scope: CurrentScope::Other, } } @@ -2520,6 +2578,8 @@ impl<'a> Resolver<'a> { match item.node { ItemKind::Ty(_, ref generics) => { + let scope = self.scope; + self.scope = CurrentScope::Type; self.with_current_self_item(item, |this| { this.with_generic_param_rib(HasGenericParams(generics, ItemRibKind), |this| { let item_def_id = this.definitions.local_def_id(item.id); @@ -2528,6 +2588,7 @@ impl<'a> Resolver<'a> { }) }) }); + self.scope = scope; } ItemKind::Existential(_, ref generics) | @@ -2611,6 +2672,12 @@ impl<'a> Resolver<'a> { ItemKind::Static(ref ty, _, ref expr) | ItemKind::Const(ref ty, ref expr) => { + let scope = self.scope; + self.scope = match item.node { + ItemKind::Static(..) => CurrentScope::Static, + ItemKind::Const(..) => CurrentScope::Const, + _ => unreachable!(), + }; debug!("resolve_item ItemKind::Const"); self.with_item_rib(|this| { this.visit_ty(ty); @@ -2618,6 +2685,7 @@ impl<'a> Resolver<'a> { this.visit_expr(expr); }); }); + self.scope = scope; } ItemKind::Use(ref use_tree) => { diff --git a/src/test/ui/bad/bad-type-env-capture.stderr b/src/test/ui/bad/bad-type-env-capture.stderr index 6f24c0d86997e..f22b5a93194bc 100644 --- a/src/test/ui/bad/bad-type-env-capture.stderr +++ b/src/test/ui/bad/bad-type-env-capture.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/bad-type-env-capture.rs:2:15 | LL | fn foo() { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn bar(b: T) { } | --- ^ use of generic parameter from outer function | | diff --git a/src/test/ui/const-generics/const-param-from-outer-fn.stderr b/src/test/ui/const-generics/const-param-from-outer-fn.stderr index f0b7562f62196..bd2483bba078b 100644 --- a/src/test/ui/const-generics/const-param-from-outer-fn.stderr +++ b/src/test/ui/const-generics/const-param-from-outer-fn.stderr @@ -8,7 +8,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/const-param-from-outer-fn.rs:6:9 | LL | fn foo() { - | - const parameter from outer function + | - const parameter from outer function being used LL | fn bar() -> u32 { | --- try adding a local generic parameter in this method instead LL | X diff --git a/src/test/ui/error-codes/E0401.stderr b/src/test/ui/error-codes/E0401.stderr index 1d9dfe46722ec..53506fb587a42 100644 --- a/src/test/ui/error-codes/E0401.stderr +++ b/src/test/ui/error-codes/E0401.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/E0401.rs:4:39 | LL | fn foo(x: T) { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn bfnr, W: Fn()>(y: T) { | --------------------------- ^ use of generic parameter from outer function | | @@ -12,7 +12,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/E0401.rs:9:16 | LL | fn foo(x: T) { - | - type parameter from outer function + | - type parameter from outer function being used ... LL | fn baz { What } //~ ERROR parameter `T` is never used fn foo() { static a: Bar = Bar::What; -//~^ ERROR can't use generic parameters from outer function + //~^ ERROR can't use generic parameters in `static` associated item } fn main() { diff --git a/src/test/ui/inner-static-type-parameter.stderr b/src/test/ui/inner-static-type-parameter.stderr index 083b4b67eb459..47020bfd1a81f 100644 --- a/src/test/ui/inner-static-type-parameter.stderr +++ b/src/test/ui/inner-static-type-parameter.stderr @@ -1,12 +1,12 @@ -error[E0401]: can't use generic parameters from outer function +error[E0401]: can't use generic parameters in `static` associated item --> $DIR/inner-static-type-parameter.rs:6:19 | LL | fn foo() { - | --- - type parameter from outer function - | | - | try adding a local generic parameter in this method instead + | - type parameter being used LL | static a: Bar = Bar::What; - | ^ use of generic parameter from outer function + | ^ use of generic parameter in `static` associated item + | + = help: `static` associated item need a type instead of a generic parameter error[E0392]: parameter `T` is never used --> $DIR/inner-static-type-parameter.rs:3:10 diff --git a/src/test/ui/issues/issue-3021-c.stderr b/src/test/ui/issues/issue-3021-c.stderr index 8764ac8a8563c..1078d80f8615e 100644 --- a/src/test/ui/issues/issue-3021-c.stderr +++ b/src/test/ui/issues/issue-3021-c.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/issue-3021-c.rs:4:24 | LL | fn siphash() { - | - type parameter from outer function + | - type parameter from outer function being used ... LL | fn g(&self, x: T) -> T; | - ^ use of generic parameter from outer function @@ -13,7 +13,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/issue-3021-c.rs:4:30 | LL | fn siphash() { - | - type parameter from outer function + | - type parameter from outer function being used ... LL | fn g(&self, x: T) -> T; | - ^ use of generic parameter from outer function diff --git a/src/test/ui/issues/issue-3214.stderr b/src/test/ui/issues/issue-3214.stderr index 02c8da10bb4a3..c6410e789e353 100644 --- a/src/test/ui/issues/issue-3214.stderr +++ b/src/test/ui/issues/issue-3214.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/issue-3214.rs:3:12 | LL | fn foo() { - | --- - type parameter from outer function + | --- - type parameter from outer function being used | | | try adding a local generic parameter in this method instead LL | struct Foo { diff --git a/src/test/ui/issues/issue-45447.rs b/src/test/ui/issues/issue-45447.rs new file mode 100644 index 0000000000000..5111591e91884 --- /dev/null +++ b/src/test/ui/issues/issue-45447.rs @@ -0,0 +1,10 @@ +trait Foo { const FOO: Self; } +impl Foo for u32 { const FOO: Self = 1; } +fn bar(n: T) { + const BASE: T = T::FOO; + //~^ ERROR can't use generic parameters in `const` associated item + //~| ERROR can't use generic parameters in `const` associated item + type Type = T; + //~^ ERROR can't use generic parameters in associated type +} +fn main() {} diff --git a/src/test/ui/issues/issue-45447.stderr b/src/test/ui/issues/issue-45447.stderr new file mode 100644 index 0000000000000..2d9d364bea6b0 --- /dev/null +++ b/src/test/ui/issues/issue-45447.stderr @@ -0,0 +1,34 @@ +error[E0401]: can't use generic parameters in `const` associated item + --> $DIR/issue-45447.rs:4:17 + | +LL | fn bar(n: T) { + | - type parameter being used +LL | const BASE: T = T::FOO; + | ^ use of generic parameter in `const` associated item + | + = help: `const` associated item need a type instead of a generic parameter + +error[E0401]: can't use generic parameters in `const` associated item + --> $DIR/issue-45447.rs:4:21 + | +LL | fn bar(n: T) { + | - type parameter being used +LL | const BASE: T = T::FOO; + | ^^^^^^ use of generic parameter in `const` associated item + | + = help: `const` associated item need a type instead of a generic parameter + +error[E0401]: can't use generic parameters in associated type + --> $DIR/issue-45447.rs:7:17 + | +LL | fn bar(n: T) { + | - type parameter being used +... +LL | type Type = T; + | ^ use of generic parameter in associated type + | + = help: associated type need a type instead of a generic parameter + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0401`. diff --git a/src/test/ui/issues/issue-5997-enum.stderr b/src/test/ui/issues/issue-5997-enum.stderr index 1c58b9c391104..d0d3096795985 100644 --- a/src/test/ui/issues/issue-5997-enum.stderr +++ b/src/test/ui/issues/issue-5997-enum.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/issue-5997-enum.rs:2:16 | LL | fn f() -> bool { - | - - type parameter from outer function + | - - type parameter from outer function being used | | | try adding a local generic parameter in this method instead LL | enum E { V(Z) } diff --git a/src/test/ui/issues/issue-5997-struct.stderr b/src/test/ui/issues/issue-5997-struct.stderr index 5b388d16d7553..16ffd51a874b1 100644 --- a/src/test/ui/issues/issue-5997-struct.stderr +++ b/src/test/ui/issues/issue-5997-struct.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/issue-5997-struct.rs:2:14 | LL | fn f() -> bool { - | - - type parameter from outer function + | - - type parameter from outer function being used | | | try adding a local generic parameter in this method instead LL | struct S(T); diff --git a/src/test/ui/nested-ty-params.stderr b/src/test/ui/nested-ty-params.stderr index f6741b5e5e82a..58f87451aece4 100644 --- a/src/test/ui/nested-ty-params.stderr +++ b/src/test/ui/nested-ty-params.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/nested-ty-params.rs:3:16 | LL | fn hd(v: Vec ) -> U { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn hd1(w: [U]) -> U { return w[0]; } | --- ^ use of generic parameter from outer function | | @@ -12,7 +12,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/nested-ty-params.rs:3:23 | LL | fn hd(v: Vec ) -> U { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn hd1(w: [U]) -> U { return w[0]; } | --- ^ use of generic parameter from outer function | | diff --git a/src/test/ui/resolve/resolve-type-param-in-item-in-trait.stderr b/src/test/ui/resolve/resolve-type-param-in-item-in-trait.stderr index 10a703ee09351..89c7b401f7f63 100644 --- a/src/test/ui/resolve/resolve-type-param-in-item-in-trait.stderr +++ b/src/test/ui/resolve/resolve-type-param-in-item-in-trait.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/resolve-type-param-in-item-in-trait.rs:8:22 | LL | trait TraitA { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn outer(&self) { | ----- try adding a local generic parameter in this method instead LL | enum Foo { @@ -13,7 +13,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/resolve-type-param-in-item-in-trait.rs:16:23 | LL | trait TraitB { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn outer(&self) { | ----- try adding a local generic parameter in this method instead LL | struct Foo(A); @@ -23,7 +23,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/resolve-type-param-in-item-in-trait.rs:23:28 | LL | trait TraitC { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn outer(&self) { | ----- try adding a local generic parameter in this method instead LL | struct Foo { a: A } @@ -33,7 +33,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/resolve-type-param-in-item-in-trait.rs:30:22 | LL | trait TraitD { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn outer(&self) { LL | fn foo(a: A) { } | ------ ^ use of generic parameter from outer function diff --git a/src/test/ui/type/type-arg-out-of-scope.stderr b/src/test/ui/type/type-arg-out-of-scope.stderr index 0b6283fbc51e9..4ce34c8063d03 100644 --- a/src/test/ui/type/type-arg-out-of-scope.stderr +++ b/src/test/ui/type/type-arg-out-of-scope.stderr @@ -2,7 +2,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/type-arg-out-of-scope.rs:3:29 | LL | fn foo(x: T) { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn bar(f: Box T>) { } | --- ^ use of generic parameter from outer function | | @@ -12,7 +12,7 @@ error[E0401]: can't use generic parameters from outer function --> $DIR/type-arg-out-of-scope.rs:3:35 | LL | fn foo(x: T) { - | - type parameter from outer function + | - type parameter from outer function being used LL | fn bar(f: Box T>) { } | --- ^ use of generic parameter from outer function | | From 7515e71fa733f01cbd8d836977c8695895345bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Sat, 6 Jul 2019 10:13:13 -0700 Subject: [PATCH 2/2] review comments --- src/librustc_resolve/diagnostics.rs | 33 +++++++++++++++++ src/librustc_resolve/lib.rs | 37 ++----------------- src/test/ui/inner-static-type-parameter.rs | 2 +- .../ui/inner-static-type-parameter.stderr | 6 +-- src/test/ui/issues/issue-45447.rs | 4 +- src/test/ui/issues/issue-45447.stderr | 12 +++--- 6 files changed, 48 insertions(+), 46 deletions(-) diff --git a/src/librustc_resolve/diagnostics.rs b/src/librustc_resolve/diagnostics.rs index e93a2315ca321..4bfd196a66e7f 100644 --- a/src/librustc_resolve/diagnostics.rs +++ b/src/librustc_resolve/diagnostics.rs @@ -18,6 +18,39 @@ use crate::{import_candidate_to_enum_paths, is_self_type, is_self_value, path_na use crate::{AssocSuggestion, CrateLint, ImportSuggestion, ModuleOrUniformRoot, PathResult, PathSource, Resolver, Segment, Suggestion}; +#[derive(Clone, Copy)] +crate enum CurrentScope { + Const, + Static, + Type, + Other, +} + +impl CurrentScope { + crate fn is_other(&self) -> bool { + match self { + CurrentScope::Other => true, + _ => false, + } + } + + crate fn description(&self) -> &'static str { + match self { + Self::Const => "a `const`", + Self::Static => "a `static`", + Self::Type => "associated type", + Self::Other => "outer function", + } + } + + crate fn generic_param_resolution_error_message(&self) -> String { + match self { + Self::Other => format!("from {}", self.description()), + _ => format!("in {}", self.description()), + } + } +} + impl<'a> Resolver<'a> { /// Handles error reporting for `smart_resolve_path_fragment` function. /// Creates base error and amends it with one short label and possibly some longer helps/notes. diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 1056bbb6130d2..fc2f160dd5981 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -70,7 +70,9 @@ use rustc_data_structures::ptr_key::PtrKey; use rustc_data_structures::sync::Lrc; use smallvec::SmallVec; -use diagnostics::{find_span_of_binding_until_next_binding, extend_span_to_previous_binding}; +use diagnostics::{ + find_span_of_binding_until_next_binding, extend_span_to_previous_binding, CurrentScope, +}; use resolve_imports::{ImportDirective, ImportDirectiveSubclass, NameResolution, ImportResolver}; use macros::{InvocationData, LegacyBinding, ParentScope}; @@ -194,39 +196,6 @@ enum ResolutionError<'a> { ConstParamDependentOnTypeParam, } -#[derive(Clone, Copy)] -enum CurrentScope { - Const, - Static, - Type, - Other, -} - -impl CurrentScope { - fn is_other(&self) -> bool { - match self { - CurrentScope::Other => true, - _ => false, - } - } - - fn description(&self) -> &'static str { - match self { - Self::Const => "`const` associated item", - Self::Static => "`static` associated item", - Self::Type => "associated type", - Self::Other => "outer function", - } - } - - fn generic_param_resolution_error_message(&self) -> String { - match self { - Self::Other => format!("from {}", self.description()), - _ => format!("in {}", self.description()), - } - } -} - /// Combines an error with provided span and emits it. /// /// This takes the error provided, combines it with the span and any additional spans inside the diff --git a/src/test/ui/inner-static-type-parameter.rs b/src/test/ui/inner-static-type-parameter.rs index 78c88464d3ff4..36e3c0883f64b 100644 --- a/src/test/ui/inner-static-type-parameter.rs +++ b/src/test/ui/inner-static-type-parameter.rs @@ -4,7 +4,7 @@ enum Bar { What } //~ ERROR parameter `T` is never used fn foo() { static a: Bar = Bar::What; - //~^ ERROR can't use generic parameters in `static` associated item + //~^ ERROR can't use generic parameters in a `static` } fn main() { diff --git a/src/test/ui/inner-static-type-parameter.stderr b/src/test/ui/inner-static-type-parameter.stderr index 47020bfd1a81f..0cd0d471037ae 100644 --- a/src/test/ui/inner-static-type-parameter.stderr +++ b/src/test/ui/inner-static-type-parameter.stderr @@ -1,12 +1,12 @@ -error[E0401]: can't use generic parameters in `static` associated item +error[E0401]: can't use generic parameters in a `static` --> $DIR/inner-static-type-parameter.rs:6:19 | LL | fn foo() { | - type parameter being used LL | static a: Bar = Bar::What; - | ^ use of generic parameter in `static` associated item + | ^ use of generic parameter in a `static` | - = help: `static` associated item need a type instead of a generic parameter + = help: a `static` need a type instead of a generic parameter error[E0392]: parameter `T` is never used --> $DIR/inner-static-type-parameter.rs:3:10 diff --git a/src/test/ui/issues/issue-45447.rs b/src/test/ui/issues/issue-45447.rs index 5111591e91884..02c0ce2cc64b0 100644 --- a/src/test/ui/issues/issue-45447.rs +++ b/src/test/ui/issues/issue-45447.rs @@ -2,8 +2,8 @@ trait Foo { const FOO: Self; } impl Foo for u32 { const FOO: Self = 1; } fn bar(n: T) { const BASE: T = T::FOO; - //~^ ERROR can't use generic parameters in `const` associated item - //~| ERROR can't use generic parameters in `const` associated item + //~^ ERROR can't use generic parameters in a `const` + //~| ERROR can't use generic parameters in a `const` type Type = T; //~^ ERROR can't use generic parameters in associated type } diff --git a/src/test/ui/issues/issue-45447.stderr b/src/test/ui/issues/issue-45447.stderr index 2d9d364bea6b0..d35e3729d0673 100644 --- a/src/test/ui/issues/issue-45447.stderr +++ b/src/test/ui/issues/issue-45447.stderr @@ -1,22 +1,22 @@ -error[E0401]: can't use generic parameters in `const` associated item +error[E0401]: can't use generic parameters in a `const` --> $DIR/issue-45447.rs:4:17 | LL | fn bar(n: T) { | - type parameter being used LL | const BASE: T = T::FOO; - | ^ use of generic parameter in `const` associated item + | ^ use of generic parameter in a `const` | - = help: `const` associated item need a type instead of a generic parameter + = help: a `const` need a type instead of a generic parameter -error[E0401]: can't use generic parameters in `const` associated item +error[E0401]: can't use generic parameters in a `const` --> $DIR/issue-45447.rs:4:21 | LL | fn bar(n: T) { | - type parameter being used LL | const BASE: T = T::FOO; - | ^^^^^^ use of generic parameter in `const` associated item + | ^^^^^^ use of generic parameter in a `const` | - = help: `const` associated item need a type instead of a generic parameter + = help: a `const` need a type instead of a generic parameter error[E0401]: can't use generic parameters in associated type --> $DIR/issue-45447.rs:7:17