File tree Expand file tree Collapse file tree 4 files changed +45
-3
lines changed
compiler/rustc_resolve/src
src/test/ui/const-generics/defaults Expand file tree Collapse file tree 4 files changed +45
-3
lines changed Original file line number Diff line number Diff line change @@ -450,7 +450,7 @@ impl<'a> Resolver<'a> {
450450 err. span_label ( shadowed_binding_span, msg) ;
451451 err
452452 }
453- ResolutionError :: ForwardDeclaredTyParam => {
453+ ResolutionError :: ForwardDeclaredGenericParam => {
454454 let mut err = struct_span_err ! (
455455 self . session,
456456 span,
Original file line number Diff line number Diff line change @@ -242,7 +242,7 @@ enum ResolutionError<'a> {
242242 shadowed_binding_span : Span ,
243243 } ,
244244 /// Error E0128: generic parameters with a default cannot use forward-declared identifiers.
245- ForwardDeclaredTyParam , // FIXME(const_generics_defaults)
245+ ForwardDeclaredGenericParam ,
246246 /// ERROR E0770: the type of const parameters must not depend on other generic parameters.
247247 ParamInTyOfConstParam ( Symbol ) ,
248248 /// generic parameters must not be used inside const evaluations.
@@ -2608,7 +2608,7 @@ impl<'a> Resolver<'a> {
26082608 let res_error = if rib_ident. name == kw:: SelfUpper {
26092609 ResolutionError :: SelfInTyParamDefault
26102610 } else {
2611- ResolutionError :: ForwardDeclaredTyParam
2611+ ResolutionError :: ForwardDeclaredGenericParam
26122612 } ;
26132613 self . report_error ( span, res_error) ;
26142614 }
Original file line number Diff line number Diff line change 1+ #![ feature( const_generics_defaults) ]
2+
3+ struct Foo < const N : usize = M , const M : usize = 10 > ;
4+ //~^ ERROR generic parameters with a default cannot use forward declared identifiers
5+
6+ enum Bar < const N : usize = M , const M : usize = 10 > { }
7+ //~^ ERROR generic parameters with a default cannot use forward declared identifiers
8+
9+ struct Foo2 < const N : usize = N > ;
10+ //~^ ERROR generic parameters with a default cannot use forward declared identifiers
11+
12+ enum Bar2 < const N : usize = N > { }
13+ //~^ ERROR generic parameters with a default cannot use forward declared identifiers
14+
15+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0128]: generic parameters with a default cannot use forward declared identifiers
2+ --> $DIR/forward-declared.rs:3:29
3+ |
4+ LL | struct Foo<const N: usize = M, const M: usize = 10>;
5+ | ^ defaulted generic parameters cannot be forward declared
6+
7+ error[E0128]: generic parameters with a default cannot use forward declared identifiers
8+ --> $DIR/forward-declared.rs:6:27
9+ |
10+ LL | enum Bar<const N: usize = M, const M: usize = 10> {}
11+ | ^ defaulted generic parameters cannot be forward declared
12+
13+ error[E0128]: generic parameters with a default cannot use forward declared identifiers
14+ --> $DIR/forward-declared.rs:9:30
15+ |
16+ LL | struct Foo2<const N: usize = N>;
17+ | ^ defaulted generic parameters cannot be forward declared
18+
19+ error[E0128]: generic parameters with a default cannot use forward declared identifiers
20+ --> $DIR/forward-declared.rs:12:28
21+ |
22+ LL | enum Bar2<const N: usize = N> {}
23+ | ^ defaulted generic parameters cannot be forward declared
24+
25+ error: aborting due to 4 previous errors
26+
27+ For more information about this error, try `rustc --explain E0128`.
You can’t perform that action at this time.
0 commit comments