diff options
| author | Avi Dessauer <avi.the.coder@gmail.com> | 2020-06-25 15:53:47 -0400 |
|---|---|---|
| committer | Jacob Hughes <j@jacobhughes.me> | 2020-09-22 21:54:13 -0400 |
| commit | a1892f1a798f8b0c24136d0be65fa4cc23e0ff74 (patch) | |
| tree | bca21c8dd0e01346df8c32e19ffb5558160fc7d2 | |
| parent | f665ccd3a2f5e58c6ac3828e34f5c8e94f71811c (diff) | |
| download | rust-a1892f1a798f8b0c24136d0be65fa4cc23e0ff74.tar.gz rust-a1892f1a798f8b0c24136d0be65fa4cc23e0ff74.zip | |
Test stability on default parameter of deprecated
3 files changed, 170 insertions, 1 deletions
diff --git a/src/test/ui/stability-attribute/auxiliary/unstable_generic_param.rs b/src/test/ui/stability-attribute/auxiliary/unstable_generic_param.rs index c38fb92905b..64d725e55ed 100644 --- a/src/test/ui/stability-attribute/auxiliary/unstable_generic_param.rs +++ b/src/test/ui/stability-attribute/auxiliary/unstable_generic_param.rs @@ -41,6 +41,20 @@ pub struct Struct3<A = isize, #[unstable(feature = "unstable_default", issue = " pub field2: B, } +#[rustc_deprecated(since = "1.1.0", reason = "test")] +#[stable(feature = "stable_test_feature", since = "1.0.0")] +pub struct Struct4<A = usize> { + #[stable(feature = "stable_test_feature", since = "1.0.0")] + pub field: A, +} + +#[rustc_deprecated(since = "1.1.0", reason = "test")] +#[stable(feature = "stable_test_feature", since = "1.0.0")] +pub struct Struct5<#[unstable(feature = "unstable_default", issue = "none")] A = usize> { + #[stable(feature = "stable_test_feature", since = "1.0.0")] + pub field: A, +} + #[stable(feature = "stable_test_feature", since = "1.0.0")] pub const STRUCT1: Struct1 = Struct1 { field: 1 }; @@ -49,3 +63,9 @@ pub const STRUCT2: Struct2 = Struct2 { field: 1 }; #[stable(feature = "stable_test_feature", since = "1.0.0")] pub const STRUCT3: Struct3 = Struct3 { field1: 1, field2: 2 }; + +#[stable(feature = "stable_test_feature", since = "1.0.0")] +pub const STRUCT4: Struct4 = Struct4 { field: 1 }; + +#[stable(feature = "stable_test_feature", since = "1.0.0")] +pub const STRUCT5: Struct5 = Struct5 { field: 1 }; diff --git a/src/test/ui/stability-attribute/generics-default-stability.rs b/src/test/ui/stability-attribute/generics-default-stability.rs index 063058c0f53..de178eee1d7 100644 --- a/src/test/ui/stability-attribute/generics-default-stability.rs +++ b/src/test/ui/stability-attribute/generics-default-stability.rs @@ -76,4 +76,31 @@ fn main() { let _: Struct3<usize> = Struct3 { field1: 0, field2: 0 }; // ok let _ = STRUCT3.field2 + 1; // ok let _ = STRUCT3.field2 + 1usize; // ok + + let _ = STRUCT4; + let _: Struct4<isize> = Struct4 { field: 1 }; + //~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + //~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + //~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated] + let _ = STRUCT4; + let _: Struct4 = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + let _: Struct4<usize> = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + let _: Struct4<isize> = Struct4 { field: 0 }; + //~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + //~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated] + //~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated] + + let _ = STRUCT5; + let _: Struct5<isize> = Struct5 { field: 1 }; //~ ERROR use of unstable library feature 'unstable_default' + //~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + //~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + //~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated] + let _ = STRUCT5; + let _: Struct5 = STRUCT5; //~ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + let _: Struct5<usize> = STRUCT5; //~ ERROR use of unstable library feature 'unstable_default' + //~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + let _: Struct5<isize> = Struct5 { field: 0 }; //~ ERROR use of unstable library feature 'unstable_default' + //~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + //~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated] + //~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated] } diff --git a/src/test/ui/stability-attribute/generics-default-stability.stderr b/src/test/ui/stability-attribute/generics-default-stability.stderr index eadcd2641d0..2bc98cc0095 100644 --- a/src/test/ui/stability-attribute/generics-default-stability.stderr +++ b/src/test/ui/stability-attribute/generics-default-stability.stderr @@ -22,6 +22,80 @@ LL | impl Trait2<usize> for S { | = help: add `#![feature(unstable_default)]` to the crate attributes to enable +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:81:29 + | +LL | let _: Struct4<isize> = Struct4 { field: 1 }; + | ^^^^^^^ + | + = note: `#[warn(deprecated)]` on by default + +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:81:12 + | +LL | let _: Struct4<isize> = Struct4 { field: 1 }; + | ^^^^^^^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:86:12 + | +LL | let _: Struct4 = STRUCT4; + | ^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:87:12 + | +LL | let _: Struct4<usize> = STRUCT4; + | ^^^^^^^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:88:29 + | +LL | let _: Struct4<isize> = Struct4 { field: 0 }; + | ^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct4': test + --> $DIR/generics-default-stability.rs:88:12 + | +LL | let _: Struct4<isize> = Struct4 { field: 0 }; + | ^^^^^^^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:94:29 + | +LL | let _: Struct5<isize> = Struct5 { field: 1 }; + | ^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:94:12 + | +LL | let _: Struct5<isize> = Struct5 { field: 1 }; + | ^^^^^^^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:99:12 + | +LL | let _: Struct5 = STRUCT5; + | ^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:100:12 + | +LL | let _: Struct5<usize> = STRUCT5; + | ^^^^^^^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:102:29 + | +LL | let _: Struct5<isize> = Struct5 { field: 0 }; + | ^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5': test + --> $DIR/generics-default-stability.rs:102:12 + | +LL | let _: Struct5<isize> = Struct5 { field: 0 }; + | ^^^^^^^^^^^^^^ + error[E0658]: use of unstable library feature 'unstable_default' --> $DIR/generics-default-stability.rs:35:20 | @@ -70,6 +144,54 @@ LL | let _: Struct3<usize, usize> = Struct3 { field1: 0, field2: 0 }; | = help: add `#![feature(unstable_default)]` to the crate attributes to enable -error: aborting due to 9 previous errors +error[E0658]: use of unstable library feature 'unstable_default' + --> $DIR/generics-default-stability.rs:94:20 + | +LL | let _: Struct5<isize> = Struct5 { field: 1 }; + | ^^^^^ + | + = help: add `#![feature(unstable_default)]` to the crate attributes to enable + +error[E0658]: use of unstable library feature 'unstable_default' + --> $DIR/generics-default-stability.rs:100:20 + | +LL | let _: Struct5<usize> = STRUCT5; + | ^^^^^ + | + = help: add `#![feature(unstable_default)]` to the crate attributes to enable + +error[E0658]: use of unstable library feature 'unstable_default' + --> $DIR/generics-default-stability.rs:102:20 + | +LL | let _: Struct5<isize> = Struct5 { field: 0 }; + | ^^^^^ + | + = help: add `#![feature(unstable_default)]` to the crate attributes to enable + +warning: use of deprecated item 'unstable_generic_param::Struct4::field': test + --> $DIR/generics-default-stability.rs:81:39 + | +LL | let _: Struct4<isize> = Struct4 { field: 1 }; + | ^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct4::field': test + --> $DIR/generics-default-stability.rs:88:39 + | +LL | let _: Struct4<isize> = Struct4 { field: 0 }; + | ^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5::field': test + --> $DIR/generics-default-stability.rs:94:39 + | +LL | let _: Struct5<isize> = Struct5 { field: 1 }; + | ^^^^^^^^ + +warning: use of deprecated item 'unstable_generic_param::Struct5::field': test + --> $DIR/generics-default-stability.rs:102:39 + | +LL | let _: Struct5<isize> = Struct5 { field: 0 }; + | ^^^^^^^^ + +error: aborting due to 12 previous errors; 16 warnings emitted For more information about this error, try `rustc --explain E0658`. |
