Skip to content

Commit 98eab09

Browse files
author
Jacob Hughes
committedSep 23, 2020
Add enum and type alias tests for generic default stability
1 parent 3f1b4b3 commit 98eab09

File tree

3 files changed

+540
-2
lines changed

3 files changed

+540
-2
lines changed
 

‎src/test/ui/stability-attribute/auxiliary/unstable_generic_param.rs

+106
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,112 @@ pub const STRUCT4: Struct4 = Struct4 { field: 1 };
7575
#[stable(feature = "stable_test_feature", since = "1.0.0")]
7676
pub const STRUCT5: Struct5 = Struct5 { field: 1 };
7777

78+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
79+
pub enum Enum1<#[unstable(feature = "unstable_default", issue = "none")] T = usize> {
80+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
81+
Some(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
82+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
83+
None,
84+
}
85+
86+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
87+
pub enum Enum2<T = usize> {
88+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
89+
Some(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
90+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
91+
None,
92+
}
93+
94+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
95+
pub enum Enum3<T = isize, #[unstable(feature = "unstable_default", issue = "none")] E = usize> {
96+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
97+
Ok(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
98+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
99+
Err(#[stable(feature = "stable_test_feature", since = "1.0.0")] E),
100+
}
101+
102+
#[rustc_deprecated(since = "1.1.0", reason = "test")]
103+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
104+
pub enum Enum4<T = usize> {
105+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
106+
Some(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
107+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
108+
None,
109+
}
110+
111+
#[rustc_deprecated(since = "1.1.0", reason = "test")]
112+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
113+
pub enum Enum5<#[unstable(feature = "unstable_default", issue = "none")] T = usize> {
114+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
115+
Some(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
116+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
117+
None,
118+
}
119+
120+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
121+
pub enum Enum6<#[unstable(feature = "unstable_default6", issue = "none")] T = usize> {
122+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
123+
Some(#[stable(feature = "stable_test_feature", since = "1.0.0")] T),
124+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
125+
None,
126+
}
127+
128+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
129+
pub const ENUM1: Enum1 = Enum1::Some(1);
130+
131+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
132+
pub const ENUM2: Enum2 = Enum2::Some(1);
133+
134+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
135+
pub const ENUM3: Enum3 = Enum3::Ok(1);
136+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
137+
pub const ENUM3B: Enum3 = Enum3::Err(1);
138+
139+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
140+
pub const ENUM4: Enum4 = Enum4::Some(1);
141+
142+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
143+
pub const ENUM5: Enum5 = Enum5::Some(1);
144+
145+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
146+
pub type Alias1<#[unstable(feature = "unstable_default", issue = "none")] T = usize> = Option<T>;
147+
148+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
149+
pub type Alias2<T = usize> = Option<T>;
150+
151+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
152+
pub type Alias3<T = isize, #[unstable(feature = "unstable_default", issue = "none")] E = usize> =
153+
Result<T, E>;
154+
155+
#[rustc_deprecated(since = "1.1.0", reason = "test")]
156+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
157+
pub type Alias4<T = usize> = Option<T>;
158+
159+
#[rustc_deprecated(since = "1.1.0", reason = "test")]
160+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
161+
pub type Alias5<#[unstable(feature = "unstable_default", issue = "none")] T = usize> = Option<T>;
162+
163+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
164+
pub type Alias6<#[unstable(feature = "unstable_default6", issue = "none")] T = usize> = Option<T>;
165+
166+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
167+
pub const ALIAS1: Alias1 = Alias1::Some(1);
168+
169+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
170+
pub const ALIAS2: Alias2 = Alias2::Some(1);
171+
172+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
173+
pub const ALIAS3: Alias3 = Alias3::Ok(1);
174+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
175+
pub const ALIAS3B: Alias3 = Alias3::Err(1);
176+
177+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
178+
pub const ALIAS4: Alias4 = Alias4::Some(1);
179+
180+
#[stable(feature = "stable_test_feature", since = "1.0.0")]
181+
pub const ALIAS5: Alias5 = Alias5::Some(1);
182+
183+
78184
#[stable(feature = "stable_test_feature", since = "1.0.0")]
79185
pub trait Alloc {}
80186

‎src/test/ui/stability-attribute/generics-default-stability.rs

+144
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,150 @@ fn main() {
110110
let _: Struct6<isize> = Struct6 { field: 1 }; // ok
111111
let _: Struct6<isize> = Struct6 { field: 0 }; // ok
112112

113+
let _: Alias1<isize> = Alias1::Some(1); //~ ERROR use of unstable library feature 'unstable_default'
114+
115+
let _ = ALIAS1; // ok
116+
let _: Alias1 = ALIAS1; // ok
117+
let _: Alias1<usize> = ALIAS1; //~ ERROR use of unstable library feature 'unstable_default'
118+
let _: Alias1<isize> = Alias1::Some(0); //~ ERROR use of unstable library feature 'unstable_default'
119+
120+
// Instability is not enforced for generic type parameters used in public fields.
121+
// Note how the unstable type default `usize` leaks,
122+
// and can be used without the 'unstable_default' feature.
123+
let _ = Alias1::Some(1);
124+
let _ = Alias1::Some(());
125+
let _ = Alias1::Some(1isize);
126+
let _: Alias1 = Alias1::Some(1);
127+
let _: usize = ALIAS1.unwrap();
128+
let _ = ALIAS1.unwrap() + 1;
129+
let _ = ALIAS1.unwrap() + 1usize;
130+
131+
let _ = Alias2::Some(1); // ok
132+
let _: Alias2 = Alias2::Some(1); // ok
133+
let _: Alias2<usize> = Alias2::Some(1); // ok
134+
135+
let _ = ALIAS2;
136+
let _: Alias2 = ALIAS2; // ok
137+
let _: Alias2<usize> = ALIAS2; // ok
138+
let _: Alias2<isize> = Alias2::Some(0); // ok
139+
let _ = ALIAS2.unwrap(); // ok
140+
let _: usize = ALIAS2.unwrap(); // ok
141+
let _ = ALIAS2.unwrap() + 1; // ok
142+
let _ = ALIAS2.unwrap() + 1usize; // ok
143+
144+
let _ = ALIAS3;
145+
let _: Alias3 = ALIAS3; // ok
146+
let _: Alias3<isize, usize> = ALIAS3; //~ ERROR use of unstable library feature 'unstable_default'
147+
let _: Alias3<isize> = ALIAS3; // ok
148+
let _: Alias3<isize, isize> = Alias3::Ok(0); //~ ERROR use of unstable library feature 'unstable_default'
149+
let _: Alias3<usize, usize> = Alias3::Ok(0); //~ ERROR use of unstable library feature 'unstable_default'
150+
let _ = ALIAS3.unwrap(); // ok
151+
let _: isize = ALIAS3.unwrap(); // ok
152+
let _ = ALIAS3.unwrap() + 1; // ok
153+
// Note the aforementioned leak.
154+
let _: usize = ALIAS3B.unwrap_err(); // ok
155+
let _: Alias3<usize> = Alias3::Err(0); // ok
156+
let _ = ALIAS3B.unwrap_err() + 1; // ok
157+
let _ = ALIAS3B.unwrap_err() + 1usize; // ok
158+
159+
let _ = ALIAS4;
160+
let _: Alias4<isize> = Alias4::Some(1);
161+
//~^ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
162+
//~^^ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
163+
let _ = ALIAS4;
164+
let _: Alias4 = ALIAS4; //~ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
165+
let _: Alias4<usize> = ALIAS4; //~ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
166+
let _: Alias4<isize> = Alias4::Some(0);
167+
//~^ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
168+
//~^^ use of deprecated type alias `unstable_generic_param::Alias4`: test [deprecated]
169+
170+
let _ = ALIAS5;
171+
let _: Alias5<isize> = Alias5::Some(1); //~ ERROR use of unstable library feature 'unstable_default'
172+
//~^ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
173+
//~^^ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
174+
let _ = ALIAS5;
175+
let _: Alias5 = ALIAS5; //~ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
176+
let _: Alias5<usize> = ALIAS5; //~ ERROR use of unstable library feature 'unstable_default'
177+
//~^ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
178+
let _: Alias5<isize> = Alias5::Some(0); //~ ERROR use of unstable library feature 'unstable_default'
179+
//~^ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
180+
//~^^ use of deprecated type alias `unstable_generic_param::Alias5`: test [deprecated]
181+
182+
let _: Alias6<isize> = Alias6::Some(1); // ok
183+
let _: Alias6<isize> = Alias6::Some(0); // ok
184+
185+
let _: Enum1<isize> = Enum1::Some(1); //~ ERROR use of unstable library feature 'unstable_default'
186+
187+
let _ = ENUM1; // ok
188+
let _: Enum1 = ENUM1; // ok
189+
let _: Enum1<usize> = ENUM1; //~ ERROR use of unstable library feature 'unstable_default'
190+
let _: Enum1<isize> = Enum1::Some(0); //~ ERROR use of unstable library feature 'unstable_default'
191+
192+
// Instability is not enforced for generic type parameters used in public fields.
193+
// Note how the unstable type default `usize` leaks,
194+
// and can be used without the 'unstable_default' feature.
195+
let _ = Enum1::Some(1);
196+
let _ = Enum1::Some(());
197+
let _ = Enum1::Some(1isize);
198+
let _: Enum1 = Enum1::Some(1);
199+
if let Enum1::Some(x) = ENUM1 {let _: usize = x;}
200+
if let Enum1::Some(x) = ENUM1 {let _ = x + 1;}
201+
if let Enum1::Some(x) = ENUM1 {let _ = x + 1usize;}
202+
203+
let _ = Enum2::Some(1); // ok
204+
let _: Enum2 = Enum2::Some(1); // ok
205+
let _: Enum2<usize> = Enum2::Some(1); // ok
206+
207+
let _ = ENUM2;
208+
let _: Enum2 = ENUM2; // ok
209+
let _: Enum2<usize> = ENUM2; // ok
210+
let _: Enum2<isize> = Enum2::Some(0); // ok
211+
if let Enum2::Some(x) = ENUM2 {let _ = x;} // ok
212+
if let Enum2::Some(x) = ENUM2 {let _: usize = x;} // ok
213+
if let Enum2::Some(x) = ENUM2 {let _ = x + 1;} // ok
214+
if let Enum2::Some(x) = ENUM2 {let _ = x + 1usize;} // ok
215+
216+
let _ = ENUM3;
217+
let _: Enum3 = ENUM3; // ok
218+
let _: Enum3<isize, usize> = ENUM3; //~ ERROR use of unstable library feature 'unstable_default'
219+
let _: Enum3<isize> = ENUM3; // ok
220+
let _: Enum3<isize, isize> = Enum3::Ok(0); //~ ERROR use of unstable library feature 'unstable_default'
221+
let _: Enum3<usize, usize> = Enum3::Ok(0); //~ ERROR use of unstable library feature 'unstable_default'
222+
if let Enum3::Ok(x) = ENUM3 {let _ = x;} // ok
223+
if let Enum3::Ok(x) = ENUM3 {let _: isize = x;} // ok
224+
if let Enum3::Ok(x) = ENUM3 {let _ = x + 1;} // ok
225+
// Note the aforementioned leak.
226+
if let Enum3::Err(x) = ENUM3B {let _: usize = x;} // ok
227+
let _: Enum3<usize> = Enum3::Err(0); // ok
228+
if let Enum3::Err(x) = ENUM3B {let _ = x + 1;} // ok
229+
if let Enum3::Err(x) = ENUM3B {let _ = x + 1usize;} // ok
230+
231+
let _ = ENUM4;
232+
let _: Enum4<isize> = Enum4::Some(1);
233+
//~^ use of deprecated variant `unstable_generic_param::Enum4::Some`: test [deprecated]
234+
//~^^ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
235+
let _ = ENUM4;
236+
let _: Enum4 = ENUM4; //~ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
237+
let _: Enum4<usize> = ENUM4; //~ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
238+
let _: Enum4<isize> = Enum4::Some(0);
239+
//~^ use of deprecated variant `unstable_generic_param::Enum4::Some`: test [deprecated]
240+
//~^^ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
241+
242+
let _ = ENUM5;
243+
let _: Enum5<isize> = Enum5::Some(1); //~ ERROR use of unstable library feature 'unstable_default'
244+
//~^ use of deprecated variant `unstable_generic_param::Enum5::Some`: test [deprecated]
245+
//~^^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
246+
let _ = ENUM5;
247+
let _: Enum5 = ENUM5; //~ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
248+
let _: Enum5<usize> = ENUM5; //~ ERROR use of unstable library feature 'unstable_default'
249+
//~^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
250+
let _: Enum5<isize> = Enum5::Some(0); //~ ERROR use of unstable library feature 'unstable_default'
251+
//~^ use of deprecated variant `unstable_generic_param::Enum5::Some`: test [deprecated]
252+
//~^^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
253+
254+
let _: Enum6<isize> = Enum6::Some(1); // ok
255+
let _: Enum6<isize> = Enum6::Some(0); // ok
256+
113257
let _: Box1<isize, System> = Box1::new(1); //~ ERROR use of unstable library feature 'box_alloc_param'
114258
let _: Box1<isize> = Box1::new(1); // ok
115259

‎src/test/ui/stability-attribute/generics-default-stability.stderr

+290-2
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,150 @@ warning: use of deprecated struct `unstable_generic_param::Struct5`: test
9696
LL | let _: Struct5<isize> = Struct5 { field: 0 };
9797
| ^^^^^^^^^^^^^^
9898

99+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
100+
--> $DIR/generics-default-stability.rs:160:28
101+
|
102+
LL | let _: Alias4<isize> = Alias4::Some(1);
103+
| ^^^^^^^^^^^^
104+
105+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
106+
--> $DIR/generics-default-stability.rs:160:12
107+
|
108+
LL | let _: Alias4<isize> = Alias4::Some(1);
109+
| ^^^^^^^^^^^^^
110+
111+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
112+
--> $DIR/generics-default-stability.rs:164:12
113+
|
114+
LL | let _: Alias4 = ALIAS4;
115+
| ^^^^^^
116+
117+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
118+
--> $DIR/generics-default-stability.rs:165:12
119+
|
120+
LL | let _: Alias4<usize> = ALIAS4;
121+
| ^^^^^^^^^^^^^
122+
123+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
124+
--> $DIR/generics-default-stability.rs:166:28
125+
|
126+
LL | let _: Alias4<isize> = Alias4::Some(0);
127+
| ^^^^^^^^^^^^
128+
129+
warning: use of deprecated type alias `unstable_generic_param::Alias4`: test
130+
--> $DIR/generics-default-stability.rs:166:12
131+
|
132+
LL | let _: Alias4<isize> = Alias4::Some(0);
133+
| ^^^^^^^^^^^^^
134+
135+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
136+
--> $DIR/generics-default-stability.rs:171:28
137+
|
138+
LL | let _: Alias5<isize> = Alias5::Some(1);
139+
| ^^^^^^^^^^^^
140+
141+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
142+
--> $DIR/generics-default-stability.rs:171:12
143+
|
144+
LL | let _: Alias5<isize> = Alias5::Some(1);
145+
| ^^^^^^^^^^^^^
146+
147+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
148+
--> $DIR/generics-default-stability.rs:175:12
149+
|
150+
LL | let _: Alias5 = ALIAS5;
151+
| ^^^^^^
152+
153+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
154+
--> $DIR/generics-default-stability.rs:176:12
155+
|
156+
LL | let _: Alias5<usize> = ALIAS5;
157+
| ^^^^^^^^^^^^^
158+
159+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
160+
--> $DIR/generics-default-stability.rs:178:28
161+
|
162+
LL | let _: Alias5<isize> = Alias5::Some(0);
163+
| ^^^^^^^^^^^^
164+
165+
warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
166+
--> $DIR/generics-default-stability.rs:178:12
167+
|
168+
LL | let _: Alias5<isize> = Alias5::Some(0);
169+
| ^^^^^^^^^^^^^
170+
171+
warning: use of deprecated variant `unstable_generic_param::Enum4::Some`: test
172+
--> $DIR/generics-default-stability.rs:232:27
173+
|
174+
LL | let _: Enum4<isize> = Enum4::Some(1);
175+
| ^^^^^^^^^^^
176+
177+
warning: use of deprecated enum `unstable_generic_param::Enum4`: test
178+
--> $DIR/generics-default-stability.rs:232:12
179+
|
180+
LL | let _: Enum4<isize> = Enum4::Some(1);
181+
| ^^^^^^^^^^^^
182+
183+
warning: use of deprecated enum `unstable_generic_param::Enum4`: test
184+
--> $DIR/generics-default-stability.rs:236:12
185+
|
186+
LL | let _: Enum4 = ENUM4;
187+
| ^^^^^
188+
189+
warning: use of deprecated enum `unstable_generic_param::Enum4`: test
190+
--> $DIR/generics-default-stability.rs:237:12
191+
|
192+
LL | let _: Enum4<usize> = ENUM4;
193+
| ^^^^^^^^^^^^
194+
195+
warning: use of deprecated variant `unstable_generic_param::Enum4::Some`: test
196+
--> $DIR/generics-default-stability.rs:238:27
197+
|
198+
LL | let _: Enum4<isize> = Enum4::Some(0);
199+
| ^^^^^^^^^^^
200+
201+
warning: use of deprecated enum `unstable_generic_param::Enum4`: test
202+
--> $DIR/generics-default-stability.rs:238:12
203+
|
204+
LL | let _: Enum4<isize> = Enum4::Some(0);
205+
| ^^^^^^^^^^^^
206+
207+
warning: use of deprecated variant `unstable_generic_param::Enum5::Some`: test
208+
--> $DIR/generics-default-stability.rs:243:27
209+
|
210+
LL | let _: Enum5<isize> = Enum5::Some(1);
211+
| ^^^^^^^^^^^
212+
213+
warning: use of deprecated enum `unstable_generic_param::Enum5`: test
214+
--> $DIR/generics-default-stability.rs:243:12
215+
|
216+
LL | let _: Enum5<isize> = Enum5::Some(1);
217+
| ^^^^^^^^^^^^
218+
219+
warning: use of deprecated enum `unstable_generic_param::Enum5`: test
220+
--> $DIR/generics-default-stability.rs:247:12
221+
|
222+
LL | let _: Enum5 = ENUM5;
223+
| ^^^^^
224+
225+
warning: use of deprecated enum `unstable_generic_param::Enum5`: test
226+
--> $DIR/generics-default-stability.rs:248:12
227+
|
228+
LL | let _: Enum5<usize> = ENUM5;
229+
| ^^^^^^^^^^^^
230+
231+
warning: use of deprecated variant `unstable_generic_param::Enum5::Some`: test
232+
--> $DIR/generics-default-stability.rs:250:27
233+
|
234+
LL | let _: Enum5<isize> = Enum5::Some(0);
235+
| ^^^^^^^^^^^
236+
237+
warning: use of deprecated enum `unstable_generic_param::Enum5`: test
238+
--> $DIR/generics-default-stability.rs:250:12
239+
|
240+
LL | let _: Enum5<isize> = Enum5::Some(0);
241+
| ^^^^^^^^^^^^
242+
99243
error[E0658]: use of unstable library feature 'unstable_default'
100244
--> $DIR/generics-default-stability.rs:36:20
101245
|
@@ -168,8 +312,152 @@ LL | let _: Struct5<isize> = Struct5 { field: 0 };
168312
|
169313
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
170314

315+
error[E0658]: use of unstable library feature 'unstable_default'
316+
--> $DIR/generics-default-stability.rs:113:19
317+
|
318+
LL | let _: Alias1<isize> = Alias1::Some(1);
319+
| ^^^^^
320+
|
321+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
322+
323+
error[E0658]: use of unstable library feature 'unstable_default'
324+
--> $DIR/generics-default-stability.rs:117:19
325+
|
326+
LL | let _: Alias1<usize> = ALIAS1;
327+
| ^^^^^
328+
|
329+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
330+
331+
error[E0658]: use of unstable library feature 'unstable_default'
332+
--> $DIR/generics-default-stability.rs:118:19
333+
|
334+
LL | let _: Alias1<isize> = Alias1::Some(0);
335+
| ^^^^^
336+
|
337+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
338+
339+
error[E0658]: use of unstable library feature 'unstable_default'
340+
--> $DIR/generics-default-stability.rs:146:26
341+
|
342+
LL | let _: Alias3<isize, usize> = ALIAS3;
343+
| ^^^^^
344+
|
345+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
346+
347+
error[E0658]: use of unstable library feature 'unstable_default'
348+
--> $DIR/generics-default-stability.rs:148:26
349+
|
350+
LL | let _: Alias3<isize, isize> = Alias3::Ok(0);
351+
| ^^^^^
352+
|
353+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
354+
355+
error[E0658]: use of unstable library feature 'unstable_default'
356+
--> $DIR/generics-default-stability.rs:149:26
357+
|
358+
LL | let _: Alias3<usize, usize> = Alias3::Ok(0);
359+
| ^^^^^
360+
|
361+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
362+
363+
error[E0658]: use of unstable library feature 'unstable_default'
364+
--> $DIR/generics-default-stability.rs:171:19
365+
|
366+
LL | let _: Alias5<isize> = Alias5::Some(1);
367+
| ^^^^^
368+
|
369+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
370+
371+
error[E0658]: use of unstable library feature 'unstable_default'
372+
--> $DIR/generics-default-stability.rs:176:19
373+
|
374+
LL | let _: Alias5<usize> = ALIAS5;
375+
| ^^^^^
376+
|
377+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
378+
379+
error[E0658]: use of unstable library feature 'unstable_default'
380+
--> $DIR/generics-default-stability.rs:178:19
381+
|
382+
LL | let _: Alias5<isize> = Alias5::Some(0);
383+
| ^^^^^
384+
|
385+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
386+
387+
error[E0658]: use of unstable library feature 'unstable_default'
388+
--> $DIR/generics-default-stability.rs:185:18
389+
|
390+
LL | let _: Enum1<isize> = Enum1::Some(1);
391+
| ^^^^^
392+
|
393+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
394+
395+
error[E0658]: use of unstable library feature 'unstable_default'
396+
--> $DIR/generics-default-stability.rs:189:18
397+
|
398+
LL | let _: Enum1<usize> = ENUM1;
399+
| ^^^^^
400+
|
401+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
402+
403+
error[E0658]: use of unstable library feature 'unstable_default'
404+
--> $DIR/generics-default-stability.rs:190:18
405+
|
406+
LL | let _: Enum1<isize> = Enum1::Some(0);
407+
| ^^^^^
408+
|
409+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
410+
411+
error[E0658]: use of unstable library feature 'unstable_default'
412+
--> $DIR/generics-default-stability.rs:218:25
413+
|
414+
LL | let _: Enum3<isize, usize> = ENUM3;
415+
| ^^^^^
416+
|
417+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
418+
419+
error[E0658]: use of unstable library feature 'unstable_default'
420+
--> $DIR/generics-default-stability.rs:220:25
421+
|
422+
LL | let _: Enum3<isize, isize> = Enum3::Ok(0);
423+
| ^^^^^
424+
|
425+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
426+
427+
error[E0658]: use of unstable library feature 'unstable_default'
428+
--> $DIR/generics-default-stability.rs:221:25
429+
|
430+
LL | let _: Enum3<usize, usize> = Enum3::Ok(0);
431+
| ^^^^^
432+
|
433+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
434+
435+
error[E0658]: use of unstable library feature 'unstable_default'
436+
--> $DIR/generics-default-stability.rs:243:18
437+
|
438+
LL | let _: Enum5<isize> = Enum5::Some(1);
439+
| ^^^^^
440+
|
441+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
442+
443+
error[E0658]: use of unstable library feature 'unstable_default'
444+
--> $DIR/generics-default-stability.rs:248:18
445+
|
446+
LL | let _: Enum5<usize> = ENUM5;
447+
| ^^^^^
448+
|
449+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
450+
451+
error[E0658]: use of unstable library feature 'unstable_default'
452+
--> $DIR/generics-default-stability.rs:250:18
453+
|
454+
LL | let _: Enum5<isize> = Enum5::Some(0);
455+
| ^^^^^
456+
|
457+
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
458+
171459
error[E0658]: use of unstable library feature 'box_alloc_param'
172-
--> $DIR/generics-default-stability.rs:113:24
460+
--> $DIR/generics-default-stability.rs:257:24
173461
|
174462
LL | let _: Box1<isize, System> = Box1::new(1);
175463
| ^^^^^^
@@ -200,6 +488,6 @@ warning: use of deprecated field `unstable_generic_param::Struct5::field`: test
200488
LL | let _: Struct5<isize> = Struct5 { field: 0 };
201489
| ^^^^^^^^
202490

203-
error: aborting due to 13 previous errors; 16 warnings emitted
491+
error: aborting due to 31 previous errors; 40 warnings emitted
204492

205493
For more information about this error, try `rustc --explain E0658`.

0 commit comments

Comments
 (0)
Please sign in to comment.