diff options
| author | bors <bors@rust-lang.org> | 2021-07-16 16:23:15 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-07-16 16:23:15 +0000 |
| commit | c49895d9049f67e07e297ee487836a587f69690e (patch) | |
| tree | 020ffe701896a7e3f0f71c18e2746596e0194ece /src/test | |
| parent | 2119976c492894b72287f08865c71d63cff8d471 (diff) | |
| parent | f1ab6f93e6c25170b78ec21105ecbb6893080993 (diff) | |
| download | rust-c49895d9049f67e07e297ee487836a587f69690e.tar.gz rust-c49895d9049f67e07e297ee487836a587f69690e.zip | |
Auto merge of #84623 - jackh726:gats-incomplete, r=nikomatsakis
Make GATs no longer an incomplete feature Blocked on ~#84622~, ~#82272~, ~#76826~ r? `@nikomatsakis`
Diffstat (limited to 'src/test')
136 files changed, 195 insertions, 585 deletions
diff --git a/src/test/ui/generic-associated-types/collections-project-default.rs b/src/test/ui/generic-associated-types/collections-project-default.rs index 65541fc3ae6..0944bf110c1 100644 --- a/src/test/ui/generic-associated-types/collections-project-default.rs +++ b/src/test/ui/generic-associated-types/collections-project-default.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/collections-project-default.stderr b/src/test/ui/generic-associated-types/collections-project-default.stderr index ca02b2603ba..22fbc0271b4 100644 --- a/src/test/ui/generic-associated-types/collections-project-default.stderr +++ b/src/test/ui/generic-associated-types/collections-project-default.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/collections-project-default.rs:60:5 + --> $DIR/collections-project-default.rs:59:5 | LL | fn floatify_sibling<C>(ints: &C) -> <C as Collection<i32>>::Sibling<f32> | ------------------------------------ expected `<C as Collection<i32>>::Sibling<f32>` because of return type diff --git a/src/test/ui/generic-associated-types/collections.rs b/src/test/ui/generic-associated-types/collections.rs index 4e8f593c1fd..f14c6dac1b1 100644 --- a/src/test/ui/generic-associated-types/collections.rs +++ b/src/test/ui/generic-associated-types/collections.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs index ab33ef6f244..afde5f37634 100644 --- a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs +++ b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs @@ -1,6 +1,5 @@ // run-pass #![feature(generic_associated_types)] -#![allow(incomplete_features)] // This test unsures that with_opt_const_param returns the // def_id of the N param in the Foo::Assoc GAT. diff --git a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs index ba9a82ae721..51046be79b7 100644 --- a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs +++ b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs @@ -1,6 +1,5 @@ // run-pass #![feature(generic_associated_types)] -#![allow(incomplete_features)] // This test unsures that with_opt_const_param returns the // def_id of the N param in the Foo::Assoc GAT. diff --git a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs index 9da5334056a..457fe27b3ff 100644 --- a/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs +++ b/src/test/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs @@ -1,6 +1,5 @@ // run-pass #![feature(generic_associated_types)] -#![allow(incomplete_features)] // This test unsures that with_opt_const_param returns the // def_id of the N param in the Bar::Assoc GAT. diff --git a/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.rs b/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.rs index 36db3d1bb9e..e315ee84218 100644 --- a/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.rs +++ b/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.rs @@ -1,7 +1,6 @@ // Test that correct syntax is used in suggestion to constrain associated type #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete trait X { type Y<T>; diff --git a/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.stderr b/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.stderr index ecf559d9e94..ad02202dfc9 100644 --- a/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.stderr +++ b/src/test/ui/generic-associated-types/constraint-assoc-type-suggestion.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/constraint-assoc-type-suggestion.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0308]: mismatched types - --> $DIR/constraint-assoc-type-suggestion.rs:13:23 + --> $DIR/constraint-assoc-type-suggestion.rs:12:23 | LL | let b: Vec<i32> = a; | -------- ^ expected struct `Vec`, found associated type @@ -22,6 +13,6 @@ help: consider constraining the associated type `<T as X>::Y<i32>` to `Vec<i32>` LL | fn f<T: X<Y<i32> = Vec<i32>>>(a: T::Y<i32>) { | ^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/generic-associated-types/construct_with_other_type.rs b/src/test/ui/generic-associated-types/construct_with_other_type.rs index ff9d61658f4..9ae328cc48b 100644 --- a/src/test/ui/generic-associated-types/construct_with_other_type.rs +++ b/src/test/ui/generic-associated-types/construct_with_other_type.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] // check-pass diff --git a/src/test/ui/generic-associated-types/empty_generics.rs b/src/test/ui/generic-associated-types/empty_generics.rs index 6eb25a92f34..772b7f2b4e3 100644 --- a/src/test/ui/generic-associated-types/empty_generics.rs +++ b/src/test/ui/generic-associated-types/empty_generics.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Foo { diff --git a/src/test/ui/generic-associated-types/empty_generics.stderr b/src/test/ui/generic-associated-types/empty_generics.stderr index 1599d683ad6..ac22bfc0835 100644 --- a/src/test/ui/generic-associated-types/empty_generics.stderr +++ b/src/test/ui/generic-associated-types/empty_generics.stderr @@ -1,5 +1,5 @@ error: expected one of `#`, `>`, `const`, identifier, or lifetime, found `,` - --> $DIR/empty_generics.rs:5:14 + --> $DIR/empty_generics.rs:4:14 | LL | trait Foo { | - while parsing this item list starting here diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs index 2c543455b6e..f542a7f545e 100644 --- a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs +++ b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'x>; diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr index 1c7c107d783..ce9df46483d 100644 --- a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr +++ b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0261]: use of undeclared lifetime name `'x` - --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:9:35 + --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:8:35 | LL | fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {} | - ^^ undeclared lifetime @@ -18,12 +9,12 @@ LL | fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {} = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes error[E0582]: binding for associated type `Y` references lifetime `'a`, which does not appear in the trait input types - --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:9:33 + --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:8:33 | LL | fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {} | ^^^^^^^^^^^^^^^^^ -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors Some errors have detailed explanations: E0261, E0582. For more information about an error, try `rustc --explain E0261`. diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path.rs b/src/test/ui/generic-associated-types/gat-in-trait-path.rs index 6527eb47504..fb03a86e169 100644 --- a/src/test/ui/generic-associated-types/gat-in-trait-path.rs +++ b/src/test/ui/generic-associated-types/gat-in-trait-path.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete #![feature(associated_type_defaults)] trait Foo { diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path.stderr b/src/test/ui/generic-associated-types/gat-in-trait-path.stderr index 49dfce8b4bd..eb8e101a83d 100644 --- a/src/test/ui/generic-associated-types/gat-in-trait-path.stderr +++ b/src/test/ui/generic-associated-types/gat-in-trait-path.stderr @@ -1,27 +1,18 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-in-trait-path.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0038]: the trait `Foo` cannot be made into an object - --> $DIR/gat-in-trait-path.rs:22:13 + --> $DIR/gat-in-trait-path.rs:21:13 | LL | fn f(_arg : Box<dyn for<'a> Foo<A<'a> = &'a ()>>) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Foo` cannot be made into an object | = help: consider moving `A` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/gat-in-trait-path.rs:6:10 + --> $DIR/gat-in-trait-path.rs:5:10 | LL | trait Foo { | --- this trait cannot be made into an object... LL | type A<'a> where Self: 'a; | ^ ...because it contains the generic associated type `A` -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0038`. diff --git a/src/test/ui/generic-associated-types/gat-incomplete-warning.rs b/src/test/ui/generic-associated-types/gat-incomplete-warning.rs index 33593884de3..607ea175988 100644 --- a/src/test/ui/generic-associated-types/gat-incomplete-warning.rs +++ b/src/test/ui/generic-associated-types/gat-incomplete-warning.rs @@ -1,6 +1,5 @@ // run-pass #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete fn main() {} diff --git a/src/test/ui/generic-associated-types/gat-incomplete-warning.stderr b/src/test/ui/generic-associated-types/gat-incomplete-warning.stderr deleted file mode 100644 index 0215ff395df..00000000000 --- a/src/test/ui/generic-associated-types/gat-incomplete-warning.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-incomplete-warning.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs index cff5a21052f..246659a268a 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs +++ b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Foo { type F<'a>; diff --git a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr index e83af1d0c73..310f722e120 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr +++ b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr @@ -1,22 +1,13 @@ error[E0403]: the name `T1` is already used for a generic parameter in this item's generic parameters - --> $DIR/gat-trait-path-generic-type-arg.rs:11:12 + --> $DIR/gat-trait-path-generic-type-arg.rs:10:12 | LL | impl <T, T1> Foo for T { | -- first use of `T1` LL | type F<T1> = &[u8]; | ^^ already used -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-trait-path-generic-type-arg.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0106]: missing lifetime specifier - --> $DIR/gat-trait-path-generic-type-arg.rs:11:18 + --> $DIR/gat-trait-path-generic-type-arg.rs:10:18 | LL | type F<T1> = &[u8]; | ^ expected named lifetime parameter @@ -26,7 +17,7 @@ help: consider introducing a named lifetime parameter LL | type F<'a, T1> = &'a [u8]; | ^^^ ^^^ -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors Some errors have detailed explanations: E0106, E0403. For more information about an error, try `rustc --explain E0106`. diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs index 484790501b9..9864787f0aa 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs +++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr index 56b5551cd3f..9b63e8f3072 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr +++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr @@ -1,20 +1,11 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-trait-path-missing-lifetime.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0107]: missing generics for associated type `X::Y` - --> $DIR/gat-trait-path-missing-lifetime.rs:11:20 + --> $DIR/gat-trait-path-missing-lifetime.rs:10:20 | LL | fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> { | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 + --> $DIR/gat-trait-path-missing-lifetime.rs:4:8 | LL | type Y<'a>; | ^ -- @@ -24,13 +15,13 @@ LL | fn foo<'a, T1: X<Y<'a> = T1>>(t : T1) -> T1::Y<'a> { | ^^^^^ error[E0107]: missing generics for associated type `X::Y` - --> $DIR/gat-trait-path-missing-lifetime.rs:11:20 + --> $DIR/gat-trait-path-missing-lifetime.rs:10:20 | LL | fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> { | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 + --> $DIR/gat-trait-path-missing-lifetime.rs:4:8 | LL | type Y<'a>; | ^ -- @@ -39,6 +30,6 @@ help: add missing lifetime argument LL | fn foo<'a, T1: X<Y<'a> = T1>>(t : T1) -> T1::Y<'a> { | ^^^^^ -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs index b656382bced..48b4a4fc393 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs +++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr index 34554d38520..d6fba8b8e4c 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr +++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr @@ -1,26 +1,17 @@ error: lifetime in trait object type must be followed by `+` - --> $DIR/gat-trait-path-parenthesised-args.rs:8:29 + --> $DIR/gat-trait-path-parenthesised-args.rs:7:29 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^ error: parenthesized generic arguments cannot be used in associated type constraints - --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 + --> $DIR/gat-trait-path-parenthesised-args.rs:7:27 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^^^^ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/gat-trait-path-parenthesised-args.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - warning: trait objects without an explicit `dyn` are deprecated - --> $DIR/gat-trait-path-parenthesised-args.rs:8:29 + --> $DIR/gat-trait-path-parenthesised-args.rs:7:29 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^ help: use `dyn`: `dyn 'a` @@ -30,13 +21,13 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165> error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied - --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 + --> $DIR/gat-trait-path-parenthesised-args.rs:7:27 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 + --> $DIR/gat-trait-path-parenthesised-args.rs:4:8 | LL | type Y<'a>; | ^ -- @@ -46,7 +37,7 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a, 'a) = &'a ()>>) {} | ^^^ error[E0107]: this associated type takes 0 generic arguments but 1 generic argument was supplied - --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 + --> $DIR/gat-trait-path-parenthesised-args.rs:7:27 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^---- help: remove these generics @@ -54,11 +45,11 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | expected 0 generic arguments | note: associated type defined here, with 0 generic parameters - --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 + --> $DIR/gat-trait-path-parenthesised-args.rs:4:8 | LL | type Y<'a>; | ^ -error: aborting due to 4 previous errors; 2 warnings emitted +error: aborting due to 4 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/generic-associated-type-bounds.rs b/src/test/ui/generic-associated-types/generic-associated-type-bounds.rs index 8094450e5e1..5d3a3a89352 100644 --- a/src/test/ui/generic-associated-types/generic-associated-type-bounds.rs +++ b/src/test/ui/generic-associated-types/generic-associated-type-bounds.rs @@ -1,6 +1,5 @@ // run-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] pub trait X { diff --git a/src/test/ui/generic-associated-types/generic-associated-types-where.rs b/src/test/ui/generic-associated-types/generic-associated-types-where.rs index 27970b15a41..592ff939923 100644 --- a/src/test/ui/generic-associated-types/generic-associated-types-where.rs +++ b/src/test/ui/generic-associated-types/generic-associated-types-where.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] // Checking the interaction with this other feature diff --git a/src/test/ui/generic-associated-types/generic-associated-types-where.stderr b/src/test/ui/generic-associated-types/generic-associated-types-where.stderr index da8b625ea7f..d6526543822 100644 --- a/src/test/ui/generic-associated-types/generic-associated-types-where.stderr +++ b/src/test/ui/generic-associated-types/generic-associated-types-where.stderr @@ -1,5 +1,5 @@ error[E0277]: `T` doesn't implement `std::fmt::Display` - --> $DIR/generic-associated-types-where.rs:21:5 + --> $DIR/generic-associated-types-where.rs:20:5 | LL | type Assoc2<T> = Vec<T>; | ^^^^^^^^^^^^^^^^^^^^^^^^ `T` cannot be formatted with the default formatter @@ -11,7 +11,7 @@ LL | type Assoc2<T: std::fmt::Display> = Vec<T>; | ^^^^^^^^^^^^^^^^^^^ error[E0276]: impl has stricter requirements than trait - --> $DIR/generic-associated-types-where.rs:23:5 + --> $DIR/generic-associated-types-where.rs:22:5 | LL | type Assoc3<T>; | --------------- definition of `Assoc3` from trait diff --git a/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.rs b/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.rs index 4b4e59a5124..43058f7eb41 100644 --- a/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.rs +++ b/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] use std::ops::Deref; diff --git a/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.stderr b/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.stderr index f164c0d07a3..e87176e0fb2 100644 --- a/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.stderr +++ b/src/test/ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.stderr @@ -1,5 +1,5 @@ error[E0261]: use of undeclared lifetime name `'b` - --> $DIR/generic_associated_type_undeclared_lifetimes.rs:9:37 + --> $DIR/generic_associated_type_undeclared_lifetimes.rs:8:37 | LL | + Deref<Target = Self::Item<'b>>; | ^^ undeclared lifetime @@ -15,7 +15,7 @@ LL | type Iter<'b, 'a>: Iterator<Item = Self::Item<'a>> | ^^^ error[E0261]: use of undeclared lifetime name `'undeclared` - --> $DIR/generic_associated_type_undeclared_lifetimes.rs:12:41 + --> $DIR/generic_associated_type_undeclared_lifetimes.rs:11:41 | LL | fn iter<'a>(&'a self) -> Self::Iter<'undeclared>; | ^^^^^^^^^^^ undeclared lifetime diff --git a/src/test/ui/generic-associated-types/impl_bounds.rs b/src/test/ui/generic-associated-types/impl_bounds.rs index 50e1c50644e..01edad00a89 100644 --- a/src/test/ui/generic-associated-types/impl_bounds.rs +++ b/src/test/ui/generic-associated-types/impl_bounds.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/impl_bounds.stderr b/src/test/ui/generic-associated-types/impl_bounds.stderr index 58bcb13e68e..b80b7cf519b 100644 --- a/src/test/ui/generic-associated-types/impl_bounds.stderr +++ b/src/test/ui/generic-associated-types/impl_bounds.stderr @@ -1,5 +1,5 @@ error[E0310]: the parameter type `T` may not live long enough - --> $DIR/impl_bounds.rs:16:5 + --> $DIR/impl_bounds.rs:15:5 | LL | type A<'a> where Self: 'static = (&'a ()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -8,48 +8,48 @@ LL | type A<'a> where Self: 'static = (&'a ()); = note: ...so that the type `Fooy<T>` will meet its required lifetime bounds error[E0478]: lifetime bound not satisfied - --> $DIR/impl_bounds.rs:18:5 + --> $DIR/impl_bounds.rs:17:5 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | -note: lifetime parameter instantiated with the lifetime `'b` as defined on the associated item at 18:16 - --> $DIR/impl_bounds.rs:18:16 +note: lifetime parameter instantiated with the lifetime `'b` as defined on the associated item at 17:16 + --> $DIR/impl_bounds.rs:17:16 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^ -note: but lifetime parameter must outlive the lifetime `'a` as defined on the associated item at 18:12 - --> $DIR/impl_bounds.rs:18:12 +note: but lifetime parameter must outlive the lifetime `'a` as defined on the associated item at 17:12 + --> $DIR/impl_bounds.rs:17:12 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^ error[E0478]: lifetime bound not satisfied - --> $DIR/impl_bounds.rs:18:5 + --> $DIR/impl_bounds.rs:17:5 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | -note: lifetime parameter instantiated with the lifetime `'a` as defined on the associated item at 18:12 - --> $DIR/impl_bounds.rs:18:12 +note: lifetime parameter instantiated with the lifetime `'a` as defined on the associated item at 17:12 + --> $DIR/impl_bounds.rs:17:12 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^ -note: but lifetime parameter must outlive the lifetime `'b` as defined on the associated item at 18:16 - --> $DIR/impl_bounds.rs:18:16 +note: but lifetime parameter must outlive the lifetime `'b` as defined on the associated item at 17:16 + --> $DIR/impl_bounds.rs:17:16 | LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ()); | ^^ error[E0277]: the trait bound `T: Copy` is not satisfied - --> $DIR/impl_bounds.rs:21:5 + --> $DIR/impl_bounds.rs:20:5 | LL | type C where Self: Copy = String; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T` | = note: required because of the requirements on the impl of `Copy` for `Fooy<T>` note: the requirement `Fooy<T>: Copy` appears on the associated impl type `C` but not on the corresponding associated trait type - --> $DIR/impl_bounds.rs:8:5 + --> $DIR/impl_bounds.rs:7:5 | LL | trait Foo { | --- in this trait @@ -62,14 +62,14 @@ LL | impl<T: std::marker::Copy> Foo for Fooy<T> { | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied - --> $DIR/impl_bounds.rs:23:5 + --> $DIR/impl_bounds.rs:22:5 | LL | fn d() where Self: Copy {} | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T` | = note: required because of the requirements on the impl of `Copy` for `Fooy<T>` note: the requirement `Fooy<T>: Copy` appears on the impl method `d` but not on the corresponding trait method - --> $DIR/impl_bounds.rs:9:8 + --> $DIR/impl_bounds.rs:8:8 | LL | trait Foo { | --- in this trait diff --git a/src/test/ui/generic-associated-types/impl_bounds_ok.rs b/src/test/ui/generic-associated-types/impl_bounds_ok.rs index 98aa82aba83..08120b9670f 100644 --- a/src/test/ui/generic-associated-types/impl_bounds_ok.rs +++ b/src/test/ui/generic-associated-types/impl_bounds_ok.rs @@ -1,6 +1,5 @@ // check-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/issue-47206-where-clause.rs b/src/test/ui/generic-associated-types/issue-47206-where-clause.rs index de2b978460f..da5fca2a656 100644 --- a/src/test/ui/generic-associated-types/issue-47206-where-clause.rs +++ b/src/test/ui/generic-associated-types/issue-47206-where-clause.rs @@ -1,6 +1,5 @@ // Check that this program doesn't cause the compiler to error without output. -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Foo { diff --git a/src/test/ui/generic-associated-types/issue-47206-where-clause.stderr b/src/test/ui/generic-associated-types/issue-47206-where-clause.stderr index 439b8ab90c9..56677457726 100644 --- a/src/test/ui/generic-associated-types/issue-47206-where-clause.stderr +++ b/src/test/ui/generic-associated-types/issue-47206-where-clause.stderr @@ -1,5 +1,5 @@ error[E0276]: impl has stricter requirements than trait - --> $DIR/issue-47206-where-clause.rs:13:5 + --> $DIR/issue-47206-where-clause.rs:12:5 | LL | type Assoc3<T>; | --------------- definition of `Assoc3` from trait diff --git a/src/test/ui/generic-associated-types/issue-58694-parameter-out-of-range.rs b/src/test/ui/generic-associated-types/issue-58694-parameter-out-of-range.rs index 2298aa5b0b7..e87a76825c3 100644 --- a/src/test/ui/generic-associated-types/issue-58694-parameter-out-of-range.rs +++ b/src/test/ui/generic-associated-types/issue-58694-parameter-out-of-range.rs @@ -1,6 +1,5 @@ // check-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Cert { diff --git a/src/test/ui/generic-associated-types/issue-62326-parameter-out-of-range.rs b/src/test/ui/generic-associated-types/issue-62326-parameter-out-of-range.rs index 404be59a36d..d74d6d056d6 100644 --- a/src/test/ui/generic-associated-types/issue-62326-parameter-out-of-range.rs +++ b/src/test/ui/generic-associated-types/issue-62326-parameter-out-of-range.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] // check-pass diff --git a/src/test/ui/generic-associated-types/issue-67510-pass.rs b/src/test/ui/generic-associated-types/issue-67510-pass.rs index 6ee865072ae..99f0e84fa6d 100644 --- a/src/test/ui/generic-associated-types/issue-67510-pass.rs +++ b/src/test/ui/generic-associated-types/issue-67510-pass.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/issue-67510-pass.stderr b/src/test/ui/generic-associated-types/issue-67510-pass.stderr index 65998afa7f9..8cc9f2816a1 100644 --- a/src/test/ui/generic-associated-types/issue-67510-pass.stderr +++ b/src/test/ui/generic-associated-types/issue-67510-pass.stderr @@ -1,27 +1,18 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-67510-pass.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0038]: the trait `X` cannot be made into an object - --> $DIR/issue-67510-pass.rs:8:19 + --> $DIR/issue-67510-pass.rs:7:19 | LL | fn _func1<'a>(_x: Box<dyn X<Y<'a>=&'a ()>>) {} | ^^^^^^^^^^^^^^^^^^^^^^^^ `X` cannot be made into an object | = help: consider moving `Y` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-67510-pass.rs:5:10 + --> $DIR/issue-67510-pass.rs:4:10 | LL | trait X { | - this trait cannot be made into an object... LL | type Y<'a>; | ^ ...because it contains the generic associated type `Y` -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0038`. diff --git a/src/test/ui/generic-associated-types/issue-67510.rs b/src/test/ui/generic-associated-types/issue-67510.rs index 62b22089f91..e81a5b231a0 100644 --- a/src/test/ui/generic-associated-types/issue-67510.rs +++ b/src/test/ui/generic-associated-types/issue-67510.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/issue-67510.stderr b/src/test/ui/generic-associated-types/issue-67510.stderr index 12755c56974..8ed2854ed30 100644 --- a/src/test/ui/generic-associated-types/issue-67510.stderr +++ b/src/test/ui/generic-associated-types/issue-67510.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-67510.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0261]: use of undeclared lifetime name `'a` - --> $DIR/issue-67510.rs:8:21 + --> $DIR/issue-67510.rs:7:21 | LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {} | - ^^ undeclared lifetime @@ -18,7 +9,7 @@ LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {} = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes error[E0261]: use of undeclared lifetime name `'a` - --> $DIR/issue-67510.rs:8:26 + --> $DIR/issue-67510.rs:7:26 | LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {} | - ^^ undeclared lifetime @@ -27,6 +18,6 @@ LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {} | = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0261`. diff --git a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.rs b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.rs index 0020887eaea..617d985dce9 100644 --- a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.rs +++ b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.rs @@ -1,7 +1,6 @@ // Regression test for #68641 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait UnsafeCopy { type Item<'a>: Copy; diff --git a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr index c92800c3746..7ac1ccf0f37 100644 --- a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr +++ b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68641-check-gat-bounds.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: the trait bound `T: Copy` is not satisfied - --> $DIR/issue-68641-check-gat-bounds.rs:15:5 + --> $DIR/issue-68641-check-gat-bounds.rs:14:5 | LL | type Item<'a>: Copy; | ---- required by this bound in `UnsafeCopy::Item` @@ -21,6 +12,6 @@ help: consider restricting type parameter `T` LL | impl<T: std::marker::Copy> UnsafeCopy for T { | ^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.rs b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.rs index ff8d2ca05b2..def0ad18f23 100644 --- a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.rs +++ b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.rs @@ -1,7 +1,6 @@ // Regression test for #68642 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait Fun { type F<'a>: Fn() -> u32; diff --git a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr index e44547b10c1..4e609ca5484 100644 --- a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr +++ b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68642-broken-llvm-ir.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: expected a `Fn<()>` closure, found `T` - --> $DIR/issue-68642-broken-llvm-ir.rs:15:5 + --> $DIR/issue-68642-broken-llvm-ir.rs:14:5 | LL | type F<'a>: Fn() -> u32; | ----------- required by this bound in `Fun::F` @@ -22,6 +13,6 @@ help: consider restricting type parameter `T` LL | impl<T: std::ops::Fn<()>> Fun for T { | ^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/generic-associated-types/issue-68643-broken-mir.rs b/src/test/ui/generic-associated-types/issue-68643-broken-mir.rs index 2107804a8ba..9af065b5d26 100644 --- a/src/test/ui/generic-associated-types/issue-68643-broken-mir.rs +++ b/src/test/ui/generic-associated-types/issue-68643-broken-mir.rs @@ -1,7 +1,6 @@ // Regression test for #68643 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait Fun { type F<'a>: Fn() -> u32; diff --git a/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr b/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr index fd0b4733d93..44600bfcf96 100644 --- a/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr +++ b/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68643-broken-mir.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: expected a `Fn<()>` closure, found `T` - --> $DIR/issue-68643-broken-mir.rs:15:5 + --> $DIR/issue-68643-broken-mir.rs:14:5 | LL | type F<'a>: Fn() -> u32; | ----------- required by this bound in `Fun::F` @@ -22,6 +13,6 @@ help: consider restricting type parameter `T` LL | impl<T: std::ops::Fn<()>> Fun for T { | ^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.rs b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.rs index bfe63b1be71..1d2636c260d 100644 --- a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.rs +++ b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.rs @@ -1,7 +1,6 @@ // Regression test for #68644 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait Fun { type F<'a>: Fn() -> u32; diff --git a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr index 0c23c870f01..2c21795e161 100644 --- a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr +++ b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68644-codegen-selection.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: expected a `Fn<()>` closure, found `T` - --> $DIR/issue-68644-codegen-selection.rs:15:5 + --> $DIR/issue-68644-codegen-selection.rs:14:5 | LL | type F<'a>: Fn() -> u32; | ----------- required by this bound in `Fun::F` @@ -22,6 +13,6 @@ help: consider restricting type parameter `T` LL | impl<T: std::ops::Fn<()>> Fun for T { | ^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.rs b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.rs index 676dcf90238..aa505064f8c 100644 --- a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.rs +++ b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.rs @@ -1,7 +1,6 @@ // Regression test for #68645 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait Fun { type F<'a>: Fn() -> u32; diff --git a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr index 85d8d3f8e93..b2a2636d3eb 100644 --- a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr +++ b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68645-codegen-fulfillment.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: expected a `Fn<()>` closure, found `T` - --> $DIR/issue-68645-codegen-fulfillment.rs:15:5 + --> $DIR/issue-68645-codegen-fulfillment.rs:14:5 | LL | type F<'a>: Fn() -> u32; | ----------- required by this bound in `Fun::F` @@ -22,6 +13,6 @@ help: consider restricting type parameter `T` LL | impl<T: std::ops::Fn<()>> Fun for T { | ^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/generic-associated-types/issue-68648-1.rs b/src/test/ui/generic-associated-types/issue-68648-1.rs index f294b22f73c..17bc034b395 100644 --- a/src/test/ui/generic-associated-types/issue-68648-1.rs +++ b/src/test/ui/generic-associated-types/issue-68648-1.rs @@ -1,7 +1,6 @@ // check-pass #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Fun { diff --git a/src/test/ui/generic-associated-types/issue-68648-1.stderr b/src/test/ui/generic-associated-types/issue-68648-1.stderr deleted file mode 100644 index 322a8f9e13f..00000000000 --- a/src/test/ui/generic-associated-types/issue-68648-1.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68648-1.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/generic-associated-types/issue-68648-2.rs b/src/test/ui/generic-associated-types/issue-68648-2.rs index e55bfcd4ba2..6c9a0d126a7 100644 --- a/src/test/ui/generic-associated-types/issue-68648-2.rs +++ b/src/test/ui/generic-associated-types/issue-68648-2.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Fun { type F<'a>; diff --git a/src/test/ui/generic-associated-types/issue-68648-2.stderr b/src/test/ui/generic-associated-types/issue-68648-2.stderr index b51e0bca9f7..7a7d5a6c231 100644 --- a/src/test/ui/generic-associated-types/issue-68648-2.stderr +++ b/src/test/ui/generic-associated-types/issue-68648-2.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68648-2.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0308]: mismatched types - --> $DIR/issue-68648-2.rs:15:17 + --> $DIR/issue-68648-2.rs:14:17 | LL | fn bug<'a, T: Fun<F<'a> = T>>(t: T) -> T::F<'a> { | - this type parameter @@ -18,6 +9,6 @@ LL | T::identity(()) = note: expected type parameter `T` found unit type `()` -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/generic-associated-types/issue-68649-pass.rs b/src/test/ui/generic-associated-types/issue-68649-pass.rs index 396315302f7..33f08faff56 100644 --- a/src/test/ui/generic-associated-types/issue-68649-pass.rs +++ b/src/test/ui/generic-associated-types/issue-68649-pass.rs @@ -1,7 +1,6 @@ // check-pass #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Fun { type F<'a>; diff --git a/src/test/ui/generic-associated-types/issue-68649-pass.stderr b/src/test/ui/generic-associated-types/issue-68649-pass.stderr deleted file mode 100644 index e4a2f8d2a64..00000000000 --- a/src/test/ui/generic-associated-types/issue-68649-pass.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68649-pass.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/generic-associated-types/issue-68653.rs b/src/test/ui/generic-associated-types/issue-68653.rs index 01f4c95639d..1e84717e925 100644 --- a/src/test/ui/generic-associated-types/issue-68653.rs +++ b/src/test/ui/generic-associated-types/issue-68653.rs @@ -2,7 +2,6 @@ // check-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Fun { diff --git a/src/test/ui/generic-associated-types/issue-68656-unsized-values.rs b/src/test/ui/generic-associated-types/issue-68656-unsized-values.rs index f682bdd8ac7..c0d93336256 100644 --- a/src/test/ui/generic-associated-types/issue-68656-unsized-values.rs +++ b/src/test/ui/generic-associated-types/issue-68656-unsized-values.rs @@ -1,7 +1,6 @@ // Regression test for #68656 #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete and may not trait UnsafeCopy<T: Copy> { type Item<'a>: std::ops::Deref<Target = T>; diff --git a/src/test/ui/generic-associated-types/issue-68656-unsized-values.stderr b/src/test/ui/generic-associated-types/issue-68656-unsized-values.stderr index c4ee2c4e618..9d90d6f608f 100644 --- a/src/test/ui/generic-associated-types/issue-68656-unsized-values.stderr +++ b/src/test/ui/generic-associated-types/issue-68656-unsized-values.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68656-unsized-values.rs:3:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0271]: type mismatch resolving `<T as Deref>::Target == T` - --> $DIR/issue-68656-unsized-values.rs:16:5 + --> $DIR/issue-68656-unsized-values.rs:15:5 | LL | type Item<'a>: std::ops::Deref<Target = T>; | ---------- required by this bound in `UnsafeCopy::Item` @@ -25,6 +16,6 @@ help: consider further restricting this bound LL | impl<T: Copy + std::ops::Deref + Deref<Target = T>> UnsafeCopy<T> for T { | ^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0271`. diff --git a/src/test/ui/generic-associated-types/issue-70303.rs b/src/test/ui/generic-associated-types/issue-70303.rs index a1cb2295b63..d238f53bde7 100644 --- a/src/test/ui/generic-associated-types/issue-70303.rs +++ b/src/test/ui/generic-associated-types/issue-70303.rs @@ -1,6 +1,5 @@ // check-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Document { diff --git a/src/test/ui/generic-associated-types/issue-70304.rs b/src/test/ui/generic-associated-types/issue-70304.rs index 225f61d132e..ae64f9310d1 100644 --- a/src/test/ui/generic-associated-types/issue-70304.rs +++ b/src/test/ui/generic-associated-types/issue-70304.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Document { diff --git a/src/test/ui/generic-associated-types/issue-70304.stderr b/src/test/ui/generic-associated-types/issue-70304.stderr index dfa86018976..fd9e1acc557 100644 --- a/src/test/ui/generic-associated-types/issue-70304.stderr +++ b/src/test/ui/generic-associated-types/issue-70304.stderr @@ -1,5 +1,5 @@ error[E0106]: missing lifetime specifier - --> $DIR/issue-70304.rs:55:41 + --> $DIR/issue-70304.rs:54:41 | LL | fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'_>> { | ^^ expected named lifetime parameter diff --git a/src/test/ui/generic-associated-types/issue-71176.rs b/src/test/ui/generic-associated-types/issue-71176.rs index c767bef1552..c2f0d59f443 100644 --- a/src/test/ui/generic-associated-types/issue-71176.rs +++ b/src/test/ui/generic-associated-types/issue-71176.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Provider { diff --git a/src/test/ui/generic-associated-types/issue-71176.stderr b/src/test/ui/generic-associated-types/issue-71176.stderr index 2df800d065f..f0babdaa60b 100644 --- a/src/test/ui/generic-associated-types/issue-71176.stderr +++ b/src/test/ui/generic-associated-types/issue-71176.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `Provider::A` - --> $DIR/issue-71176.rs:13:27 + --> $DIR/issue-71176.rs:12:27 | LL | inner: Box<dyn Provider<A = B>>, | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/issue-71176.rs:5:10 + --> $DIR/issue-71176.rs:4:10 | LL | type A<'a>; | ^ -- diff --git a/src/test/ui/generic-associated-types/issue-74684-1.rs b/src/test/ui/generic-associated-types/issue-74684-1.rs index a483da863ff..0e3899a88cc 100644 --- a/src/test/ui/generic-associated-types/issue-74684-1.rs +++ b/src/test/ui/generic-associated-types/issue-74684-1.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Fun { type F<'a>: ?Sized; diff --git a/src/test/ui/generic-associated-types/issue-74684-1.stderr b/src/test/ui/generic-associated-types/issue-74684-1.stderr index 651da696827..2cd050ed8be 100644 --- a/src/test/ui/generic-associated-types/issue-74684-1.stderr +++ b/src/test/ui/generic-associated-types/issue-74684-1.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-74684-1.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0597]: `a` does not live long enough - --> $DIR/issue-74684-1.rs:16:26 + --> $DIR/issue-74684-1.rs:15:26 | LL | fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(_ : Box<T>) -> &'static T::F<'a> { | -- lifetime `'a` defined here @@ -22,6 +13,6 @@ LL | let _x = T::identity(&a); LL | } | - `a` dropped here while still borrowed -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0597`. diff --git a/src/test/ui/generic-associated-types/issue-74684-2.rs b/src/test/ui/generic-associated-types/issue-74684-2.rs index 0caf19cb030..fca55070b5b 100644 --- a/src/test/ui/generic-associated-types/issue-74684-2.rs +++ b/src/test/ui/generic-associated-types/issue-74684-2.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ WARNING: the feature `generic_associated_types` is incomplete trait Fun { type F<'a>: ?Sized; diff --git a/src/test/ui/generic-associated-types/issue-74684-2.stderr b/src/test/ui/generic-associated-types/issue-74684-2.stderr index 8c3484f9a73..23fb4285fc9 100644 --- a/src/test/ui/generic-associated-types/issue-74684-2.stderr +++ b/src/test/ui/generic-associated-types/issue-74684-2.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-74684-2.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0271]: type mismatch resolving `<{integer} as Fun>::F<'_> == [u8]` - --> $DIR/issue-74684-2.rs:24:5 + --> $DIR/issue-74684-2.rs:23:5 | LL | fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(t: Box<T>) -> &'static T::F<'a> { | ------------ required by this bound in `bug` @@ -16,6 +7,6 @@ LL | fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(t: Box<T>) -> &'static T::F<'a> { LL | bug(Box::new(x)); | ^^^ expected slice `[u8]`, found `i32` -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0271`. diff --git a/src/test/ui/generic-associated-types/issue-74816.rs b/src/test/ui/generic-associated-types/issue-74816.rs index 754397229a6..c932025d117 100644 --- a/src/test/ui/generic-associated-types/issue-74816.rs +++ b/src/test/ui/generic-associated-types/issue-74816.rs @@ -1,6 +1,5 @@ #![feature(associated_type_defaults)] #![feature(generic_associated_types)] -#![allow(incomplete_features)] trait Trait1 { fn foo(); diff --git a/src/test/ui/generic-associated-types/issue-74816.stderr b/src/test/ui/generic-associated-types/issue-74816.stderr index 64bc94d601b..431182e79c4 100644 --- a/src/test/ui/generic-associated-types/issue-74816.stderr +++ b/src/test/ui/generic-associated-types/issue-74816.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `Self: Trait1` is not satisfied - --> $DIR/issue-74816.rs:10:5 + --> $DIR/issue-74816.rs:9:5 | LL | type Associated: Trait1 = Self; | ^^^^^^^^^^^^^^^^^------^^^^^^^^ @@ -13,7 +13,7 @@ LL | trait Trait2: Trait1 { | ^^^^^^^^ error[E0277]: the size for values of type `Self` cannot be known at compilation time - --> $DIR/issue-74816.rs:10:5 + --> $DIR/issue-74816.rs:9:5 | LL | type Associated: Trait1 = Self; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/generic-associated-types/issue-74824.rs b/src/test/ui/generic-associated-types/issue-74824.rs index 00761a97d00..1bbf7aac5cd 100644 --- a/src/test/ui/generic-associated-types/issue-74824.rs +++ b/src/test/ui/generic-associated-types/issue-74824.rs @@ -1,6 +1,5 @@ #![feature(generic_associated_types)] #![feature(associated_type_defaults)] -#![allow(incomplete_features)] use std::ops::Deref; diff --git a/src/test/ui/generic-associated-types/issue-74824.stderr b/src/test/ui/generic-associated-types/issue-74824.stderr index 7a7b5fd4f1c..54cb3fba2b5 100644 --- a/src/test/ui/generic-associated-types/issue-74824.stderr +++ b/src/test/ui/generic-associated-types/issue-74824.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `Box<T>: Copy` is not satisfied - --> $DIR/issue-74824.rs:8:5 + --> $DIR/issue-74824.rs:7:5 | LL | type Copy<T>: Copy = Box<T>; | ^^^^^^^^^^^^^^----^^^^^^^^^^ @@ -8,7 +8,7 @@ LL | type Copy<T>: Copy = Box<T>; | the trait `Copy` is not implemented for `Box<T>` error[E0277]: the trait bound `T: Clone` is not satisfied - --> $DIR/issue-74824.rs:8:5 + --> $DIR/issue-74824.rs:7:5 | LL | type Copy<T>: Copy = Box<T>; | ^^^^^^^^^^^^^^----^^^^^^^^^^ diff --git a/src/test/ui/generic-associated-types/issue-76407.rs b/src/test/ui/generic-associated-types/issue-76407.rs index 42f19feb5f1..a8141829ba8 100644 --- a/src/test/ui/generic-associated-types/issue-76407.rs +++ b/src/test/ui/generic-associated-types/issue-76407.rs @@ -1,7 +1,6 @@ // check-pass #![feature(generic_associated_types)] -#![allow(incomplete_features)] trait Marker {} diff --git a/src/test/ui/generic-associated-types/issue-76535.rs b/src/test/ui/generic-associated-types/issue-76535.rs index 3db3c38216a..1dad856d5a3 100644 --- a/src/test/ui/generic-associated-types/issue-76535.rs +++ b/src/test/ui/generic-associated-types/issue-76535.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING the feature pub trait SubTrait {} diff --git a/src/test/ui/generic-associated-types/issue-76535.stderr b/src/test/ui/generic-associated-types/issue-76535.stderr index d9829e59605..45af30e3965 100644 --- a/src/test/ui/generic-associated-types/issue-76535.stderr +++ b/src/test/ui/generic-associated-types/issue-76535.stderr @@ -1,20 +1,11 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-76535.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0107]: missing generics for associated type `SuperTrait::SubType` - --> $DIR/issue-76535.rs:37:33 + --> $DIR/issue-76535.rs:36:33 | LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); | ^^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/issue-76535.rs:7:10 + --> $DIR/issue-76535.rs:6:10 | LL | type SubType<'a>: SubTrait; | ^^^^^^^ -- @@ -24,14 +15,14 @@ LL | let sub: Box<dyn SuperTrait<SubType<'a> = SubStruct>> = Box::new(SuperS | ^^^^^^^^^^^ error[E0038]: the trait `SuperTrait` cannot be made into an object - --> $DIR/issue-76535.rs:37:14 + --> $DIR/issue-76535.rs:36:14 | LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object | = help: consider moving `SubType` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-76535.rs:7:10 + --> $DIR/issue-76535.rs:6:10 | LL | pub trait SuperTrait { | ---------- this trait cannot be made into an object... @@ -39,14 +30,14 @@ LL | type SubType<'a>: SubTrait; | ^^^^^^^ ...because it contains the generic associated type `SubType` error[E0038]: the trait `SuperTrait` cannot be made into an object - --> $DIR/issue-76535.rs:37:57 + --> $DIR/issue-76535.rs:36:57 | LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object | = help: consider moving `SubType` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-76535.rs:7:10 + --> $DIR/issue-76535.rs:6:10 | LL | pub trait SuperTrait { | ---------- this trait cannot be made into an object... @@ -55,7 +46,7 @@ LL | type SubType<'a>: SubTrait; = note: required because of the requirements on the impl of `CoerceUnsized<Box<dyn SuperTrait<SubType = SubStruct<'_>>>>` for `Box<SuperStruct>` = note: required by cast to type `Box<dyn SuperTrait<SubType = SubStruct<'_>>>` -error: aborting due to 3 previous errors; 1 warning emitted +error: aborting due to 3 previous errors Some errors have detailed explanations: E0038, E0107. For more information about an error, try `rustc --explain E0038`. diff --git a/src/test/ui/generic-associated-types/issue-76826.rs b/src/test/ui/generic-associated-types/issue-76826.rs index a905ef4eb13..d3201a156a1 100644 --- a/src/test/ui/generic-associated-types/issue-76826.rs +++ b/src/test/ui/generic-associated-types/issue-76826.rs @@ -1,7 +1,6 @@ // run-pass #![feature(generic_associated_types)] -#![allow(incomplete_features)] pub trait Iter { type Item<'a> where Self: 'a; diff --git a/src/test/ui/generic-associated-types/issue-78671.rs b/src/test/ui/generic-associated-types/issue-78671.rs index 310dd51ea0c..7ccf376e5cb 100644 --- a/src/test/ui/generic-associated-types/issue-78671.rs +++ b/src/test/ui/generic-associated-types/issue-78671.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait CollectionFamily { diff --git a/src/test/ui/generic-associated-types/issue-78671.stderr b/src/test/ui/generic-associated-types/issue-78671.stderr index 0a231d22b62..802621bd18c 100644 --- a/src/test/ui/generic-associated-types/issue-78671.stderr +++ b/src/test/ui/generic-associated-types/issue-78671.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `CollectionFamily::Member` - --> $DIR/issue-78671.rs:8:47 + --> $DIR/issue-78671.rs:7:47 | LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> | ^^^^^^ expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `T` - --> $DIR/issue-78671.rs:5:10 + --> $DIR/issue-78671.rs:4:10 | LL | type Member<T>; | ^^^^^^ - @@ -15,14 +15,14 @@ LL | Box::new(Family) as &dyn CollectionFamily<Member<T>=usize> | ^^^^^^^^^ error[E0038]: the trait `CollectionFamily` cannot be made into an object - --> $DIR/issue-78671.rs:8:25 + --> $DIR/issue-78671.rs:7:25 | LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `CollectionFamily` cannot be made into an object | = help: consider moving `Member` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-78671.rs:5:10 + --> $DIR/issue-78671.rs:4:10 | LL | trait CollectionFamily { | ---------------- this trait cannot be made into an object... diff --git a/src/test/ui/generic-associated-types/issue-79422.rs b/src/test/ui/generic-associated-types/issue-79422.rs index 216e426ada2..7f0ac348358 100644 --- a/src/test/ui/generic-associated-types/issue-79422.rs +++ b/src/test/ui/generic-associated-types/issue-79422.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait RefCont<'a, T> { diff --git a/src/test/ui/generic-associated-types/issue-79422.stderr b/src/test/ui/generic-associated-types/issue-79422.stderr index 11b4a519d51..cf0a80bb2c5 100644 --- a/src/test/ui/generic-associated-types/issue-79422.stderr +++ b/src/test/ui/generic-associated-types/issue-79422.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `MapLike::VRefCont` - --> $DIR/issue-79422.rs:43:36 + --> $DIR/issue-79422.rs:42:36 | LL | as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; | ^^^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/issue-79422.rs:21:10 + --> $DIR/issue-79422.rs:20:10 | LL | type VRefCont<'a>: RefCont<'a, V>; | ^^^^^^^^ -- @@ -15,14 +15,14 @@ LL | as Box<dyn MapLike<u8, u8, VRefCont<'a> = dyn RefCont<'_, u8>>>; | ^^^^^^^^^^^^ error[E0038]: the trait `MapLike` cannot be made into an object - --> $DIR/issue-79422.rs:43:12 + --> $DIR/issue-79422.rs:42:12 | LL | as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object | = help: consider moving `VRefCont` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-79422.rs:21:10 + --> $DIR/issue-79422.rs:20:10 | LL | trait MapLike<K, V> { | ------- this trait cannot be made into an object... @@ -30,14 +30,14 @@ LL | type VRefCont<'a>: RefCont<'a, V>; | ^^^^^^^^ ...because it contains the generic associated type `VRefCont` error[E0038]: the trait `MapLike` cannot be made into an object - --> $DIR/issue-79422.rs:42:13 + --> $DIR/issue-79422.rs:41:13 | LL | let m = Box::new(std::collections::BTreeMap::<u8, u8>::new()) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object | = help: consider moving `VRefCont` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/issue-79422.rs:21:10 + --> $DIR/issue-79422.rs:20:10 | LL | trait MapLike<K, V> { | ------- this trait cannot be made into an object... diff --git a/src/test/ui/generic-associated-types/issue-79636-1.rs b/src/test/ui/generic-associated-types/issue-79636-1.rs index 412a9f8257c..6d73fd68dbe 100644 --- a/src/test/ui/generic-associated-types/issue-79636-1.rs +++ b/src/test/ui/generic-associated-types/issue-79636-1.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Monad { diff --git a/src/test/ui/generic-associated-types/issue-79636-1.stderr b/src/test/ui/generic-associated-types/issue-79636-1.stderr index b7a0ef0a6d6..e6f9a0c7546 100644 --- a/src/test/ui/generic-associated-types/issue-79636-1.stderr +++ b/src/test/ui/generic-associated-types/issue-79636-1.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `Monad::Wrapped` - --> $DIR/issue-79636-1.rs:16:34 + --> $DIR/issue-79636-1.rs:15:34 | LL | MInner: Monad<Unwrapped = A, Wrapped = MOuter::Wrapped<A>>, | ^^^^^^^ expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `B` - --> $DIR/issue-79636-1.rs:6:10 + --> $DIR/issue-79636-1.rs:5:10 | LL | type Wrapped<B>; | ^^^^^^^ - diff --git a/src/test/ui/generic-associated-types/issue-79636-2.rs b/src/test/ui/generic-associated-types/issue-79636-2.rs index ef39378e78d..cdaf2e48341 100644 --- a/src/test/ui/generic-associated-types/issue-79636-2.rs +++ b/src/test/ui/generic-associated-types/issue-79636-2.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait SomeTrait { diff --git a/src/test/ui/generic-associated-types/issue-79636-2.stderr b/src/test/ui/generic-associated-types/issue-79636-2.stderr index d5ba1aaeed5..9a240c65458 100644 --- a/src/test/ui/generic-associated-types/issue-79636-2.stderr +++ b/src/test/ui/generic-associated-types/issue-79636-2.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `SomeTrait::Wrapped` - --> $DIR/issue-79636-2.rs:12:18 + --> $DIR/issue-79636-2.rs:11:18 | LL | W: SomeTrait<Wrapped = W>, | ^^^^^^^ expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `A` - --> $DIR/issue-79636-2.rs:5:10 + --> $DIR/issue-79636-2.rs:4:10 | LL | type Wrapped<A>: SomeTrait; | ^^^^^^^ - diff --git a/src/test/ui/generic-associated-types/issue-80433-reduced.rs b/src/test/ui/generic-associated-types/issue-80433-reduced.rs index 7c1673edc51..f15d4d8b138 100644 --- a/src/test/ui/generic-associated-types/issue-80433-reduced.rs +++ b/src/test/ui/generic-associated-types/issue-80433-reduced.rs @@ -1,6 +1,5 @@ // check-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] struct E {} diff --git a/src/test/ui/generic-associated-types/issue-80433.rs b/src/test/ui/generic-associated-types/issue-80433.rs index fd81804f234..6a1fe7519a8 100644 --- a/src/test/ui/generic-associated-types/issue-80433.rs +++ b/src/test/ui/generic-associated-types/issue-80433.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -#![allow(incomplete_features)] #[derive(Default)] struct E<T> { diff --git a/src/test/ui/generic-associated-types/issue-80433.stderr b/src/test/ui/generic-associated-types/issue-80433.stderr index 31483ff0cd6..26c879193b6 100644 --- a/src/test/ui/generic-associated-types/issue-80433.stderr +++ b/src/test/ui/generic-associated-types/issue-80433.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `TestMut::Output` - --> $DIR/issue-80433.rs:24:47 + --> $DIR/issue-80433.rs:23:47 | LL | fn test_simpler<'a>(dst: &'a mut impl TestMut<Output = &'a mut f32>) | ^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/issue-80433.rs:10:10 + --> $DIR/issue-80433.rs:9:10 | LL | type Output<'a>; | ^^^^^^ -- diff --git a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs index b5512ee6d62..fa2f8624225 100644 --- a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs +++ b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs @@ -1,7 +1,6 @@ // Regression test for #81712. #![feature(generic_associated_types)] -#![allow(incomplete_features)] trait A { type BType: B<AType = Self>; diff --git a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr index 4a7b96db30a..850b434e9bf 100644 --- a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr +++ b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `C::DType` - --> $DIR/issue-81712-cyclic-traits.rs:17:19 + --> $DIR/issue-81712-cyclic-traits.rs:16:19 | LL | type CType: C<DType = Self>; | ^^^^^ expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `T` - --> $DIR/issue-81712-cyclic-traits.rs:14:10 + --> $DIR/issue-81712-cyclic-traits.rs:13:10 | LL | type DType<T>: D<T, CType = Self>; | ^^^^^ - diff --git a/src/test/ui/generic-associated-types/issue-81862.rs b/src/test/ui/generic-associated-types/issue-81862.rs index 02f843b07e2..e457bca0c09 100644 --- a/src/test/ui/generic-associated-types/issue-81862.rs +++ b/src/test/ui/generic-associated-types/issue-81862.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait StreamingIterator { diff --git a/src/test/ui/generic-associated-types/issue-81862.stderr b/src/test/ui/generic-associated-types/issue-81862.stderr index d7b904165c0..1ba21ccd796 100644 --- a/src/test/ui/generic-associated-types/issue-81862.stderr +++ b/src/test/ui/generic-associated-types/issue-81862.stderr @@ -1,11 +1,11 @@ error[E0107]: missing generics for associated type `StreamingIterator::Item` - --> $DIR/issue-81862.rs:6:40 + --> $DIR/issue-81862.rs:5:40 | LL | fn next(&mut self) -> Option<Self::Item>; | ^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/issue-81862.rs:5:10 + --> $DIR/issue-81862.rs:4:10 | LL | type Item<'a>; | ^^^^ -- diff --git a/src/test/ui/generic-associated-types/issue-86483.rs b/src/test/ui/generic-associated-types/issue-86483.rs index 9d03c9dab8d..a8b54c354e3 100644 --- a/src/test/ui/generic-associated-types/issue-86483.rs +++ b/src/test/ui/generic-associated-types/issue-86483.rs @@ -1,7 +1,6 @@ // Regression test of #86483. #![feature(generic_associated_types)] -#![allow(incomplete_features)] pub trait IceIce<T> //~ ERROR: the parameter type `T` may not live long enough where diff --git a/src/test/ui/generic-associated-types/issue-86483.stderr b/src/test/ui/generic-associated-types/issue-86483.stderr index c8efc2ed882..2106b214fec 100644 --- a/src/test/ui/generic-associated-types/issue-86483.stderr +++ b/src/test/ui/generic-associated-types/issue-86483.stderr @@ -1,5 +1,5 @@ error[E0311]: the parameter type `T` may not live long enough - --> $DIR/issue-86483.rs:6:1 + --> $DIR/issue-86483.rs:5:1 | LL | pub trait IceIce<T> | ^ - help: consider adding an explicit lifetime bound...: `T: 'a` @@ -14,7 +14,7 @@ LL | | } | |_^ ...so that the type `T` will meet its required lifetime bounds error[E0311]: the parameter type `T` may not live long enough - --> $DIR/issue-86483.rs:10:5 + --> $DIR/issue-86483.rs:9:5 | LL | pub trait IceIce<T> | - help: consider adding an explicit lifetime bound...: `T: 'a` @@ -23,7 +23,7 @@ LL | type Ice<'v>: IntoIterator<Item = &'v T>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds error[E0309]: the parameter type `T` may not live long enough - --> $DIR/issue-86483.rs:10:32 + --> $DIR/issue-86483.rs:9:32 | LL | pub trait IceIce<T> | - help: consider adding an explicit lifetime bound...: `T: 'v` diff --git a/src/test/ui/generic-associated-types/iterable.rs b/src/test/ui/generic-associated-types/iterable.rs index 600a69006c1..952fca8ab8a 100644 --- a/src/test/ui/generic-associated-types/iterable.rs +++ b/src/test/ui/generic-associated-types/iterable.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] // run-pass diff --git a/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs b/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs index 2de4c7b8492..6db249221b8 100644 --- a/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs +++ b/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs @@ -2,9 +2,6 @@ // generics for a generic associated type. #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete -//~| NOTE `#[warn(incomplete_features)]` on by default -//~| NOTE see issue #44265 trait X { type Y<T>; diff --git a/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.stderr b/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.stderr index c94155d13c3..8af9fbed872 100644 --- a/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.stderr +++ b/src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/method-unsatified-assoc-type-predicate.rs:4:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0599]: the method `f` exists for struct `S`, but its trait bounds were not satisfied - --> $DIR/method-unsatified-assoc-type-predicate.rs:29:7 + --> $DIR/method-unsatified-assoc-type-predicate.rs:26:7 | LL | struct S; | --------- @@ -24,6 +15,6 @@ LL | a.f(); `<S as X>::Y<i32> = i32` which is required by `S: M` -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0599`. diff --git a/src/test/ui/generic-associated-types/missing_lifetime_args.rs b/src/test/ui/generic-associated-types/missing_lifetime_args.rs index de24361dfde..cd918157f7c 100644 --- a/src/test/ui/generic-associated-types/missing_lifetime_args.rs +++ b/src/test/ui/generic-associated-types/missing_lifetime_args.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` trait X { type Y<'a, 'b>; diff --git a/src/test/ui/generic-associated-types/missing_lifetime_args.stderr b/src/test/ui/generic-associated-types/missing_lifetime_args.stderr index 73829594c82..95b048d36c2 100644 --- a/src/test/ui/generic-associated-types/missing_lifetime_args.stderr +++ b/src/test/ui/generic-associated-types/missing_lifetime_args.stderr @@ -1,20 +1,11 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/missing_lifetime_args.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0107]: missing generics for associated type `X::Y` - --> $DIR/missing_lifetime_args.rs:14:32 + --> $DIR/missing_lifetime_args.rs:13:32 | LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y = (&'c u32, &'d u32)>>) {} | ^ expected 2 lifetime arguments | note: associated type defined here, with 2 lifetime parameters: `'a`, `'b` - --> $DIR/missing_lifetime_args.rs:5:10 + --> $DIR/missing_lifetime_args.rs:4:10 | LL | type Y<'a, 'b>; | ^ -- -- @@ -24,7 +15,7 @@ LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y<'c, 'd> = (&'c u32, &'d u32)>>) {} | ^^^^^^^^^ error[E0107]: this struct takes 3 lifetime arguments but 2 lifetime arguments were supplied - --> $DIR/missing_lifetime_args.rs:17:26 + --> $DIR/missing_lifetime_args.rs:16:26 | LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b>) {} | ^^^ -- -- supplied 2 lifetime arguments @@ -32,7 +23,7 @@ LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b>) {} | expected 3 lifetime arguments | note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c` - --> $DIR/missing_lifetime_args.rs:8:8 + --> $DIR/missing_lifetime_args.rs:7:8 | LL | struct Foo<'a, 'b, 'c> { | ^^^ -- -- -- @@ -42,7 +33,7 @@ LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b, 'a>) {} | ^^^^ error[E0107]: this struct takes 3 lifetime arguments but 1 lifetime argument was supplied - --> $DIR/missing_lifetime_args.rs:20:16 + --> $DIR/missing_lifetime_args.rs:19:16 | LL | fn f<'a>(_arg: Foo<'a>) {} | ^^^ -- supplied 1 lifetime argument @@ -50,7 +41,7 @@ LL | fn f<'a>(_arg: Foo<'a>) {} | expected 3 lifetime arguments | note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c` - --> $DIR/missing_lifetime_args.rs:8:8 + --> $DIR/missing_lifetime_args.rs:7:8 | LL | struct Foo<'a, 'b, 'c> { | ^^^ -- -- -- @@ -59,6 +50,6 @@ help: add missing lifetime arguments LL | fn f<'a>(_arg: Foo<'a, 'b, 'c>) {} | ^^^^^^^^ -error: aborting due to 3 previous errors; 1 warning emitted +error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/missing_lifetime_const.rs b/src/test/ui/generic-associated-types/missing_lifetime_const.rs index 37cb7cab121..e3e78dd96f6 100644 --- a/src/test/ui/generic-associated-types/missing_lifetime_const.rs +++ b/src/test/ui/generic-associated-types/missing_lifetime_const.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING the feature trait Foo { type Assoc<'a, const N: usize>; diff --git a/src/test/ui/generic-associated-types/missing_lifetime_const.stderr b/src/test/ui/generic-associated-types/missing_lifetime_const.stderr index 6c66312e7b1..02d3cd2e8d5 100644 --- a/src/test/ui/generic-associated-types/missing_lifetime_const.stderr +++ b/src/test/ui/generic-associated-types/missing_lifetime_const.stderr @@ -1,20 +1,11 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/missing_lifetime_const.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied - --> $DIR/missing_lifetime_const.rs:9:24 + --> $DIR/missing_lifetime_const.rs:8:24 | LL | let _: <T as Foo>::Assoc<3>; | ^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/missing_lifetime_const.rs:5:10 + --> $DIR/missing_lifetime_const.rs:4:10 | LL | type Assoc<'a, const N: usize>; | ^^^^^ -- @@ -23,6 +14,6 @@ help: add missing lifetime argument LL | let _: <T as Foo>::Assoc<'a, 3>; | ^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind.rs b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs index 3f92c031e18..0508cc2daea 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind.rs +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr b/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr index b6f600964c9..db469597f9a 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr @@ -1,5 +1,5 @@ error[E0107]: this associated type takes 1 lifetime argument but 2 lifetime arguments were supplied - --> $DIR/parameter_number_and_kind.rs:13:24 + --> $DIR/parameter_number_and_kind.rs:12:24 | LL | type FErr1 = Self::E<'static, 'static>; | ^ ------- help: remove this lifetime argument @@ -7,19 +7,19 @@ LL | type FErr1 = Self::E<'static, 'static>; | expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/parameter_number_and_kind.rs:10:10 + --> $DIR/parameter_number_and_kind.rs:9:10 | LL | type E<'a, T>; | ^ -- error[E0107]: this associated type takes 1 generic argument but 0 generic arguments were supplied - --> $DIR/parameter_number_and_kind.rs:13:24 + --> $DIR/parameter_number_and_kind.rs:12:24 | LL | type FErr1 = Self::E<'static, 'static>; | ^ expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `T` - --> $DIR/parameter_number_and_kind.rs:10:10 + --> $DIR/parameter_number_and_kind.rs:9:10 | LL | type E<'a, T>; | ^ - @@ -29,7 +29,7 @@ LL | type FErr1 = Self::E<'static, 'static, T>; | ^^^ error[E0107]: this associated type takes 1 generic argument but 2 generic arguments were supplied - --> $DIR/parameter_number_and_kind.rs:16:27 + --> $DIR/parameter_number_and_kind.rs:15:27 | LL | type FErr2<T> = Self::E<'static, T, u32>; | ^ --- help: remove this generic argument @@ -37,7 +37,7 @@ LL | type FErr2<T> = Self::E<'static, T, u32>; | expected 1 generic argument | note: associated type defined here, with 1 generic parameter: `T` - --> $DIR/parameter_number_and_kind.rs:10:10 + --> $DIR/parameter_number_and_kind.rs:9:10 | LL | type E<'a, T>; | ^ - diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.rs b/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.rs index 74b9cec1da3..6ca0bc6ddbc 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.rs +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] #![feature(associated_type_defaults)] diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.stderr b/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.stderr index bdd1c895fd9..1458bf0c4a4 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.stderr +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind_impl.stderr @@ -1,5 +1,5 @@ error[E0195]: lifetime parameters or bounds on type `A` do not match the trait declaration - --> $DIR/parameter_number_and_kind_impl.rs:16:11 + --> $DIR/parameter_number_and_kind_impl.rs:15:11 | LL | type A<'a>; | ---- lifetimes in impl do not match this type in trait @@ -8,7 +8,7 @@ LL | type A = u32; | ^ lifetimes do not match type in trait error[E0049]: type `B` has 1 type parameter but its trait declaration has 0 type parameters - --> $DIR/parameter_number_and_kind_impl.rs:18:12 + --> $DIR/parameter_number_and_kind_impl.rs:17:12 | LL | type B<'a, 'b>; | -- -- @@ -21,7 +21,7 @@ LL | type B<'a, T> = Vec<T>; | found 1 type parameter error[E0195]: lifetime parameters or bounds on type `C` do not match the trait declaration - --> $DIR/parameter_number_and_kind_impl.rs:20:11 + --> $DIR/parameter_number_and_kind_impl.rs:19:11 | LL | type C; | - lifetimes in impl do not match this type in trait @@ -30,7 +30,7 @@ LL | type C<'a> = u32; | ^^^^ lifetimes do not match type in trait error[E0049]: type `A` has 1 type parameter but its trait declaration has 0 type parameters - --> $DIR/parameter_number_and_kind_impl.rs:27:12 + --> $DIR/parameter_number_and_kind_impl.rs:26:12 | LL | type A<'a>; | -- expected 0 type parameters @@ -39,7 +39,7 @@ LL | type A<T> = u32; | ^ found 1 type parameter error[E0195]: lifetime parameters or bounds on type `B` do not match the trait declaration - --> $DIR/parameter_number_and_kind_impl.rs:29:11 + --> $DIR/parameter_number_and_kind_impl.rs:28:11 | LL | type B<'a, 'b>; | -------- lifetimes in impl do not match this type in trait @@ -48,7 +48,7 @@ LL | type B<'a> = u32; | ^^^^ lifetimes do not match type in trait error[E0049]: type `C` has 1 type parameter but its trait declaration has 0 type parameters - --> $DIR/parameter_number_and_kind_impl.rs:31:12 + --> $DIR/parameter_number_and_kind_impl.rs:30:12 | LL | type C; | - expected 0 type parameters diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.rs b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.rs index b10bfea9feb..be85598b7bf 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr index 8abc4ccc9a5..2b265e92161 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr @@ -1,19 +1,10 @@ error: expected one of `!`, `(`, `+`, `,`, `::`, `<`, or `>`, found `=` - --> $DIR/trait-path-expected-token.rs:8:33 + --> $DIR/trait-path-expected-token.rs:7:33 | LL | fn f1<'a>(arg : Box<dyn X<Y = B = &'a ()>>) {} | - ^ expected one of 7 possible tokens | | | maybe try to close unmatched angle bracket -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-expected-token.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs b/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs index 5e50c6b35c9..d57c2813b38 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING: the feature `generic_associated_types` is incomplete mod error1 { trait X { diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr b/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr index 27e1a750b21..b1fea6d33a7 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr @@ -1,5 +1,5 @@ error: expected expression, found `)` - --> $DIR/trait-path-expressions.rs:9:39 + --> $DIR/trait-path-expressions.rs:8:39 | LL | fn f1<'a>(arg : Box<dyn X< 1 = 32 >>) {} | - ^ expected expression @@ -7,21 +7,12 @@ LL | fn f1<'a>(arg : Box<dyn X< 1 = 32 >>) {} | while parsing a const generic argument starting here error: expected one of `,`, `:`, or `>`, found `=` - --> $DIR/trait-path-expressions.rs:19:36 + --> $DIR/trait-path-expressions.rs:18:36 | LL | fn f2<'a>(arg : Box<dyn X< { 1 } = 32 >>) {} | - ^ expected one of `,`, `:`, or `>` | | | maybe try to close unmatched angle bracket -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-expressions.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors diff --git a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.rs b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.rs index 94dda17aad7..7914864807c 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr index f6038566e5b..c2908150429 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr @@ -1,5 +1,5 @@ error: expected one of `>`, a const expression, lifetime, or type, found `:` - --> $DIR/trait-path-missing-gen_arg.rs:9:30 + --> $DIR/trait-path-missing-gen_arg.rs:8:30 | LL | fn f1<'a>(arg : Box<dyn X< : 32 >>) {} | ^ expected one of `>`, a const expression, lifetime, or type @@ -10,13 +10,13 @@ LL | fn f1<'a>(arg : Box<{ dyn X< : 32 } >>) {} | ^ ^ error: expected parameter name, found `>` - --> $DIR/trait-path-missing-gen_arg.rs:9:36 + --> $DIR/trait-path-missing-gen_arg.rs:8:36 | LL | fn f1<'a>(arg : Box<dyn X< : 32 >>) {} | ^ expected parameter name error: expected one of `!`, `)`, `+`, `,`, or `::`, found `>` - --> $DIR/trait-path-missing-gen_arg.rs:9:36 + --> $DIR/trait-path-missing-gen_arg.rs:8:36 | LL | fn f1<'a>(arg : Box<dyn X< : 32 >>) {} | ^ @@ -25,28 +25,19 @@ LL | fn f1<'a>(arg : Box<dyn X< : 32 >>) {} | help: missing `,` error: expected one of `>`, a const expression, lifetime, or type, found `=` - --> $DIR/trait-path-missing-gen_arg.rs:17:30 + --> $DIR/trait-path-missing-gen_arg.rs:16:30 | LL | fn f1<'a>(arg : Box<dyn X< = 32 >>) {} | - ^ expected one of `>`, a const expression, lifetime, or type | | | maybe try to close unmatched angle bracket -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-missing-gen_arg.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0747]: constant provided when a type was expected - --> $DIR/trait-path-missing-gen_arg.rs:9:23 + --> $DIR/trait-path-missing-gen_arg.rs:8:23 | LL | fn f1<'a>(arg : Box<dyn X< : 32 >>) {} | ^^^^^^^^^^^ -error: aborting due to 5 previous errors; 1 warning emitted +error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0747`. diff --git a/src/test/ui/generic-associated-types/parse/trait-path-segments.rs b/src/test/ui/generic-associated-types/parse/trait-path-segments.rs index eba30e1438f..e943f075f53 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-segments.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-segments.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING: the feature `generic_associated_types` is incomplete const _: () = { trait X { diff --git a/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr b/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr index c82953aaed7..bfb109fbfa4 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr @@ -1,5 +1,5 @@ error: expected one of `!`, `(`, `+`, `,`, `::`, `:`, `<`, or `>`, found `=` - --> $DIR/trait-path-segments.rs:9:36 + --> $DIR/trait-path-segments.rs:8:36 | LL | fn f1<'a>(arg : Box<dyn X<X::Y = u32>>) {} | - ^ expected one of 8 possible tokens @@ -7,7 +7,7 @@ LL | fn f1<'a>(arg : Box<dyn X<X::Y = u32>>) {} | maybe try to close unmatched angle bracket error: expected one of `,`, `::`, `:`, or `>`, found `=` - --> $DIR/trait-path-segments.rs:20:35 + --> $DIR/trait-path-segments.rs:19:35 | LL | impl<T : X<<Self as X>::Y<'a> = &'a u32>> Z for T {} | - ^ expected one of `,`, `::`, `:`, or `>` @@ -15,21 +15,12 @@ LL | impl<T : X<<Self as X>::Y<'a> = &'a u32>> Z for T {} | maybe try to close unmatched angle bracket error: expected one of `!`, `+`, `,`, `::`, `:`, or `>`, found `=` - --> $DIR/trait-path-segments.rs:31:25 + --> $DIR/trait-path-segments.rs:30:25 | LL | impl<T : X<X::Y<'a> = &'a u32>> Z for T {} | - ^ expected one of `!`, `+`, `,`, `::`, `:`, or `>` | | | maybe try to close unmatched angle bracket -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-segments.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -error: aborting due to 3 previous errors; 1 warning emitted +error: aborting due to 3 previous errors diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs index d7a0ef4916a..4846af96d32 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] - //~^ the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr index 5685e5208c6..59b53c70388 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr @@ -1,20 +1,11 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-type-error-once-implemented.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied - --> $DIR/trait-path-type-error-once-implemented.rs:9:29 + --> $DIR/trait-path-type-error-once-implemented.rs:8:29 | LL | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` - --> $DIR/trait-path-type-error-once-implemented.rs:5:10 + --> $DIR/trait-path-type-error-once-implemented.rs:4:10 | LL | type Y<'a>; | ^ -- @@ -24,7 +15,7 @@ LL | fn f2<'a>(arg : Box<dyn X<Y<'a, 1> = &'a ()>>) {} | ^^^ error[E0107]: this associated type takes 0 generic arguments but 1 generic argument was supplied - --> $DIR/trait-path-type-error-once-implemented.rs:9:29 + --> $DIR/trait-path-type-error-once-implemented.rs:8:29 | LL | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} | ^--- help: remove these generics @@ -32,11 +23,11 @@ LL | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} | expected 0 generic arguments | note: associated type defined here, with 0 generic parameters - --> $DIR/trait-path-type-error-once-implemented.rs:5:10 + --> $DIR/trait-path-type-error-once-implemented.rs:4:10 | LL | type Y<'a>; | ^ -error: aborting due to 2 previous errors; 1 warning emitted +error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/parse/trait-path-types.rs b/src/test/ui/generic-associated-types/parse/trait-path-types.rs index 522b3edc638..856253cc7fa 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-types.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-types.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARNING: the feature `generic_associated_types` is incomplete trait X { type Y<'a>; diff --git a/src/test/ui/generic-associated-types/parse/trait-path-types.stderr b/src/test/ui/generic-associated-types/parse/trait-path-types.stderr index ac791c22481..c0fa41b9e0e 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-types.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-types.stderr @@ -1,5 +1,5 @@ error: expected one of `,`, `:`, or `>`, found `=` - --> $DIR/trait-path-types.rs:9:37 + --> $DIR/trait-path-types.rs:8:37 | LL | fn f<'a>(arg : Box<dyn X< [u8; 1] = u32>>) {} | - ^ expected one of `,`, `:`, or `>` @@ -7,7 +7,7 @@ LL | fn f<'a>(arg : Box<dyn X< [u8; 1] = u32>>) {} | maybe try to close unmatched angle bracket error: expected one of `,`, `:`, or `>`, found `=` - --> $DIR/trait-path-types.rs:14:37 + --> $DIR/trait-path-types.rs:13:37 | LL | fn f1<'a>(arg : Box<dyn X<(Y<'a>) = &'a ()>>) {} | - ^ expected one of `,`, `:`, or `>` @@ -15,21 +15,12 @@ LL | fn f1<'a>(arg : Box<dyn X<(Y<'a>) = &'a ()>>) {} | maybe try to close unmatched angle bracket error: expected one of `,`, `:`, or `>`, found `=` - --> $DIR/trait-path-types.rs:19:33 + --> $DIR/trait-path-types.rs:18:33 | LL | fn f1<'a>(arg : Box<dyn X< 'a = u32 >>) {} | -- ^ expected one of `,`, `:`, or `>` | | | maybe try to close unmatched angle bracket -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-path-types.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - -error: aborting due to 3 previous errors; 1 warning emitted +error: aborting due to 3 previous errors diff --git a/src/test/ui/generic-associated-types/pointer_family.rs b/src/test/ui/generic-associated-types/pointer_family.rs index b322b752a15..da86e7f2748 100644 --- a/src/test/ui/generic-associated-types/pointer_family.rs +++ b/src/test/ui/generic-associated-types/pointer_family.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] // check-pass diff --git a/src/test/ui/generic-associated-types/projection-bound-cycle-generic.rs b/src/test/ui/generic-associated-types/projection-bound-cycle-generic.rs index 0cd676a9b37..7517e1fa9d0 100644 --- a/src/test/ui/generic-associated-types/projection-bound-cycle-generic.rs +++ b/src/test/ui/generic-associated-types/projection-bound-cycle-generic.rs @@ -2,7 +2,6 @@ // `feature(trivial_bounds)`. #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete trait Print { fn print(); diff --git a/src/test/ui/generic-associated-types/projection-bound-cycle-generic.stderr b/src/test/ui/generic-associated-types/projection-bound-cycle-generic.stderr index d27e46f6836..d5e9caf9ecd 100644 --- a/src/test/ui/generic-associated-types/projection-bound-cycle-generic.stderr +++ b/src/test/ui/generic-associated-types/projection-bound-cycle-generic.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/projection-bound-cycle-generic.rs:4:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0275]: overflow evaluating the requirement `<T as Foo>::Item: Sized` - --> $DIR/projection-bound-cycle-generic.rs:45:5 + --> $DIR/projection-bound-cycle-generic.rs:44:5 | LL | struct OnlySized<T> where T: Sized { f: T } | - required by this bound in `OnlySized` @@ -16,6 +7,6 @@ LL | struct OnlySized<T> where T: Sized { f: T } LL | type Assoc = OnlySized<<T as Foo>::Item>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0275`. diff --git a/src/test/ui/generic-associated-types/projection-bound-cycle.rs b/src/test/ui/generic-associated-types/projection-bound-cycle.rs index 5043fe5c08f..8f8cb679e9c 100644 --- a/src/test/ui/generic-associated-types/projection-bound-cycle.rs +++ b/src/test/ui/generic-associated-types/projection-bound-cycle.rs @@ -3,7 +3,6 @@ // proven when a bound and a where clause of an associated type are the same. #![feature(generic_associated_types)] -//~^ WARNING the feature `generic_associated_types` is incomplete #![feature(trivial_bounds)] trait Print { diff --git a/src/test/ui/generic-associated-types/projection-bound-cycle.stderr b/src/test/ui/generic-associated-types/projection-bound-cycle.stderr index 400b664f97c..fac62fef1ec 100644 --- a/src/test/ui/generic-associated-types/projection-bound-cycle.stderr +++ b/src/test/ui/generic-associated-types/projection-bound-cycle.stderr @@ -1,14 +1,5 @@ -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/projection-bound-cycle.rs:5:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0275]: overflow evaluating the requirement `<T as Foo>::Item: Sized` - --> $DIR/projection-bound-cycle.rs:47:5 + --> $DIR/projection-bound-cycle.rs:46:5 | LL | struct OnlySized<T> where T: Sized { f: T } | - required by this bound in `OnlySized` @@ -16,6 +7,6 @@ LL | struct OnlySized<T> where T: Sized { f: T } LL | type Assoc = OnlySized<<T as Foo>::Item>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 1 warning emitted +error: aborting due to previous error For more information about this error, try `rustc --explain E0275`. diff --git a/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.rs b/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.rs index 0024e127a98..b976ee3261f 100644 --- a/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.rs +++ b/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] pub trait X { diff --git a/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.stderr b/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.stderr index aec87862566..315bef16c5f 100644 --- a/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.stderr +++ b/src/test/ui/generic-associated-types/projection-type-lifetime-mismatch.stderr @@ -1,17 +1,17 @@ error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/projection-type-lifetime-mismatch.rs:18:5 + --> $DIR/projection-type-lifetime-mismatch.rs:17:5 | LL | x.m() | ^^^^^ lifetime `'static` required error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/projection-type-lifetime-mismatch.rs:23:5 + --> $DIR/projection-type-lifetime-mismatch.rs:22:5 | LL | x.m() | ^^^^^ lifetime `'static` required error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/projection-type-lifetime-mismatch.rs:28:5 + --> $DIR/projection-type-lifetime-mismatch.rs:27:5 | LL | x.m() | ^^^^^ lifetime `'static` required diff --git a/src/test/ui/generic-associated-types/shadowing.rs b/src/test/ui/generic-associated-types/shadowing.rs index 44528ca1da3..2a9763457df 100644 --- a/src/test/ui/generic-associated-types/shadowing.rs +++ b/src/test/ui/generic-associated-types/shadowing.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait Shadow<'a> { diff --git a/src/test/ui/generic-associated-types/shadowing.stderr b/src/test/ui/generic-associated-types/shadowing.stderr index d45ef83873a..857757f8940 100644 --- a/src/test/ui/generic-associated-types/shadowing.stderr +++ b/src/test/ui/generic-associated-types/shadowing.stderr @@ -1,5 +1,5 @@ error[E0403]: the name `T` is already used for a generic parameter in this item's generic parameters - --> $DIR/shadowing.rs:19:14 + --> $DIR/shadowing.rs:18:14 | LL | trait ShadowT<T> { | - first use of `T` @@ -7,7 +7,7 @@ LL | type Bar<T>; | ^ already used error[E0403]: the name `T` is already used for a generic parameter in this item's generic parameters - --> $DIR/shadowing.rs:28:14 + --> $DIR/shadowing.rs:27:14 | LL | impl<T> NoShadowT<T> for Option<T> { | - first use of `T` @@ -15,7 +15,7 @@ LL | type Bar<T> = i32; | ^ already used error[E0496]: lifetime name `'a` shadows a lifetime name that is already in scope - --> $DIR/shadowing.rs:14:14 + --> $DIR/shadowing.rs:13:14 | LL | impl<'a> NoShadow<'a> for &'a u32 { | -- first declared here @@ -23,7 +23,7 @@ LL | type Bar<'a> = i32; | ^^ lifetime `'a` already in scope error[E0496]: lifetime name `'a` shadows a lifetime name that is already in scope - --> $DIR/shadowing.rs:5:14 + --> $DIR/shadowing.rs:4:14 | LL | trait Shadow<'a> { | -- first declared here diff --git a/src/test/ui/generic-associated-types/streaming_iterator.rs b/src/test/ui/generic-associated-types/streaming_iterator.rs index d814f7140d9..2feff9f4c6f 100644 --- a/src/test/ui/generic-associated-types/streaming_iterator.rs +++ b/src/test/ui/generic-associated-types/streaming_iterator.rs @@ -1,6 +1,5 @@ // run-pass -#![allow(incomplete_features)] #![feature(generic_associated_types)] use std::fmt::Display; diff --git a/src/test/ui/generic-associated-types/trait-objects.rs b/src/test/ui/generic-associated-types/trait-objects.rs index 997a550b0ef..559e6758a32 100644 --- a/src/test/ui/generic-associated-types/trait-objects.rs +++ b/src/test/ui/generic-associated-types/trait-objects.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -#![allow(incomplete_features)] trait StreamingIterator { type Item<'a> where Self: 'a; diff --git a/src/test/ui/generic-associated-types/trait-objects.stderr b/src/test/ui/generic-associated-types/trait-objects.stderr index a8f1768ba26..a121566bbd8 100644 --- a/src/test/ui/generic-associated-types/trait-objects.stderr +++ b/src/test/ui/generic-associated-types/trait-objects.stderr @@ -1,12 +1,12 @@ error[E0038]: the trait `StreamingIterator` cannot be made into an object - --> $DIR/trait-objects.rs:11:16 + --> $DIR/trait-objects.rs:10:16 | LL | fn min_size(x: &mut dyn for<'a> StreamingIterator<Item<'a> = &'a i32>) -> usize { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `StreamingIterator` cannot be made into an object | = help: consider moving `Item` to another trait note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> - --> $DIR/trait-objects.rs:5:10 + --> $DIR/trait-objects.rs:4:10 | LL | trait StreamingIterator { | ----------------- this trait cannot be made into an object... diff --git a/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.rs b/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.rs index 7bcc7ba752a..8b40dac574a 100644 --- a/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.rs +++ b/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] pub trait X { diff --git a/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.stderr b/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.stderr index 1c81d33ccfe..772d027685d 100644 --- a/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.stderr +++ b/src/test/ui/generic-associated-types/unsatified-item-lifetime-bound.stderr @@ -1,5 +1,5 @@ warning: unnecessary lifetime parameter `'a` - --> $DIR/unsatified-item-lifetime-bound.rs:5:12 + --> $DIR/unsatified-item-lifetime-bound.rs:4:12 | LL | type Y<'a: 'static>; | ^^^^^^^^^^^ @@ -7,39 +7,39 @@ LL | type Y<'a: 'static>; = help: you can use the `'static` lifetime directly, in place of `'a` error[E0478]: lifetime bound not satisfied - --> $DIR/unsatified-item-lifetime-bound.rs:14:8 + --> $DIR/unsatified-item-lifetime-bound.rs:13:8 | LL | f: <T as X>::Y<'a>, | ^^^^^^^^^^^^^^^ | -note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 13:10 - --> $DIR/unsatified-item-lifetime-bound.rs:13:10 +note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 12:10 + --> $DIR/unsatified-item-lifetime-bound.rs:12:10 | LL | struct B<'a, T: for<'r> X<Y<'r> = &'r ()>> { | ^^ = note: but lifetime parameter must outlive the static lifetime error[E0478]: lifetime bound not satisfied - --> $DIR/unsatified-item-lifetime-bound.rs:19:8 + --> $DIR/unsatified-item-lifetime-bound.rs:18:8 | LL | f: <T as X>::Y<'a>, | ^^^^^^^^^^^^^^^ | -note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 18:10 - --> $DIR/unsatified-item-lifetime-bound.rs:18:10 +note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 17:10 + --> $DIR/unsatified-item-lifetime-bound.rs:17:10 | LL | struct C<'a, T: X> { | ^^ = note: but lifetime parameter must outlive the static lifetime error[E0478]: lifetime bound not satisfied - --> $DIR/unsatified-item-lifetime-bound.rs:24:8 + --> $DIR/unsatified-item-lifetime-bound.rs:23:8 | LL | f: <() as X>::Y<'a>, | ^^^^^^^^^^^^^^^^ | -note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 23:10 - --> $DIR/unsatified-item-lifetime-bound.rs:23:10 +note: lifetime parameter instantiated with the lifetime `'a` as defined on the struct at 22:10 + --> $DIR/unsatified-item-lifetime-bound.rs:22:10 | LL | struct D<'a> { | ^^ diff --git a/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.rs b/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.rs index 99d5bcf2bac..6466bf98dfc 100644 --- a/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.rs +++ b/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.rs @@ -1,4 +1,3 @@ -#![allow(incomplete_features)] #![feature(generic_associated_types)] trait ATy { diff --git a/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.stderr b/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.stderr index 5d612284a21..d2482b2998b 100644 --- a/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.stderr +++ b/src/test/ui/generic-associated-types/unsatisfied-outlives-bound.stderr @@ -1,17 +1,17 @@ error[E0477]: the type `&'b ()` does not fulfill the required lifetime - --> $DIR/unsatisfied-outlives-bound.rs:9:5 + --> $DIR/unsatisfied-outlives-bound.rs:8:5 | LL | type Item<'a> = &'b (); | ^^^^^^^^^^^^^^^^^^^^^^^ | -note: type must outlive the lifetime `'a` as defined on the associated item at 9:15 - --> $DIR/unsatisfied-outlives-bound.rs:9:15 +note: type must outlive the lifetime `'a` as defined on the associated item at 8:15 + --> $DIR/unsatisfied-outlives-bound.rs:8:15 | LL | type Item<'a> = &'b (); | ^^ error[E0477]: the type `&'a ()` does not fulfill the required lifetime - --> $DIR/unsatisfied-outlives-bound.rs:18:5 + --> $DIR/unsatisfied-outlives-bound.rs:17:5 | LL | type Item<'a> = &'a (); | ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/generic-associated-types/variance_constraints.rs b/src/test/ui/generic-associated-types/variance_constraints.rs index 36db80706b4..7bc250ee87b 100644 --- a/src/test/ui/generic-associated-types/variance_constraints.rs +++ b/src/test/ui/generic-associated-types/variance_constraints.rs @@ -1,7 +1,6 @@ // check-pass // issue #69184 #![feature(generic_associated_types)] -#![allow(incomplete_features)] trait A { type B<'a>; diff --git a/src/test/ui/parser/impl-item-type-no-body-semantic-fail.rs b/src/test/ui/parser/impl-item-type-no-body-semantic-fail.rs index 1ccc9497d9d..9871cb8fe3e 100644 --- a/src/test/ui/parser/impl-item-type-no-body-semantic-fail.rs +++ b/src/test/ui/parser/impl-item-type-no-body-semantic-fail.rs @@ -1,5 +1,4 @@ #![feature(generic_associated_types)] -//~^ WARN the feature `generic_associated_types` is incomplete fn main() {} diff --git a/src/test/ui/parser/impl-item-type-no-body-semantic-fail.stderr b/src/test/ui/parser/impl-item-type-no-body-semantic-fail.stderr index 818d73c898d..4b398d791c4 100644 --- a/src/test/ui/parser/impl-item-type-no-body-semantic-fail.stderr +++ b/src/test/ui/parser/impl-item-type-no-body-semantic-fail.stderr @@ -1,5 +1,5 @@ error: associated type in `impl` without body - --> $DIR/impl-item-type-no-body-semantic-fail.rs:9:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:8:5 | LL | type Y; | ^^^^^^- @@ -7,7 +7,7 @@ LL | type Y; | help: provide a definition for the type: `= <type>;` error: associated type in `impl` without body - --> $DIR/impl-item-type-no-body-semantic-fail.rs:12:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:11:5 | LL | type Z: Ord; | ^^^^^^^^^^^- @@ -15,13 +15,13 @@ LL | type Z: Ord; | help: provide a definition for the type: `= <type>;` error: bounds on `type`s in `impl`s have no effect - --> $DIR/impl-item-type-no-body-semantic-fail.rs:12:13 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:11:13 | LL | type Z: Ord; | ^^^ error: associated type in `impl` without body - --> $DIR/impl-item-type-no-body-semantic-fail.rs:16:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:15:5 | LL | type W: Ord where Self: Eq; | ^^^^^^^^^^^^^^^^^^^^^^^^^^- @@ -29,30 +29,21 @@ LL | type W: Ord where Self: Eq; | help: provide a definition for the type: `= <type>;` error: bounds on `type`s in `impl`s have no effect - --> $DIR/impl-item-type-no-body-semantic-fail.rs:16:13 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:15:13 | LL | type W: Ord where Self: Eq; | ^^^ error: associated type in `impl` without body - --> $DIR/impl-item-type-no-body-semantic-fail.rs:20:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:19:5 | LL | type W where Self: Eq; | ^^^^^^^^^^^^^^^^^^^^^- | | | help: provide a definition for the type: `= <type>;` -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/impl-item-type-no-body-semantic-fail.rs:1:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0658]: inherent associated types are unstable - --> $DIR/impl-item-type-no-body-semantic-fail.rs:9:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:8:5 | LL | type Y; | ^^^^^^^ @@ -61,7 +52,7 @@ LL | type Y; = help: add `#![feature(inherent_associated_types)]` to the crate attributes to enable error[E0658]: inherent associated types are unstable - --> $DIR/impl-item-type-no-body-semantic-fail.rs:12:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:11:5 | LL | type Z: Ord; | ^^^^^^^^^^^^ @@ -70,7 +61,7 @@ LL | type Z: Ord; = help: add `#![feature(inherent_associated_types)]` to the crate attributes to enable error[E0658]: inherent associated types are unstable - --> $DIR/impl-item-type-no-body-semantic-fail.rs:16:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:15:5 | LL | type W: Ord where Self: Eq; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -79,7 +70,7 @@ LL | type W: Ord where Self: Eq; = help: add `#![feature(inherent_associated_types)]` to the crate attributes to enable error[E0658]: inherent associated types are unstable - --> $DIR/impl-item-type-no-body-semantic-fail.rs:20:5 + --> $DIR/impl-item-type-no-body-semantic-fail.rs:19:5 | LL | type W where Self: Eq; | ^^^^^^^^^^^^^^^^^^^^^^ @@ -87,6 +78,6 @@ LL | type W where Self: Eq; = note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information = help: add `#![feature(inherent_associated_types)]` to the crate attributes to enable -error: aborting due to 10 previous errors; 1 warning emitted +error: aborting due to 10 previous errors For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/specialization/deafult-generic-associated-type-bound.rs b/src/test/ui/specialization/deafult-generic-associated-type-bound.rs index f14588e6e02..0f5714e996a 100644 --- a/src/test/ui/specialization/deafult-generic-associated-type-bound.rs +++ b/src/test/ui/specialization/deafult-generic-associated-type-bound.rs @@ -3,7 +3,6 @@ #![feature(specialization)] #![feature(generic_associated_types)] //~^^ WARNING `specialization` is incomplete -//~^^ WARNING the feature `generic_associated_types` is incomplete trait X { type U<'a>: PartialEq<&'a Self> where Self: 'a; diff --git a/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr b/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr index eb5d80bc4dd..e646c1640b1 100644 --- a/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr +++ b/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr @@ -8,16 +8,8 @@ LL | #![feature(specialization)] = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information = help: consider using `min_specialization` instead, which is more stable and complete -warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/deafult-generic-associated-type-bound.rs:4:12 - | -LL | #![feature(generic_associated_types)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information - error[E0277]: can't compare `T` with `T` - --> $DIR/deafult-generic-associated-type-bound.rs:19:5 + --> $DIR/deafult-generic-associated-type-bound.rs:18:5 | LL | type U<'a>: PartialEq<&'a Self> where Self: 'a; | ------------------- required by this bound in `X::U` @@ -31,6 +23,6 @@ help: consider further restricting this bound LL | impl<T: 'static + std::cmp::PartialEq> X for T { | ^^^^^^^^^^^^^^^^^^^^^ -error: aborting due to previous error; 2 warnings emitted +error: aborting due to previous error; 1 warning emitted For more information about this error, try `rustc --explain E0277`. |
