diff --git a/compiler/rustc_ast_passes/src/feature_gate.rs b/compiler/rustc_ast_passes/src/feature_gate.rs index 3e757e3843e38..89b59e5f00f1c 100644 --- a/compiler/rustc_ast_passes/src/feature_gate.rs +++ b/compiler/rustc_ast_passes/src/feature_gate.rs @@ -287,7 +287,7 @@ impl<'a> PostExpansionVisitor<'a> { if let ast::TyKind::ImplTrait(..) = ty.kind { gate_feature_post!( &self.vis, - min_type_alias_impl_trait, + type_alias_impl_trait, ty.span, "`impl Trait` in type aliases is unstable" ); diff --git a/compiler/rustc_data_structures/src/lib.rs b/compiler/rustc_data_structures/src/lib.rs index 041d52aa20abd..18bc2f896f2f2 100644 --- a/compiler/rustc_data_structures/src/lib.rs +++ b/compiler/rustc_data_structures/src/lib.rs @@ -21,7 +21,8 @@ #![feature(iter_map_while)] #![feature(maybe_uninit_uninit_array)] #![feature(min_specialization)] -#![feature(min_type_alias_impl_trait)] +#![cfg_attr(bootstrap, feature(min_type_alias_impl_trait))] +#![cfg_attr(not(bootstrap), feature(type_alias_impl_trait))] #![feature(new_uninit)] #![feature(nll)] #![feature(once_cell)] diff --git a/compiler/rustc_feature/src/active.rs b/compiler/rustc_feature/src/active.rs index a3e40daf6bf6d..ac4ecace042c2 100644 --- a/compiler/rustc_feature/src/active.rs +++ b/compiler/rustc_feature/src/active.rs @@ -489,7 +489,7 @@ declare_features! ( (active, async_closure, "1.37.0", Some(62290), None), /// Allows `impl Trait` to be used inside type aliases (RFC 2515). - (incomplete, type_alias_impl_trait, "1.38.0", Some(63063), None), + (active, type_alias_impl_trait, "1.38.0", Some(63063), None), /// Allows the definition of `const extern fn` and `const unsafe extern fn`. (active, const_extern_fn, "1.40.0", Some(64926), None), @@ -629,9 +629,6 @@ declare_features! ( /// Allows macro attributes to observe output of `#[derive]`. (active, macro_attributes_in_derive_output, "1.51.0", Some(81119), None), - /// Allows the use of type alias impl trait in function return positions - (active, min_type_alias_impl_trait, "1.52.0", Some(63063), None), - /// Allows associated types in inherent impls. (incomplete, inherent_associated_types, "1.52.0", Some(8995), None), diff --git a/compiler/rustc_feature/src/removed.rs b/compiler/rustc_feature/src/removed.rs index 29f4423ec85ac..0aa7e82c20492 100644 --- a/compiler/rustc_feature/src/removed.rs +++ b/compiler/rustc_feature/src/removed.rs @@ -111,7 +111,7 @@ declare_features! ( Some("subsumed by `.await` syntax")), /// Allows defining `existential type`s. (removed, existential_type, "1.38.0", Some(63063), None, - Some("removed in favor of `#![feature(min_type_alias_impl_trait)]`")), + Some("removed in favor of `#![feature(type_alias_impl_trait)]`")), /// Allows using the macros: /// + `__diagnostic_used` /// + `__register_diagnostic` @@ -152,6 +152,10 @@ declare_features! ( (removed, impl_trait_in_bindings, "1.55.0", Some(63065), None, Some("the implementation was not maintainable, the feature may get reintroduced once the current refactorings are done")), + /// Allows the use of type alias impl trait in function return positions + (removed, min_type_alias_impl_trait, "1.55.0", Some(63063), None, + Some("removed in favor of full type_alias_impl_trait")), + // ------------------------------------------------------------------------- // feature-group-end: removed features // ------------------------------------------------------------------------- diff --git a/library/alloc/src/lib.rs b/library/alloc/src/lib.rs index fa1f361a5b6d1..999ca9b0ad095 100644 --- a/library/alloc/src/lib.rs +++ b/library/alloc/src/lib.rs @@ -141,7 +141,8 @@ #![feature(alloc_layout_extra)] #![feature(trusted_random_access)] #![feature(try_trait_v2)] -#![feature(min_type_alias_impl_trait)] +#![cfg_attr(bootstrap, feature(min_type_alias_impl_trait))] +#![cfg_attr(not(bootstrap), feature(type_alias_impl_trait))] #![feature(associated_type_bounds)] #![feature(slice_group_by)] #![feature(decl_macro)] diff --git a/src/test/rustdoc-ui/coverage/traits.rs b/src/test/rustdoc-ui/coverage/traits.rs index 2a108dac2a5db..daa08ec25823b 100644 --- a/src/test/rustdoc-ui/coverage/traits.rs +++ b/src/test/rustdoc-ui/coverage/traits.rs @@ -2,7 +2,7 @@ // check-pass #![feature(trait_alias)] -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] /// look at this trait right here pub trait ThisTrait { diff --git a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs b/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs index 3e7b428023487..31dd786cbbf89 100644 --- a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs +++ b/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs @@ -1,5 +1,5 @@ // check-pass -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] pub trait ValidTrait {} type ImplTrait = impl ValidTrait; diff --git a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs b/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs index 7ebf4d544de1e..c18a024af4bbc 100644 --- a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs +++ b/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs @@ -1,5 +1,5 @@ // check-pass -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] pub trait ValidTrait {} type ImplTrait = impl ValidTrait; diff --git a/src/test/rustdoc/auxiliary/issue-73061.rs b/src/test/rustdoc/auxiliary/issue-73061.rs index 9b4129e771f87..e05a3bc6d9180 100644 --- a/src/test/rustdoc/auxiliary/issue-73061.rs +++ b/src/test/rustdoc/auxiliary/issue-73061.rs @@ -1,6 +1,6 @@ //edition:2018 -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] pub trait Foo { type X: std::future::Future; diff --git a/src/test/rustdoc/impl-trait-alias.rs b/src/test/rustdoc/impl-trait-alias.rs index bf73a833580c5..54c3f856ddb3c 100644 --- a/src/test/rustdoc/impl-trait-alias.rs +++ b/src/test/rustdoc/impl-trait-alias.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] trait MyTrait {} impl MyTrait for i32 {} diff --git a/src/test/rustdoc/return-impl-trait.rs b/src/test/rustdoc/return-impl-trait.rs index da4945aadf7f9..1ccf5ac46119a 100644 --- a/src/test/rustdoc/return-impl-trait.rs +++ b/src/test/rustdoc/return-impl-trait.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] pub trait Backend {} diff --git a/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr b/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr deleted file mode 100644 index bffa5150fe1ce..0000000000000 --- a/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr +++ /dev/null @@ -1,492 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/duplicate.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:10:36 - | -LL | struct SI1> { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:12:36 - | -LL | struct SI2> { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:14:39 - | -LL | struct SI3> { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:16:45 - | -LL | struct SW1 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:18:45 - | -LL | struct SW2 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:20:48 - | -LL | struct SW3 where T: Iterator { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:23:34 - | -LL | enum EI1> { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:25:34 - | -LL | enum EI2> { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:27:37 - | -LL | enum EI3> { V(T) } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:29:43 - | -LL | enum EW1 where T: Iterator { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:31:43 - | -LL | enum EW2 where T: Iterator { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:33:46 - | -LL | enum EW3 where T: Iterator { V(T) } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:36:35 - | -LL | union UI1> { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:38:35 - | -LL | union UI2> { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:40:38 - | -LL | union UI3> { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:42:44 - | -LL | union UW1 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:44:44 - | -LL | union UW2 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:46:47 - | -LL | union UW3 where T: Iterator { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:49:32 - | -LL | fn FI1>() {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:51:32 - | -LL | fn FI2>() {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:53:35 - | -LL | fn FI3>() {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:55:43 - | -LL | fn FW1() where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:57:43 - | -LL | fn FW2() where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:59:46 - | -LL | fn FW3() where T: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:65:40 - | -LL | fn FAPIT1(_: impl Iterator) {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:67:40 - | -LL | fn FAPIT2(_: impl Iterator) {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:69:43 - | -LL | fn FAPIT3(_: impl Iterator) {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:72:35 - | -LL | type TAI1> = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:74:35 - | -LL | type TAI2> = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:76:38 - | -LL | type TAI3> = T; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:78:44 - | -LL | type TAW1 where T: Iterator = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:80:44 - | -LL | type TAW2 where T: Iterator = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:82:47 - | -LL | type TAW3 where T: Iterator = T; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:85:36 - | -LL | type ETAI1> = impl Copy; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:87:36 - | -LL | type ETAI2> = impl Copy; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:89:39 - | -LL | type ETAI3> = impl Copy; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:91:40 - | -LL | type ETAI4 = impl Iterator; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:93:40 - | -LL | type ETAI5 = impl Iterator; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:95:43 - | -LL | type ETAI6 = impl Iterator; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:98:36 - | -LL | trait TRI1> {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:100:36 - | -LL | trait TRI2> {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:102:39 - | -LL | trait TRI3> {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:104:34 - | -LL | trait TRS1: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:106:34 - | -LL | trait TRS2: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:108:37 - | -LL | trait TRS3: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:110:45 - | -LL | trait TRW1 where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:112:45 - | -LL | trait TRW2 where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:114:48 - | -LL | trait TRW3 where T: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:116:46 - | -LL | trait TRSW1 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:116:46 - | -LL | trait TRSW1 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:119:46 - | -LL | trait TRSW2 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:119:46 - | -LL | trait TRSW2 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:122:49 - | -LL | trait TRSW3 where Self: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:122:49 - | -LL | trait TRSW3 where Self: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:132:40 - | -LL | type TADyn1 = dyn Iterator; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:134:44 - | -LL | type TADyn2 = Box>; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:136:43 - | -LL | type TADyn3 = dyn Iterator; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:125:43 - | -LL | trait TRA1 { type A: Iterator; } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:127:43 - | -LL | trait TRA2 { type A: Iterator; } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:129:46 - | -LL | trait TRA3 { type A: Iterator; } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first - -error: aborting due to 60 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0719`. diff --git a/src/test/ui/associated-type-bounds/duplicate.rs b/src/test/ui/associated-type-bounds/duplicate.rs index 0d7804ef1a7d5..e1dc6f8f4b63d 100644 --- a/src/test/ui/associated-type-bounds/duplicate.rs +++ b/src/test/ui/associated-type-bounds/duplicate.rs @@ -1,50 +1,110 @@ #![feature(associated_type_bounds)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![feature(untagged_unions)] use std::iter; -struct SI1> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -struct SI2> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -struct SI3> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -struct SW1 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -struct SW2 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -struct SW3 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +struct SI1> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +struct SI2> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +struct SI3> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +struct SW1 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} +struct SW2 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} +struct SW3 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} -enum EI1> { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -enum EI2> { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -enum EI3> { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -enum EW1 where T: Iterator { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -enum EW2 where T: Iterator { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -enum EW3 where T: Iterator { V(T) } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +enum EI1> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + V(T), +} +enum EI2> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + V(T), +} +enum EI3> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + V(T), +} +enum EW1 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + V(T), +} +enum EW2 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + V(T), +} +enum EW3 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + V(T), +} -union UI1> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -union UI2> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -union UI3> { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -union UW1 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -union UW2 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -union UW3 where T: Iterator { f: T } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +union UI1> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +union UI2> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +union UI3> { + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + f: T, +} +union UW1 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} +union UW2 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} +union UW3 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ + f: T, +} fn FI1>() {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] @@ -52,16 +112,34 @@ fn FI2>() {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] fn FI3>() {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -fn FW1() where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -fn FW2() where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -fn FW3() where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +fn FW1() +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +fn FW2() +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +fn FW3() +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} -fn FRPIT1() -> impl Iterator { iter::empty() } -fn FRPIT2() -> impl Iterator { iter::empty() } -fn FRPIT3() -> impl Iterator { iter::empty() } +fn FRPIT1() -> impl Iterator { + iter::empty() +} +fn FRPIT2() -> impl Iterator { + iter::empty() +} +fn FRPIT3() -> impl Iterator { + iter::empty() +} fn FAPIT1(_: impl Iterator) {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] fn FAPIT2(_: impl Iterator) {} @@ -75,12 +153,21 @@ type TAI2> = T; //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] type TAI3> = T; //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -type TAW1 where T: Iterator = T; +type TAW1 +where + T: Iterator, //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -type TAW2 where T: Iterator = T; += T; +type TAW2 +where + T: Iterator, //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -type TAW3 where T: Iterator = T; += T; +type TAW3 +where + T: Iterator, //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] += T; type ETAI1> = impl Copy; //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] @@ -107,27 +194,57 @@ trait TRS2: Iterator {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] trait TRS3: Iterator {} //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRW1 where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRW2 where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRW3 where T: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRSW1 where Self: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -//~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRSW2 where Self: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -//~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRSW3 where Self: Iterator {} -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -//~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRA1 { type A: Iterator; } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRA2 { type A: Iterator; } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] -trait TRA3 { type A: Iterator; } -//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +trait TRW1 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRW2 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRW3 +where + T: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRSW1 +where + Self: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + //~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRSW2 +where + Self: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + //~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRSW3 +where + Self: Iterator, + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] + //~| ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +{ +} +trait TRA1 { + type A: Iterator; + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +} +trait TRA2 { + type A: Iterator; + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +} +trait TRA3 { + type A: Iterator; + //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] +} type TADyn1 = dyn Iterator; //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719] diff --git a/src/test/ui/associated-type-bounds/duplicate.min_tait.stderr b/src/test/ui/associated-type-bounds/duplicate.stderr similarity index 58% rename from src/test/ui/associated-type-bounds/duplicate.min_tait.stderr rename to src/test/ui/associated-type-bounds/duplicate.stderr index 06bfac588de00..e4f4836f71ab2 100644 --- a/src/test/ui/associated-type-bounds/duplicate.min_tait.stderr +++ b/src/test/ui/associated-type-bounds/duplicate.stderr @@ -1,149 +1,149 @@ error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:10:36 + --> $DIR/duplicate.rs:7:36 | -LL | struct SI1> { f: T } +LL | struct SI1> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:12:36 + --> $DIR/duplicate.rs:11:36 | -LL | struct SI2> { f: T } +LL | struct SI2> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:14:39 + --> $DIR/duplicate.rs:15:39 | -LL | struct SI3> { f: T } +LL | struct SI3> { | ------------- ^^^^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:16:45 + --> $DIR/duplicate.rs:21:29 | -LL | struct SW1 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:18:45 + --> $DIR/duplicate.rs:28:29 | -LL | struct SW2 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:20:48 + --> $DIR/duplicate.rs:35:32 | -LL | struct SW3 where T: Iterator { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:23:34 + --> $DIR/duplicate.rs:41:34 | -LL | enum EI1> { V(T) } +LL | enum EI1> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:25:34 + --> $DIR/duplicate.rs:45:34 | -LL | enum EI2> { V(T) } +LL | enum EI2> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:27:37 + --> $DIR/duplicate.rs:49:37 | -LL | enum EI3> { V(T) } +LL | enum EI3> { | ------------- ^^^^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:29:43 + --> $DIR/duplicate.rs:55:29 | -LL | enum EW1 where T: Iterator { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:31:43 + --> $DIR/duplicate.rs:62:29 | -LL | enum EW2 where T: Iterator { V(T) } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:33:46 + --> $DIR/duplicate.rs:69:32 | -LL | enum EW3 where T: Iterator { V(T) } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:36:35 + --> $DIR/duplicate.rs:75:35 | -LL | union UI1> { f: T } +LL | union UI1> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:38:35 + --> $DIR/duplicate.rs:79:35 | -LL | union UI2> { f: T } +LL | union UI2> { | ---------- ^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:40:38 + --> $DIR/duplicate.rs:83:38 | -LL | union UI3> { f: T } +LL | union UI3> { | ------------- ^^^^^^^^^^^^^ re-bound here | | | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:42:44 + --> $DIR/duplicate.rs:89:29 | -LL | union UW1 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:44:44 + --> $DIR/duplicate.rs:96:29 | -LL | union UW2 where T: Iterator { f: T } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:46:47 + --> $DIR/duplicate.rs:103:32 | -LL | union UW3 where T: Iterator { f: T } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:49:32 + --> $DIR/duplicate.rs:109:32 | LL | fn FI1>() {} | ---------- ^^^^^^^^^^ re-bound here @@ -151,7 +151,7 @@ LL | fn FI1>() {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:51:32 + --> $DIR/duplicate.rs:111:32 | LL | fn FI2>() {} | ---------- ^^^^^^^^^^ re-bound here @@ -159,7 +159,7 @@ LL | fn FI2>() {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:53:35 + --> $DIR/duplicate.rs:113:35 | LL | fn FI3>() {} | ------------- ^^^^^^^^^^^^^ re-bound here @@ -167,31 +167,31 @@ LL | fn FI3>() {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:55:43 + --> $DIR/duplicate.rs:117:29 | -LL | fn FW1() where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:57:43 + --> $DIR/duplicate.rs:123:29 | -LL | fn FW2() where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:59:46 + --> $DIR/duplicate.rs:129:32 | -LL | fn FW3() where T: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:65:40 + --> $DIR/duplicate.rs:143:40 | LL | fn FAPIT1(_: impl Iterator) {} | ---------- ^^^^^^^^^^ re-bound here @@ -199,7 +199,7 @@ LL | fn FAPIT1(_: impl Iterator) {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:67:40 + --> $DIR/duplicate.rs:145:40 | LL | fn FAPIT2(_: impl Iterator) {} | ---------- ^^^^^^^^^^ re-bound here @@ -207,7 +207,7 @@ LL | fn FAPIT2(_: impl Iterator) {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:69:43 + --> $DIR/duplicate.rs:147:43 | LL | fn FAPIT3(_: impl Iterator) {} | ------------- ^^^^^^^^^^^^^ re-bound here @@ -215,7 +215,7 @@ LL | fn FAPIT3(_: impl Iterator) {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:72:35 + --> $DIR/duplicate.rs:150:35 | LL | type TAI1> = T; | ---------- ^^^^^^^^^^ re-bound here @@ -223,7 +223,7 @@ LL | type TAI1> = T; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:74:35 + --> $DIR/duplicate.rs:152:35 | LL | type TAI2> = T; | ---------- ^^^^^^^^^^ re-bound here @@ -231,7 +231,7 @@ LL | type TAI2> = T; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:76:38 + --> $DIR/duplicate.rs:154:38 | LL | type TAI3> = T; | ------------- ^^^^^^^^^^^^^ re-bound here @@ -239,31 +239,31 @@ LL | type TAI3> = T; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:78:44 + --> $DIR/duplicate.rs:158:29 | -LL | type TAW1 where T: Iterator = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:80:44 + --> $DIR/duplicate.rs:163:29 | -LL | type TAW2 where T: Iterator = T; - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:82:47 + --> $DIR/duplicate.rs:168:32 | -LL | type TAW3 where T: Iterator = T; - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:85:36 + --> $DIR/duplicate.rs:172:36 | LL | type ETAI1> = impl Copy; | ---------- ^^^^^^^^^^ re-bound here @@ -271,7 +271,7 @@ LL | type ETAI1> = impl Copy; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:87:36 + --> $DIR/duplicate.rs:174:36 | LL | type ETAI2> = impl Copy; | ---------- ^^^^^^^^^^ re-bound here @@ -279,7 +279,7 @@ LL | type ETAI2> = impl Copy; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:89:39 + --> $DIR/duplicate.rs:176:39 | LL | type ETAI3> = impl Copy; | ------------- ^^^^^^^^^^^^^ re-bound here @@ -287,7 +287,7 @@ LL | type ETAI3> = impl Copy; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:91:40 + --> $DIR/duplicate.rs:178:40 | LL | type ETAI4 = impl Iterator; | ---------- ^^^^^^^^^^ re-bound here @@ -295,7 +295,7 @@ LL | type ETAI4 = impl Iterator; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:93:40 + --> $DIR/duplicate.rs:180:40 | LL | type ETAI5 = impl Iterator; | ---------- ^^^^^^^^^^ re-bound here @@ -303,7 +303,7 @@ LL | type ETAI5 = impl Iterator; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:95:43 + --> $DIR/duplicate.rs:182:43 | LL | type ETAI6 = impl Iterator; | ------------- ^^^^^^^^^^^^^ re-bound here @@ -311,7 +311,7 @@ LL | type ETAI6 = impl Iterator; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:98:36 + --> $DIR/duplicate.rs:185:36 | LL | trait TRI1> {} | ---------- ^^^^^^^^^^ re-bound here @@ -319,7 +319,7 @@ LL | trait TRI1> {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:100:36 + --> $DIR/duplicate.rs:187:36 | LL | trait TRI2> {} | ---------- ^^^^^^^^^^ re-bound here @@ -327,7 +327,7 @@ LL | trait TRI2> {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:102:39 + --> $DIR/duplicate.rs:189:39 | LL | trait TRI3> {} | ------------- ^^^^^^^^^^^^^ re-bound here @@ -335,7 +335,7 @@ LL | trait TRI3> {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:104:34 + --> $DIR/duplicate.rs:191:34 | LL | trait TRS1: Iterator {} | ---------- ^^^^^^^^^^ re-bound here @@ -343,7 +343,7 @@ LL | trait TRS1: Iterator {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:106:34 + --> $DIR/duplicate.rs:193:34 | LL | trait TRS2: Iterator {} | ---------- ^^^^^^^^^^ re-bound here @@ -351,7 +351,7 @@ LL | trait TRS2: Iterator {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:108:37 + --> $DIR/duplicate.rs:195:37 | LL | trait TRS3: Iterator {} | ------------- ^^^^^^^^^^^^^ re-bound here @@ -359,79 +359,79 @@ LL | trait TRS3: Iterator {} | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:110:45 + --> $DIR/duplicate.rs:199:29 | -LL | trait TRW1 where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:112:45 + --> $DIR/duplicate.rs:205:29 | -LL | trait TRW2 where T: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:114:48 + --> $DIR/duplicate.rs:211:32 | -LL | trait TRW3 where T: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | T: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:116:46 + --> $DIR/duplicate.rs:217:32 | -LL | trait TRSW1 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:116:46 + --> $DIR/duplicate.rs:217:32 | -LL | trait TRSW1 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:119:46 + --> $DIR/duplicate.rs:224:32 | -LL | trait TRSW2 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:119:46 + --> $DIR/duplicate.rs:224:32 | -LL | trait TRSW2 where Self: Iterator {} - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:122:49 + --> $DIR/duplicate.rs:231:35 | -LL | trait TRSW3 where Self: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:122:49 + --> $DIR/duplicate.rs:231:35 | -LL | trait TRSW3 where Self: Iterator {} - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | Self: Iterator, + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:132:40 + --> $DIR/duplicate.rs:249:40 | LL | type TADyn1 = dyn Iterator; | ---------- ^^^^^^^^^^ re-bound here @@ -439,7 +439,7 @@ LL | type TADyn1 = dyn Iterator; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:134:44 + --> $DIR/duplicate.rs:251:44 | LL | type TADyn2 = Box>; | ---------- ^^^^^^^^^^ re-bound here @@ -447,7 +447,7 @@ LL | type TADyn2 = Box>; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:136:43 + --> $DIR/duplicate.rs:253:43 | LL | type TADyn3 = dyn Iterator; | ------------- ^^^^^^^^^^^^^ re-bound here @@ -455,28 +455,28 @@ LL | type TADyn3 = dyn Iterator; | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:125:43 + --> $DIR/duplicate.rs:237:34 | -LL | trait TRA1 { type A: Iterator; } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | type A: Iterator; + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:127:43 + --> $DIR/duplicate.rs:241:34 | -LL | trait TRA2 { type A: Iterator; } - | ---------- ^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | type A: Iterator; + | ---------- ^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified - --> $DIR/duplicate.rs:129:46 + --> $DIR/duplicate.rs:245:37 | -LL | trait TRA3 { type A: Iterator; } - | ------------- ^^^^^^^^^^^^^ re-bound here - | | - | `Item` bound here first +LL | type A: Iterator; + | ------------- ^^^^^^^^^^^^^ re-bound here + | | + | `Item` bound here first error: aborting due to 60 previous errors diff --git a/src/test/ui/associated-type-bounds/trait-alias-impl-trait.full_tait.stderr b/src/test/ui/associated-type-bounds/trait-alias-impl-trait.full_tait.stderr deleted file mode 100644 index d4da4babf4e11..0000000000000 --- a/src/test/ui/associated-type-bounds/trait-alias-impl-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/trait-alias-impl-trait.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/associated-type-bounds/trait-alias-impl-trait.rs b/src/test/ui/associated-type-bounds/trait-alias-impl-trait.rs index cf20631af5bca..e223a89574170 100644 --- a/src/test/ui/associated-type-bounds/trait-alias-impl-trait.rs +++ b/src/test/ui/associated-type-bounds/trait-alias-impl-trait.rs @@ -1,39 +1,59 @@ // run-pass #![feature(associated_type_bounds)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::ops::Add; -trait Tr1 { type As1; fn mk(self) -> Self::As1; } -trait Tr2<'a> { fn tr2(self) -> &'a Self; } +trait Tr1 { + type As1; + fn mk(self) -> Self::As1; +} +trait Tr2<'a> { + fn tr2(self) -> &'a Self; +} -fn assert_copy(x: T) { let _x = x; let _x = x; } +fn assert_copy(x: T) { + let _x = x; + let _x = x; +} fn assert_static(_: T) {} fn assert_forall_tr2 Tr2<'a>>(_: T) {} struct S1; #[derive(Copy, Clone)] struct S2; -impl Tr1 for S1 { type As1 = S2; fn mk(self) -> Self::As1 { S2 } } +impl Tr1 for S1 { + type As1 = S2; + fn mk(self) -> Self::As1 { + S2 + } +} type Et1 = impl Tr1; -fn def_et1() -> Et1 { S1 } -pub fn use_et1() { assert_copy(def_et1().mk()); } +fn def_et1() -> Et1 { + S1 +} +pub fn use_et1() { + assert_copy(def_et1().mk()); +} type Et2 = impl Tr1; -fn def_et2() -> Et2 { S1 } -pub fn use_et2() { assert_static(def_et2().mk()); } +fn def_et2() -> Et2 { + S1 +} +pub fn use_et2() { + assert_static(def_et2().mk()); +} type Et3 = impl Tr1>>>; fn def_et3() -> Et3 { struct A; impl Tr1 for A { type As1 = core::ops::Range; - fn mk(self) -> Self::As1 { 0..10 } + fn mk(self) -> Self::As1 { + 0..10 + } } A } @@ -53,14 +73,20 @@ fn def_et4() -> Et4 { struct A; impl Tr1 for A { type As1 = A; - fn mk(self) -> A { A } + fn mk(self) -> A { + A + } } impl<'a> Tr2<'a> for A { - fn tr2(self) -> &'a Self { &A } + fn tr2(self) -> &'a Self { + &A + } } A } -pub fn use_et4() { assert_forall_tr2(def_et4().mk()); } +pub fn use_et4() { + assert_forall_tr2(def_et4().mk()); +} fn main() { let _ = use_et1(); diff --git a/src/test/ui/associated-types/issue-63591.full_tait.stderr b/src/test/ui/associated-types/issue-63591.full_tait.stderr deleted file mode 100644 index 9857f7e2677a8..0000000000000 --- a/src/test/ui/associated-types/issue-63591.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-63591.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/associated-types/issue-63591.rs b/src/test/ui/associated-types/issue-63591.rs index bba9ae2d9e70f..4d2e39f4da60c 100644 --- a/src/test/ui/associated-types/issue-63591.rs +++ b/src/test/ui/associated-types/issue-63591.rs @@ -1,10 +1,7 @@ // check-pass #![feature(associated_type_bounds)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/async-await/issues/issue-60655-latebound-regions.full_tait.stderr b/src/test/ui/async-await/issues/issue-60655-latebound-regions.full_tait.stderr deleted file mode 100644 index cc61becd71b1f..0000000000000 --- a/src/test/ui/async-await/issues/issue-60655-latebound-regions.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-60655-latebound-regions.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/async-await/issues/issue-60655-latebound-regions.rs b/src/test/ui/async-await/issues/issue-60655-latebound-regions.rs index f8b6a43896166..66a3b07c3bd96 100644 --- a/src/test/ui/async-await/issues/issue-60655-latebound-regions.rs +++ b/src/test/ui/async-await/issues/issue-60655-latebound-regions.rs @@ -3,10 +3,7 @@ // check-pass // edition:2018 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::future::Future; diff --git a/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.rs b/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.rs index d8553815b75de..e0bb7dbfae9f1 100644 --- a/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.rs +++ b/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.rs @@ -1,5 +1,5 @@ #![feature(imported_main)] -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] #![allow(incomplete_features)] //~^^^ ERROR `main` function not found in crate pub mod foo { diff --git a/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.stderr b/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.stderr index c4c0afc5687c1..6aa170fdfd2a7 100644 --- a/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.stderr +++ b/src/test/ui/entry-point/imported_main_const_fn_item_type_forbidden.stderr @@ -2,7 +2,7 @@ error[E0601]: `main` function not found in crate `imported_main_const_fn_item_ty --> $DIR/imported_main_const_fn_item_type_forbidden.rs:1:1 | LL | / #![feature(imported_main)] -LL | | #![feature(min_type_alias_impl_trait)] +LL | | #![feature(type_alias_impl_trait)] LL | | #![allow(incomplete_features)] LL | | ... | diff --git a/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.rs b/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.rs deleted file mode 100644 index ffe297a5a6a2f..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.rs +++ /dev/null @@ -1,50 +0,0 @@ -// ignore-compare-mode-chalk -use std::fmt::Debug; - -type Foo = impl Debug; //~ ERROR `impl Trait` in type aliases is unstable - -trait Bar { - type Baa: Debug; - fn define() -> Self::Baa; -} - -impl Bar for () { - type Baa = impl Debug; //~ ERROR `impl Trait` in type aliases is unstable - fn define() -> Self::Baa { - 0 - } -} - -fn define() -> Foo { - 0 -} - -trait TraitWithDefault { - type Assoc = impl Debug; - //~^ ERROR associated type defaults are unstable - //~| ERROR `impl Trait` not allowed outside of function - //~| ERROR `impl Trait` in type aliases is unstable -} - -type NestedFree = (Vec, impl Debug, impl Iterator); -//~^ ERROR `impl Trait` in type aliases is unstable -//~| ERROR `impl Trait` in type aliases is unstable -//~| ERROR `impl Trait` in type aliases is unstable -//~| ERROR `impl Trait` in type aliases is unstable - -fn define_multiple() -> NestedFree { - (vec![true], 0u8, 0i32..1) -} - -impl Bar for u8 { - type Baa = (Vec, impl Debug, impl Iterator + Debug); - //~^ ERROR `impl Trait` in type aliases is unstable - //~| ERROR `impl Trait` in type aliases is unstable - //~| ERROR `impl Trait` in type aliases is unstable - //~| ERROR `impl Trait` in type aliases is unstable - fn define() -> Self::Baa { - (vec![true], 0u8, 0i32..1) - } -} - -fn main() {} diff --git a/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.stderr b/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.stderr deleted file mode 100644 index 07857289aaeb5..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-min_type_alias_impl_trait.stderr +++ /dev/null @@ -1,118 +0,0 @@ -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:4:12 - | -LL | type Foo = impl Debug; - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:12:16 - | -LL | type Baa = impl Debug; - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: associated type defaults are unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:23:5 - | -LL | type Assoc = impl Debug; - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: see issue #29661 for more information - = help: add `#![feature(associated_type_defaults)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:23:18 - | -LL | type Assoc = impl Debug; - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:29:24 - | -LL | type NestedFree = (Vec, impl Debug, impl Iterator); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:29:37 - | -LL | type NestedFree = (Vec, impl Debug, impl Iterator); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:29:49 - | -LL | type NestedFree = (Vec, impl Debug, impl Iterator); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:29:70 - | -LL | type NestedFree = (Vec, impl Debug, impl Iterator); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:40:21 - | -LL | type Baa = (Vec, impl Debug, impl Iterator + Debug); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:40:34 - | -LL | type Baa = (Vec, impl Debug, impl Iterator + Debug); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:40:46 - | -LL | type Baa = (Vec, impl Debug, impl Iterator + Debug); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:40:67 - | -LL | type Baa = (Vec, impl Debug, impl Iterator + Debug); - | ^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -error[E0562]: `impl Trait` not allowed outside of function and method return types - --> $DIR/feature-gate-min_type_alias_impl_trait.rs:23:18 - | -LL | type Assoc = impl Debug; - | ^^^^^^^^^^ - -error: aborting due to 13 previous errors - -Some errors have detailed explanations: E0562, E0658. -For more information about an error, try `rustc --explain E0562`. diff --git a/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.rs b/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.rs index 4fb1cd2aae1d3..ea82837d4bf55 100644 --- a/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.rs +++ b/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.rs @@ -1,5 +1,5 @@ // ignore-compare-mode-chalk -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] use std::fmt::Debug; type Foo = impl Debug; @@ -13,7 +13,7 @@ fn define() -> Bar { type Foo2 = impl Debug; fn define2() { - let x = || -> Foo2 { 42 }; //~ ERROR not permitted here + let x = || -> Foo2 { 42 }; } type Foo3 = impl Debug; diff --git a/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.stderr b/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.stderr index 10409d5fc4bad..da3ddb1c50979 100644 --- a/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.stderr +++ b/src/test/ui/feature-gates/feature-gate-type_alias_impl_trait.stderr @@ -10,15 +10,6 @@ LL | Bar(42) = note: expected opaque type `impl Debug` found type `{integer}` -error[E0658]: type alias impl trait is not permitted here - --> $DIR/feature-gate-type_alias_impl_trait.rs:16:19 - | -LL | let x = || -> Foo2 { 42 }; - | ^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - error[E0308]: mismatched types --> $DIR/feature-gate-type_alias_impl_trait.rs:23:18 | @@ -77,7 +68,6 @@ error: could not find defining uses LL | type Foo4 = impl Debug; | ^^^^^^^^^^ -error: aborting due to 8 previous errors +error: aborting due to 7 previous errors -Some errors have detailed explanations: E0308, E0658. -For more information about an error, try `rustc --explain E0308`. +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/generator/layout-error.full_tait.stderr b/src/test/ui/generator/layout-error.full_tait.stderr deleted file mode 100644 index bf647d089833a..0000000000000 --- a/src/test/ui/generator/layout-error.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -error[E0425]: cannot find value `Foo` in this scope - --> $DIR/layout-error.rs:24:17 - | -LL | let a = Foo; - | ^^^ not found in this scope - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/layout-error.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0425`. diff --git a/src/test/ui/generator/layout-error.min_tait.stderr b/src/test/ui/generator/layout-error.min_tait.stderr deleted file mode 100644 index ed31c260cbc0f..0000000000000 --- a/src/test/ui/generator/layout-error.min_tait.stderr +++ /dev/null @@ -1,19 +0,0 @@ -error[E0425]: cannot find value `Foo` in this scope - --> $DIR/layout-error.rs:24:17 - | -LL | let a = Foo; - | ^^^ not found in this scope - -error[E0658]: type alias impl trait is not permitted here - --> $DIR/layout-error.rs:30:27 - | -LL | Task::spawn(&POOL, || cb()); - | ^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - -error: aborting due to 2 previous errors - -Some errors have detailed explanations: E0425, E0658. -For more information about an error, try `rustc --explain E0425`. diff --git a/src/test/ui/generator/layout-error.rs b/src/test/ui/generator/layout-error.rs index a5efc3899dd4d..7c3d187409a2f 100644 --- a/src/test/ui/generator/layout-error.rs +++ b/src/test/ui/generator/layout-error.rs @@ -3,10 +3,7 @@ // // edition:2018 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::future::Future; pub struct Task(F); @@ -27,5 +24,5 @@ fn main() { type F = impl Future; // Check that statics are inhabited computes they layout. static POOL: Task = Task::new(); - Task::spawn(&POOL, || cb()); //[min_tait]~ ERROR type alias impl trait is not permitted here + Task::spawn(&POOL, || cb()); } diff --git a/src/test/ui/generator/layout-error.stderr b/src/test/ui/generator/layout-error.stderr new file mode 100644 index 0000000000000..b1a258f4f2ca7 --- /dev/null +++ b/src/test/ui/generator/layout-error.stderr @@ -0,0 +1,9 @@ +error[E0425]: cannot find value `Foo` in this scope + --> $DIR/layout-error.rs:21:17 + | +LL | let a = Foo; + | ^^^ not found in this scope + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0425`. diff --git a/src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr b/src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr deleted file mode 100644 index 1e609e8388277..0000000000000 --- a/src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/metadata-sufficient-for-layout.rs:10:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/metadata-sufficient-for-layout.rs:28:1 - | -LL | fn main() {} - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/generator/metadata-sufficient-for-layout.rs b/src/test/ui/generator/metadata-sufficient-for-layout.rs index c01354569f07d..d0e648ee775fa 100644 --- a/src/test/ui/generator/metadata-sufficient-for-layout.rs +++ b/src/test/ui/generator/metadata-sufficient-for-layout.rs @@ -5,10 +5,7 @@ // // aux-build:metadata-sufficient-for-layout.rs -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait, rustc_attrs)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait, rustc_attrs)] #![feature(generator_trait)] extern crate metadata_sufficient_for_layout; diff --git a/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr b/src/test/ui/generator/metadata-sufficient-for-layout.stderr similarity index 71% rename from src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr rename to src/test/ui/generator/metadata-sufficient-for-layout.stderr index 52d42fd59a003..3488b04f2267e 100644 --- a/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr +++ b/src/test/ui/generator/metadata-sufficient-for-layout.stderr @@ -1,5 +1,5 @@ error: fatal error triggered by #[rustc_error] - --> $DIR/metadata-sufficient-for-layout.rs:28:1 + --> $DIR/metadata-sufficient-for-layout.rs:25:1 | LL | fn main() {} | ^^^^^^^^^ diff --git a/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.full_tait.stderr b/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.full_tait.stderr deleted file mode 100644 index 174c4c62da92e..0000000000000 --- a/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/associated-impl-trait-type-generic-trait.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.rs b/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.rs index b2dad596ffa9c..6c7c46b0e3dbb 100644 --- a/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.rs +++ b/src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // build-pass (FIXME(62277): could be check-pass?) trait Bar {} diff --git a/src/test/ui/impl-trait/associated-impl-trait-type-trivial.full_tait.stderr b/src/test/ui/impl-trait/associated-impl-trait-type-trivial.full_tait.stderr deleted file mode 100644 index e3dd4a60b4df7..0000000000000 --- a/src/test/ui/impl-trait/associated-impl-trait-type-trivial.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/associated-impl-trait-type-trivial.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/associated-impl-trait-type-trivial.rs b/src/test/ui/impl-trait/associated-impl-trait-type-trivial.rs index c101ba2294830..cdda341cad87a 100644 --- a/src/test/ui/impl-trait/associated-impl-trait-type-trivial.rs +++ b/src/test/ui/impl-trait/associated-impl-trait-type-trivial.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // build-pass (FIXME(62277): could be check-pass?) trait Bar {} diff --git a/src/test/ui/impl-trait/associated-impl-trait-type.full_tait.stderr b/src/test/ui/impl-trait/associated-impl-trait-type.full_tait.stderr deleted file mode 100644 index 39147b00a346e..0000000000000 --- a/src/test/ui/impl-trait/associated-impl-trait-type.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/associated-impl-trait-type.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/associated-impl-trait-type.rs b/src/test/ui/impl-trait/associated-impl-trait-type.rs index 5c28eba2261fc..d0661d66f4b48 100644 --- a/src/test/ui/impl-trait/associated-impl-trait-type.rs +++ b/src/test/ui/impl-trait/associated-impl-trait-type.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // build-pass (FIXME(62277): could be check-pass?) trait Bar {} diff --git a/src/test/ui/impl-trait/auto-trait.full_tait.stderr b/src/test/ui/impl-trait/auto-trait.full_tait.stderr deleted file mode 100644 index 314617748b0ba..0000000000000 --- a/src/test/ui/impl-trait/auto-trait.full_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/auto-trait.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` - --> $DIR/auto-trait.rs:24:1 - | -LL | impl AnotherTrait for T {} - | -------------------------------- first implementation here -... -LL | impl AnotherTrait for D { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D` - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0119`. diff --git a/src/test/ui/impl-trait/auto-trait.rs b/src/test/ui/impl-trait/auto-trait.rs index c965a34c12b32..cf2773f4ef59d 100644 --- a/src/test/ui/impl-trait/auto-trait.rs +++ b/src/test/ui/impl-trait/auto-trait.rs @@ -1,9 +1,6 @@ // Tests that type alias impls traits do not leak auto-traits for // the purposes of coherence checking -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait OpaqueTrait {} impl OpaqueTrait for T {} diff --git a/src/test/ui/impl-trait/auto-trait.min_tait.stderr b/src/test/ui/impl-trait/auto-trait.stderr similarity index 93% rename from src/test/ui/impl-trait/auto-trait.min_tait.stderr rename to src/test/ui/impl-trait/auto-trait.stderr index 75a5b0cb87db1..26cd8fb6a9b5c 100644 --- a/src/test/ui/impl-trait/auto-trait.min_tait.stderr +++ b/src/test/ui/impl-trait/auto-trait.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` - --> $DIR/auto-trait.rs:24:1 + --> $DIR/auto-trait.rs:21:1 | LL | impl AnotherTrait for T {} | -------------------------------- first implementation here diff --git a/src/test/ui/impl-trait/bound-normalization-pass.rs b/src/test/ui/impl-trait/bound-normalization-pass.rs index 4218bc5206596..51718079d2c48 100644 --- a/src/test/ui/impl-trait/bound-normalization-pass.rs +++ b/src/test/ui/impl-trait/bound-normalization-pass.rs @@ -4,7 +4,7 @@ //[sa] compile-flags: -Z save-analysis //-^ To make this the regression test for #75962. -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] // See issue 60414 diff --git a/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr b/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr deleted file mode 100644 index 286dd7aafb43f..0000000000000 --- a/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr +++ /dev/null @@ -1,57 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-55872-1.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0276]: impl has stricter requirements than trait - --> $DIR/issue-55872-1.rs:17:5 - | -LL | fn foo() -> Self::E; - | ----------------------- definition of `foo` from trait -... -LL | fn foo() -> Self::E { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `T: Default` - -error[E0277]: the trait bound `S: Copy` is not satisfied in `(S, T)` - --> $DIR/issue-55872-1.rs:13:14 - | -LL | type E = impl Copy; - | ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `S` - | - = note: required because it appears within the type `(S, T)` -help: consider further restricting this bound - | -LL | impl Bar for S { - | ^^^^^^^^^^^^^^^^^^^ - -error[E0277]: the trait bound `T: Copy` is not satisfied in `(S, T)` - --> $DIR/issue-55872-1.rs:13:14 - | -LL | type E = impl Copy; - | ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `T` - | - = note: required because it appears within the type `(S, T)` -help: consider further restricting this bound - | -LL | fn foo() -> Self::E { - | ^^^^^^^^^^^^^^^^^^^ - -error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872-1.rs:17:37 - | -LL | fn foo() -> Self::E { - | _____________________________________^ -LL | | -LL | | -LL | | (S::default(), T::default()) -LL | | } - | |_____^ - -error: aborting due to 4 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0276, E0277. -For more information about an error, try `rustc --explain E0276`. diff --git a/src/test/ui/impl-trait/issue-55872-1.rs b/src/test/ui/impl-trait/issue-55872-1.rs index a9e9c9b5bebeb..72a060abae3e7 100644 --- a/src/test/ui/impl-trait/issue-55872-1.rs +++ b/src/test/ui/impl-trait/issue-55872-1.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait Bar { type E: Copy; diff --git a/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr b/src/test/ui/impl-trait/issue-55872-1.stderr similarity index 92% rename from src/test/ui/impl-trait/issue-55872-1.min_tait.stderr rename to src/test/ui/impl-trait/issue-55872-1.stderr index 653299f4cbcee..6411c1b5d1ca2 100644 --- a/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr +++ b/src/test/ui/impl-trait/issue-55872-1.stderr @@ -1,5 +1,5 @@ error[E0276]: impl has stricter requirements than trait - --> $DIR/issue-55872-1.rs:17:5 + --> $DIR/issue-55872-1.rs:14:5 | LL | fn foo() -> Self::E; | ----------------------- definition of `foo` from trait @@ -8,7 +8,7 @@ LL | fn foo() -> Self::E { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `T: Default` error[E0277]: the trait bound `S: Copy` is not satisfied in `(S, T)` - --> $DIR/issue-55872-1.rs:13:14 + --> $DIR/issue-55872-1.rs:10:14 | LL | type E = impl Copy; | ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `S` @@ -20,7 +20,7 @@ LL | impl Bar for S { | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied in `(S, T)` - --> $DIR/issue-55872-1.rs:13:14 + --> $DIR/issue-55872-1.rs:10:14 | LL | type E = impl Copy; | ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `T` @@ -32,7 +32,7 @@ LL | fn foo() -> Self::E { | ^^^^^^^^^^^^^^^^^^^ error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872-1.rs:17:37 + --> $DIR/issue-55872-1.rs:14:37 | LL | fn foo() -> Self::E { | _____________________________________^ diff --git a/src/test/ui/impl-trait/issue-55872-2.full_tait.stderr b/src/test/ui/impl-trait/issue-55872-2.full_tait.stderr deleted file mode 100644 index a8fc681a093d5..0000000000000 --- a/src/test/ui/impl-trait/issue-55872-2.full_tait.stderr +++ /dev/null @@ -1,28 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-55872-2.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0277]: the trait bound `impl Future: Copy` is not satisfied - --> $DIR/issue-55872-2.rs:16:14 - | -LL | type E = impl std::marker::Copy; - | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `impl Future` - -error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872-2.rs:18:28 - | -LL | fn foo() -> Self::E { - | ____________________________^ -LL | | -LL | | async {} -LL | | } - | |_____^ - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/impl-trait/issue-55872-2.rs b/src/test/ui/impl-trait/issue-55872-2.rs index cd72b2eec3cf9..6eda1dc62ec62 100644 --- a/src/test/ui/impl-trait/issue-55872-2.rs +++ b/src/test/ui/impl-trait/issue-55872-2.rs @@ -1,10 +1,7 @@ // edition:2018 // ignore-compare-mode-chalk -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait Bar { type E: Copy; diff --git a/src/test/ui/impl-trait/issue-55872-2.min_tait.stderr b/src/test/ui/impl-trait/issue-55872-2.stderr similarity index 89% rename from src/test/ui/impl-trait/issue-55872-2.min_tait.stderr rename to src/test/ui/impl-trait/issue-55872-2.stderr index 57f81443dccdf..58c5ee45051af 100644 --- a/src/test/ui/impl-trait/issue-55872-2.min_tait.stderr +++ b/src/test/ui/impl-trait/issue-55872-2.stderr @@ -1,11 +1,11 @@ error[E0277]: the trait bound `impl Future: Copy` is not satisfied - --> $DIR/issue-55872-2.rs:16:14 + --> $DIR/issue-55872-2.rs:13:14 | LL | type E = impl std::marker::Copy; | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `impl Future` error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872-2.rs:18:28 + --> $DIR/issue-55872-2.rs:15:28 | LL | fn foo() -> Self::E { | ____________________________^ diff --git a/src/test/ui/impl-trait/issue-55872.full_tait.stderr b/src/test/ui/impl-trait/issue-55872.full_tait.stderr deleted file mode 100644 index e549fec1c229e..0000000000000 --- a/src/test/ui/impl-trait/issue-55872.full_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-55872.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872.rs:16:28 - | -LL | fn foo() -> Self::E { - | ____________________________^ -LL | | -LL | | || () -LL | | } - | |_____^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/impl-trait/issue-55872.rs b/src/test/ui/impl-trait/issue-55872.rs index e3fc523feccb9..bbd940254178c 100644 --- a/src/test/ui/impl-trait/issue-55872.rs +++ b/src/test/ui/impl-trait/issue-55872.rs @@ -1,8 +1,5 @@ // ignore-compare-mode-chalk -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait Bar { type E: Copy; @@ -14,7 +11,7 @@ impl Bar for S { type E = impl Copy; fn foo() -> Self::E { - //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias + //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias || () } } diff --git a/src/test/ui/impl-trait/issue-55872.min_tait.stderr b/src/test/ui/impl-trait/issue-55872.stderr similarity index 89% rename from src/test/ui/impl-trait/issue-55872.min_tait.stderr rename to src/test/ui/impl-trait/issue-55872.stderr index 341dba95cad85..60654ec34610f 100644 --- a/src/test/ui/impl-trait/issue-55872.min_tait.stderr +++ b/src/test/ui/impl-trait/issue-55872.stderr @@ -1,5 +1,5 @@ error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-55872.rs:16:28 + --> $DIR/issue-55872.rs:13:28 | LL | fn foo() -> Self::E { | ____________________________^ diff --git a/src/test/ui/impl-trait/issue-86465.rs b/src/test/ui/impl-trait/issue-86465.rs index 23a3748c12c6a..a6976daff0186 100644 --- a/src/test/ui/impl-trait/issue-86465.rs +++ b/src/test/ui/impl-trait/issue-86465.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type X<'a, 'b> = impl std::fmt::Debug; diff --git a/src/test/ui/impl-trait/issues/issue-53457.full_tait.stderr b/src/test/ui/impl-trait/issues/issue-53457.full_tait.stderr deleted file mode 100644 index 906578c291f16..0000000000000 --- a/src/test/ui/impl-trait/issues/issue-53457.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-53457.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/issues/issue-53457.rs b/src/test/ui/impl-trait/issues/issue-53457.rs index c44e7f01f25d0..7b9c2c53aad4f 100644 --- a/src/test/ui/impl-trait/issues/issue-53457.rs +++ b/src/test/ui/impl-trait/issues/issue-53457.rs @@ -1,10 +1,6 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete - +#![feature(type_alias_impl_trait)] type X = impl Clone; fn bar(f: F) -> F { diff --git a/src/test/ui/impl-trait/issues/issue-70877.min_tait.stderr b/src/test/ui/impl-trait/issues/issue-70877.min_tait.stderr deleted file mode 100644 index 1f4e3f78afa45..0000000000000 --- a/src/test/ui/impl-trait/issues/issue-70877.min_tait.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0271]: type mismatch resolving `::Item == Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> Option + 'static)>` - --> $DIR/issue-70877.rs:10:12 - | -LL | type FooRet = impl std::fmt::Debug; - | -------------------- the found opaque type -... -LL | type Foo = impl Iterator; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found opaque type - | - = note: expected struct `Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> Option + 'static)>` - found struct `Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> impl Debug + 'static)>` - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0271`. diff --git a/src/test/ui/impl-trait/issues/issue-70877.rs b/src/test/ui/impl-trait/issues/issue-70877.rs index 29aa705ef9d4d..853c2a82bede4 100644 --- a/src/test/ui/impl-trait/issues/issue-70877.rs +++ b/src/test/ui/impl-trait/issues/issue-70877.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -#![allow(incomplete_features)] +#![feature(type_alias_impl_trait)] type FooArg<'a> = &'a dyn ToString; type FooRet = impl std::fmt::Debug; diff --git a/src/test/ui/impl-trait/issues/issue-70877.full_tait.stderr b/src/test/ui/impl-trait/issues/issue-70877.stderr similarity index 95% rename from src/test/ui/impl-trait/issues/issue-70877.full_tait.stderr rename to src/test/ui/impl-trait/issues/issue-70877.stderr index 1f4e3f78afa45..b6861039f6a99 100644 --- a/src/test/ui/impl-trait/issues/issue-70877.full_tait.stderr +++ b/src/test/ui/impl-trait/issues/issue-70877.stderr @@ -1,5 +1,5 @@ error[E0271]: type mismatch resolving `::Item == Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> Option + 'static)>` - --> $DIR/issue-70877.rs:10:12 + --> $DIR/issue-70877.rs:7:12 | LL | type FooRet = impl std::fmt::Debug; | -------------------- the found opaque type diff --git a/src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr b/src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr deleted file mode 100644 index 728644f757991..0000000000000 --- a/src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr +++ /dev/null @@ -1,32 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-78722.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/issue-78722.rs:15:20 - | -LL | type F = impl core::future::Future; - | -------------------------------------- the expected opaque type -... -LL | let f: F = async { 1 }; - | - ^^^^^^^^^^^ expected opaque type, found a different opaque type - | | - | expected due to this - | - ::: $SRC_DIR/core/src/future/mod.rs:LL:COL - | -LL | pub const fn from_generator(gen: T) -> impl Future - | ------------------------------- the found opaque type - | - = note: expected opaque type `impl Future` (opaque type at <$DIR/issue-78722.rs:8:10>) - found opaque type `impl Future` (opaque type at <$SRC_DIR/core/src/future/mod.rs:LL:COL>) - = note: distinct uses of `impl Trait` result in different opaque types - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/impl-trait/issues/issue-78722.rs b/src/test/ui/impl-trait/issues/issue-78722.rs index 480b55eed21e2..bdbd20f9d2b88 100644 --- a/src/test/ui/impl-trait/issues/issue-78722.rs +++ b/src/test/ui/impl-trait/issues/issue-78722.rs @@ -1,9 +1,6 @@ // edition:2018 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type F = impl core::future::Future; diff --git a/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr b/src/test/ui/impl-trait/issues/issue-78722.stderr similarity index 94% rename from src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr rename to src/test/ui/impl-trait/issues/issue-78722.stderr index 221b23ae3d2ad..f42d66d12435c 100644 --- a/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr +++ b/src/test/ui/impl-trait/issues/issue-78722.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/issue-78722.rs:15:20 + --> $DIR/issue-78722.rs:12:20 | LL | type F = impl core::future::Future; | -------------------------------------- the expected opaque type @@ -14,7 +14,7 @@ LL | let f: F = async { 1 }; LL | pub const fn from_generator(gen: T) -> impl Future | ------------------------------- the found opaque type | - = note: expected opaque type `impl Future` (opaque type at <$DIR/issue-78722.rs:8:10>) + = note: expected opaque type `impl Future` (opaque type at <$DIR/issue-78722.rs:5:10>) found opaque type `impl Future` (opaque type at <$SRC_DIR/core/src/future/mod.rs:LL:COL>) = note: distinct uses of `impl Trait` result in different opaque types diff --git a/src/test/ui/impl-trait/issues/issue-86201.rs b/src/test/ui/impl-trait/issues/issue-86201.rs index 8dc76f4f752a1..8cc4fef890abf 100644 --- a/src/test/ui/impl-trait/issues/issue-86201.rs +++ b/src/test/ui/impl-trait/issues/issue-86201.rs @@ -1,5 +1,5 @@ #![feature(unboxed_closures)] -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type FunType = impl Fn<()>; //~^ could not find defining uses diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.full_tait.stderr b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.full_tait.stderr deleted file mode 100644 index b2ebc7230b945..0000000000000 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/error-handling-2.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds - --> $DIR/error-handling-2.rs:16:60 - | -LL | fn foo<'a: 'b, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { - | ^^^^^^^^^ - | -note: hidden type `*mut &'a i32` captures the lifetime `'a` as defined on the function body at 16:8 - --> $DIR/error-handling-2.rs:16:8 - | -LL | fn foo<'a: 'b, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { - | ^^ - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0700`. diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs index 196ddf9b8e4ab..96d891b2cf1d7 100644 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs +++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs @@ -1,10 +1,7 @@ // compile-flags:-Zborrowck=mir #![feature(member_constraints)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #[derive(Clone)] struct CopyIfEq(T, U); diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.min_tait.stderr b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.stderr similarity index 82% rename from src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.min_tait.stderr rename to src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.stderr index 53745c290d03d..59105f11805cd 100644 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.min_tait.stderr +++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.stderr @@ -1,11 +1,11 @@ error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds - --> $DIR/error-handling-2.rs:16:60 + --> $DIR/error-handling-2.rs:13:60 | LL | fn foo<'a: 'b, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { | ^^^^^^^^^ | -note: hidden type `*mut &'a i32` captures the lifetime `'a` as defined on the function body at 16:8 - --> $DIR/error-handling-2.rs:16:8 +note: hidden type `*mut &'a i32` captures the lifetime `'a` as defined on the function body at 13:8 + --> $DIR/error-handling-2.rs:13:8 | LL | fn foo<'a: 'b, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { | ^^ diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.full_tait.stderr b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.full_tait.stderr deleted file mode 100644 index ff99d037d198f..0000000000000 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/error-handling.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: lifetime may not live long enough - --> $DIR/error-handling.rs:25:16 - | -LL | fn foo<'a, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { - | -- -- lifetime `'b` defined here - | | - | lifetime `'a` defined here -... -LL | let _: &'b i32 = *u.0; - | ^^^^^^^ type annotation requires that `'a` must outlive `'b` - | - = help: consider adding the following bound: `'a: 'b` - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs index 1ead78e02ed45..6d88f16ea8abb 100644 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs +++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs @@ -1,9 +1,6 @@ // compile-flags:-Zborrowck=mir -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #[derive(Clone)] struct CopyIfEq(T, U); diff --git a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.stderr similarity index 92% rename from src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr rename to src/test/ui/impl-trait/multiple-lifetimes/error-handling.stderr index 4b23ba81604a9..ccd0040030da2 100644 --- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr +++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.stderr @@ -1,5 +1,5 @@ error: lifetime may not live long enough - --> $DIR/error-handling.rs:25:16 + --> $DIR/error-handling.rs:22:16 | LL | fn foo<'a, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> { | -- -- lifetime `'b` defined here diff --git a/src/test/ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs b/src/test/ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs index b9857b7aa2f1d..529dcd8ece6f8 100644 --- a/src/test/ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs +++ b/src/test/ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs @@ -3,7 +3,7 @@ // revisions: migrate mir //[mir]compile-flags: -Z borrowck=mir -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] trait Trait<'a, 'b> {} impl Trait<'_, '_> for T {} diff --git a/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr b/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr deleted file mode 100644 index bccbc8cb36b15..0000000000000 --- a/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/negative-reasoning.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` - --> $DIR/negative-reasoning.rs:22:1 - | -LL | impl AnotherTrait for T {} - | ------------------------------------------- first implementation here -... -LL | impl AnotherTrait for D { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D` - | - = note: upstream crates may add a new impl of trait `std::fmt::Debug` for type `impl OpaqueTrait` in future versions - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0119`. diff --git a/src/test/ui/impl-trait/negative-reasoning.rs b/src/test/ui/impl-trait/negative-reasoning.rs index 7f608cc99db15..d173fe83fb791 100644 --- a/src/test/ui/impl-trait/negative-reasoning.rs +++ b/src/test/ui/impl-trait/negative-reasoning.rs @@ -1,9 +1,6 @@ // Tests that we cannot assume that an opaque type does *not* implement some // other trait -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait OpaqueTrait {} impl OpaqueTrait for T {} diff --git a/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr b/src/test/ui/impl-trait/negative-reasoning.stderr similarity index 94% rename from src/test/ui/impl-trait/negative-reasoning.min_tait.stderr rename to src/test/ui/impl-trait/negative-reasoning.stderr index 5727a372ddbe8..e39a8e53f7985 100644 --- a/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr +++ b/src/test/ui/impl-trait/negative-reasoning.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` - --> $DIR/negative-reasoning.rs:22:1 + --> $DIR/negative-reasoning.rs:19:1 | LL | impl AnotherTrait for T {} | ------------------------------------------- first implementation here diff --git a/src/test/ui/impl-trait/type-alias-generic-param.full_tait.stderr b/src/test/ui/impl-trait/type-alias-generic-param.full_tait.stderr deleted file mode 100644 index 965e3e4887bb2..0000000000000 --- a/src/test/ui/impl-trait/type-alias-generic-param.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-generic-param.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/type-alias-generic-param.rs b/src/test/ui/impl-trait/type-alias-generic-param.rs index 733e10e56f88e..3499b2859267c 100644 --- a/src/test/ui/impl-trait/type-alias-generic-param.rs +++ b/src/test/ui/impl-trait/type-alias-generic-param.rs @@ -3,10 +3,7 @@ // types in 'item' position when generic parameters are involved // // run-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Meow { type MeowType; @@ -14,7 +11,8 @@ trait Meow { } impl Meow for I - where I: Iterator +where + I: Iterator, { type MeowType = impl Iterator; fn meow(self) -> Self::MeowType { diff --git a/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.full_tait.stderr b/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.full_tait.stderr deleted file mode 100644 index ec939e5718a94..0000000000000 --- a/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-in-fn-body.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.rs b/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.rs index 32ca4af304348..91be4efd56a15 100644 --- a/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.rs +++ b/src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.rs @@ -1,9 +1,6 @@ // build-pass (FIXME(62277): could be check-pass?) -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/impl-trait/where-allowed.stderr b/src/test/ui/impl-trait/where-allowed.stderr index 93a3de61ccf8a..7f11d30dbaa5f 100644 --- a/src/test/ui/impl-trait/where-allowed.stderr +++ b/src/test/ui/impl-trait/where-allowed.stderr @@ -23,7 +23,7 @@ LL | type Out = impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable + = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable error[E0658]: `impl Trait` in type aliases is unstable --> $DIR/where-allowed.rs:154:23 @@ -32,7 +32,7 @@ LL | type InTypeAlias = impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable + = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable error[E0658]: `impl Trait` in type aliases is unstable --> $DIR/where-allowed.rs:157:39 @@ -41,7 +41,7 @@ LL | type InReturnInTypeAlias = fn() -> impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable + = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable error[E0562]: `impl Trait` not allowed outside of function and method return types --> $DIR/where-allowed.rs:15:40 diff --git a/src/test/ui/issues/issue-60662.full_tait.stderr b/src/test/ui/issues/issue-60662.full_tait.stderr deleted file mode 100644 index a448f85b7625d..0000000000000 --- a/src/test/ui/issues/issue-60662.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-60662.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/issues/issue-60662.min_tait.stdout b/src/test/ui/issues/issue-60662.min_tait.stdout deleted file mode 100644 index d0db578f57091..0000000000000 --- a/src/test/ui/issues/issue-60662.min_tait.stdout +++ /dev/null @@ -1,15 +0,0 @@ -// check-pass -// compile-flags: -Z unpretty=hir - -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#[prelude_import] -use ::std::prelude::rust_2015::*; -#[macro_use] -extern crate std; - -trait Animal { } - -fn main() { - pub type ServeFut = /*impl Trait*/; - } diff --git a/src/test/ui/issues/issue-60662.rs b/src/test/ui/issues/issue-60662.rs index 1320d2bbe93d0..b9faa668b80eb 100644 --- a/src/test/ui/issues/issue-60662.rs +++ b/src/test/ui/issues/issue-60662.rs @@ -1,13 +1,9 @@ // check-pass // compile-flags: -Z unpretty=hir -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] -trait Animal { -} +trait Animal {} fn main() { pub type ServeFut = impl Animal; diff --git a/src/test/ui/issues/issue-60662.full_tait.stdout b/src/test/ui/issues/issue-60662.stdout similarity index 78% rename from src/test/ui/issues/issue-60662.full_tait.stdout rename to src/test/ui/issues/issue-60662.stdout index 9ee4434d55959..14a49f20e6b22 100644 --- a/src/test/ui/issues/issue-60662.full_tait.stdout +++ b/src/test/ui/issues/issue-60662.stdout @@ -1,8 +1,6 @@ // check-pass // compile-flags: -Z unpretty=hir -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] #![feature(type_alias_impl_trait)] #[prelude_import] use ::std::prelude::rust_2015::*; diff --git a/src/test/ui/layout/debug.rs b/src/test/ui/layout/debug.rs index 317955f0e39dd..299151df66493 100644 --- a/src/test/ui/layout/debug.rs +++ b/src/test/ui/layout/debug.rs @@ -1,5 +1,5 @@ // normalize-stderr-test "pref: Align \{\n *pow2: [1-3],\n *\}" -> "pref: $$PREF_ALIGN" -#![feature(never_type, rustc_attrs, min_type_alias_impl_trait)] +#![feature(never_type, rustc_attrs, type_alias_impl_trait)] #![crate_type = "lib"] #[rustc_layout(debug)] diff --git a/src/test/ui/lint/inline-trait-and-foreign-items.full_tait.stderr b/src/test/ui/lint/inline-trait-and-foreign-items.full_tait.stderr deleted file mode 100644 index 65b4631010f20..0000000000000 --- a/src/test/ui/lint/inline-trait-and-foreign-items.full_tait.stderr +++ /dev/null @@ -1,81 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/inline-trait-and-foreign-items.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: `#[inline]` is ignored on constants - --> $DIR/inline-trait-and-foreign-items.rs:10:5 - | -LL | #[inline] - | ^^^^^^^^^ - | -note: the lint level is defined here - --> $DIR/inline-trait-and-foreign-items.rs:7:9 - | -LL | #![warn(unused_attributes)] - | ^^^^^^^^^^^^^^^^^ - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: see issue #65833 for more information - -error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:14:5 - | -LL | #[inline] - | ^^^^^^^^^ -LL | type T; - | ------- not a function or closure - -warning: `#[inline]` is ignored on constants - --> $DIR/inline-trait-and-foreign-items.rs:21:5 - | -LL | #[inline] - | ^^^^^^^^^ - | - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: see issue #65833 for more information - -error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:25:5 - | -LL | #[inline] - | ^^^^^^^^^ -LL | type T = Self; - | -------------- not a function or closure - -error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:28:5 - | -LL | #[inline] - | ^^^^^^^^^ -LL | type U = impl Trait; - | -------------------- not a function or closure - -error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:33:5 - | -LL | #[inline] - | ^^^^^^^^^ -LL | static X: u32; - | -------------- not a function or closure - -error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:36:5 - | -LL | #[inline] - | ^^^^^^^^^ -LL | type T; - | ------- not a function or closure - -error: could not find defining uses - --> $DIR/inline-trait-and-foreign-items.rs:29:14 - | -LL | type U = impl Trait; - | ^^^^^^^^^^ - -error: aborting due to 6 previous errors; 3 warnings emitted - -For more information about this error, try `rustc --explain E0518`. diff --git a/src/test/ui/lint/inline-trait-and-foreign-items.rs b/src/test/ui/lint/inline-trait-and-foreign-items.rs index 3103cc9d31dc8..6321b3c76e4d1 100644 --- a/src/test/ui/lint/inline-trait-and-foreign-items.rs +++ b/src/test/ui/lint/inline-trait-and-foreign-items.rs @@ -1,8 +1,5 @@ #![feature(extern_types)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![warn(unused_attributes)] diff --git a/src/test/ui/lint/inline-trait-and-foreign-items.min_tait.stderr b/src/test/ui/lint/inline-trait-and-foreign-items.stderr similarity index 85% rename from src/test/ui/lint/inline-trait-and-foreign-items.min_tait.stderr rename to src/test/ui/lint/inline-trait-and-foreign-items.stderr index b9f123905a70c..6ac884c12ceb9 100644 --- a/src/test/ui/lint/inline-trait-and-foreign-items.min_tait.stderr +++ b/src/test/ui/lint/inline-trait-and-foreign-items.stderr @@ -1,11 +1,11 @@ warning: `#[inline]` is ignored on constants - --> $DIR/inline-trait-and-foreign-items.rs:10:5 + --> $DIR/inline-trait-and-foreign-items.rs:7:5 | LL | #[inline] | ^^^^^^^^^ | note: the lint level is defined here - --> $DIR/inline-trait-and-foreign-items.rs:7:9 + --> $DIR/inline-trait-and-foreign-items.rs:4:9 | LL | #![warn(unused_attributes)] | ^^^^^^^^^^^^^^^^^ @@ -13,7 +13,7 @@ LL | #![warn(unused_attributes)] = note: see issue #65833 for more information error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:14:5 + --> $DIR/inline-trait-and-foreign-items.rs:11:5 | LL | #[inline] | ^^^^^^^^^ @@ -21,7 +21,7 @@ LL | type T; | ------- not a function or closure warning: `#[inline]` is ignored on constants - --> $DIR/inline-trait-and-foreign-items.rs:21:5 + --> $DIR/inline-trait-and-foreign-items.rs:18:5 | LL | #[inline] | ^^^^^^^^^ @@ -30,7 +30,7 @@ LL | #[inline] = note: see issue #65833 for more information error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:25:5 + --> $DIR/inline-trait-and-foreign-items.rs:22:5 | LL | #[inline] | ^^^^^^^^^ @@ -38,7 +38,7 @@ LL | type T = Self; | -------------- not a function or closure error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:28:5 + --> $DIR/inline-trait-and-foreign-items.rs:25:5 | LL | #[inline] | ^^^^^^^^^ @@ -46,7 +46,7 @@ LL | type U = impl Trait; | -------------------- not a function or closure error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:33:5 + --> $DIR/inline-trait-and-foreign-items.rs:30:5 | LL | #[inline] | ^^^^^^^^^ @@ -54,7 +54,7 @@ LL | static X: u32; | -------------- not a function or closure error[E0518]: attribute should be applied to function or closure - --> $DIR/inline-trait-and-foreign-items.rs:36:5 + --> $DIR/inline-trait-and-foreign-items.rs:33:5 | LL | #[inline] | ^^^^^^^^^ @@ -62,7 +62,7 @@ LL | type T; | ------- not a function or closure error: could not find defining uses - --> $DIR/inline-trait-and-foreign-items.rs:29:14 + --> $DIR/inline-trait-and-foreign-items.rs:26:14 | LL | type U = impl Trait; | ^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr deleted file mode 100644 index 619ca15839b39..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73249-2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-2.rs:29:25 - | -LL | pub fn lint_me() -> A<()>; - | ^^^^^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/lint-ctypes-73249-2.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73249-2.rs b/src/test/ui/lint/lint-ctypes-73249-2.rs index f3313f892175b..fe578f51b63a0 100644 --- a/src/test/ui/lint/lint-ctypes-73249-2.rs +++ b/src/test/ui/lint/lint-ctypes-73249-2.rs @@ -1,12 +1,9 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] -pub trait Baz { } +pub trait Baz {} -impl Baz for () { } +impl Baz for () {} type Qux = impl Baz; diff --git a/src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-2.stderr similarity index 81% rename from src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr rename to src/test/ui/lint/lint-ctypes-73249-2.stderr index 479bd5744735f..36dbe3217d75a 100644 --- a/src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr +++ b/src/test/ui/lint/lint-ctypes-73249-2.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-2.rs:29:25 + --> $DIR/lint-ctypes-73249-2.rs:26:25 | LL | pub fn lint_me() -> A<()>; | ^^^^^ not FFI-safe | note: the lint level is defined here - --> $DIR/lint-ctypes-73249-2.rs:5:9 + --> $DIR/lint-ctypes-73249-2.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr deleted file mode 100644 index af0f26a9f43e6..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73249-3.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-3.rs:21:25 - | -LL | pub fn lint_me() -> A; - | ^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/lint-ctypes-73249-3.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73249-3.rs b/src/test/ui/lint/lint-ctypes-73249-3.rs index 966c7d5ce3cb6..ec12de00739e4 100644 --- a/src/test/ui/lint/lint-ctypes-73249-3.rs +++ b/src/test/ui/lint/lint-ctypes-73249-3.rs @@ -1,16 +1,15 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] -pub trait Baz { } +pub trait Baz {} -impl Baz for u32 { } +impl Baz for u32 {} type Qux = impl Baz; -fn assign() -> Qux { 3 } +fn assign() -> Qux { + 3 +} #[repr(C)] pub struct A { diff --git a/src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-3.stderr similarity index 81% rename from src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr rename to src/test/ui/lint/lint-ctypes-73249-3.stderr index 880581ff05d22..e987ec90228c1 100644 --- a/src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr +++ b/src/test/ui/lint/lint-ctypes-73249-3.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-3.rs:21:25 + --> $DIR/lint-ctypes-73249-3.rs:20:25 | LL | pub fn lint_me() -> A; | ^ not FFI-safe | note: the lint level is defined here - --> $DIR/lint-ctypes-73249-3.rs:5:9 + --> $DIR/lint-ctypes-73249-3.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr deleted file mode 100644 index b80084fce068c..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73249-5.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-5.rs:21:25 - | -LL | pub fn lint_me() -> A; - | ^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/lint-ctypes-73249-5.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73249-5.rs b/src/test/ui/lint/lint-ctypes-73249-5.rs index 81979a9b6e696..58c2d7a501ad5 100644 --- a/src/test/ui/lint/lint-ctypes-73249-5.rs +++ b/src/test/ui/lint/lint-ctypes-73249-5.rs @@ -1,16 +1,15 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] -pub trait Baz { } +pub trait Baz {} -impl Baz for u32 { } +impl Baz for u32 {} type Qux = impl Baz; -fn assign() -> Qux { 3 } +fn assign() -> Qux { + 3 +} #[repr(transparent)] pub struct A { diff --git a/src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-5.stderr similarity index 81% rename from src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr rename to src/test/ui/lint/lint-ctypes-73249-5.stderr index f42549d909656..749714c7df8d7 100644 --- a/src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr +++ b/src/test/ui/lint/lint-ctypes-73249-5.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73249-5.rs:21:25 + --> $DIR/lint-ctypes-73249-5.rs:20:25 | LL | pub fn lint_me() -> A; | ^ not FFI-safe | note: the lint level is defined here - --> $DIR/lint-ctypes-73249-5.rs:5:9 + --> $DIR/lint-ctypes-73249-5.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr deleted file mode 100644 index 5610230380b80..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73251-1.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73251-1.rs:24:25 - | -LL | pub fn lint_me() -> ::Assoc; - | ^^^^^^^^^^^^^^^^^^^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/lint-ctypes-73251-1.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73251-1.rs b/src/test/ui/lint/lint-ctypes-73251-1.rs index 3f15a2fb42c42..dc4c7efd7ef23 100644 --- a/src/test/ui/lint/lint-ctypes-73251-1.rs +++ b/src/test/ui/lint/lint-ctypes-73251-1.rs @@ -1,12 +1,9 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] -pub trait Baz { } +pub trait Baz {} -impl Baz for u32 { } +impl Baz for u32 {} type Qux = impl Baz; @@ -18,7 +15,9 @@ impl Foo for u32 { type Assoc = Qux; } -fn assign() -> Qux { 1 } +fn assign() -> Qux { + 1 +} extern "C" { pub fn lint_me() -> ::Assoc; //~ ERROR: uses type `impl Baz` diff --git a/src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-1.stderr similarity index 82% rename from src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr rename to src/test/ui/lint/lint-ctypes-73251-1.stderr index 5b00fc4cce657..505ccd5a930ce 100644 --- a/src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr +++ b/src/test/ui/lint/lint-ctypes-73251-1.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl Baz`, which is not FFI-safe - --> $DIR/lint-ctypes-73251-1.rs:24:25 + --> $DIR/lint-ctypes-73251-1.rs:23:25 | LL | pub fn lint_me() -> ::Assoc; | ^^^^^^^^^^^^^^^^^^^ not FFI-safe | note: the lint level is defined here - --> $DIR/lint-ctypes-73251-1.rs:5:9 + --> $DIR/lint-ctypes-73251-1.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr deleted file mode 100644 index 19911264a36d7..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73251-2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl TraitA`, which is not FFI-safe - --> $DIR/lint-ctypes-73251-2.rs:32:25 - | -LL | pub fn lint_me() -> ::Assoc; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/lint-ctypes-73251-2.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73251-2.rs b/src/test/ui/lint/lint-ctypes-73251-2.rs index 888671daca5e4..79effd054b083 100644 --- a/src/test/ui/lint/lint-ctypes-73251-2.rs +++ b/src/test/ui/lint/lint-ctypes-73251-2.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] pub trait TraitA { @@ -16,7 +13,10 @@ pub trait TraitB { type Assoc; } -impl TraitB for T where T: TraitA { +impl TraitB for T +where + T: TraitA, +{ type Assoc = ::Assoc; } @@ -24,9 +24,13 @@ type AliasA = impl TraitA; type AliasB = impl TraitB; -fn use_of_a() -> AliasA { 3 } +fn use_of_a() -> AliasA { + 3 +} -fn use_of_b() -> AliasB { 3 } +fn use_of_b() -> AliasB { + 3 +} extern "C" { pub fn lint_me() -> ::Assoc; //~ ERROR: uses type `impl TraitA` diff --git a/src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-2.stderr similarity index 83% rename from src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr rename to src/test/ui/lint/lint-ctypes-73251-2.stderr index 4130ee7b4cb6b..94ee95d422e08 100644 --- a/src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr +++ b/src/test/ui/lint/lint-ctypes-73251-2.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl TraitA`, which is not FFI-safe - --> $DIR/lint-ctypes-73251-2.rs:32:25 + --> $DIR/lint-ctypes-73251-2.rs:36:25 | LL | pub fn lint_me() -> ::Assoc; | ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe | note: the lint level is defined here - --> $DIR/lint-ctypes-73251-2.rs:5:9 + --> $DIR/lint-ctypes-73251-2.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/lint/lint-ctypes-73251.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73251.full_tait.stderr deleted file mode 100644 index 577cf6cf5453c..0000000000000 --- a/src/test/ui/lint/lint-ctypes-73251.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/lint-ctypes-73251.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/lint/lint-ctypes-73251.rs b/src/test/ui/lint/lint-ctypes-73251.rs index 36e541612d16b..ebc2ca77b67a1 100644 --- a/src/test/ui/lint/lint-ctypes-73251.rs +++ b/src/test/ui/lint/lint-ctypes-73251.rs @@ -1,9 +1,6 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] pub trait Foo { diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr b/src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr deleted file mode 100644 index 5433d6e6ae241..0000000000000 --- a/src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/opaque-ty-ffi-unsafe.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `extern` block uses type `impl Fn<()>`, which is not FFI-safe - --> $DIR/opaque-ty-ffi-unsafe.rs:14:17 - | -LL | pub fn a(_: A); - | ^ not FFI-safe - | -note: the lint level is defined here - --> $DIR/opaque-ty-ffi-unsafe.rs:5:9 - | -LL | #![deny(improper_ctypes)] - | ^^^^^^^^^^^^^^^ - = note: opaque types have no C equivalent - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs b/src/test/ui/lint/opaque-ty-ffi-unsafe.rs index 0e9df9195523a..fadb7471952f5 100644 --- a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs +++ b/src/test/ui/lint/opaque-ty-ffi-unsafe.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] type A = impl Fn(); @@ -12,7 +9,7 @@ pub fn ret_closure() -> A { extern "C" { pub fn a(_: A); -//~^ ERROR `extern` block uses type `impl Fn<()>`, which is not FFI-safe + //~^ ERROR `extern` block uses type `impl Fn<()>`, which is not FFI-safe } fn main() {} diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr b/src/test/ui/lint/opaque-ty-ffi-unsafe.stderr similarity index 80% rename from src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr rename to src/test/ui/lint/opaque-ty-ffi-unsafe.stderr index 2f20912d2a6ea..9d46f6d936e25 100644 --- a/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr +++ b/src/test/ui/lint/opaque-ty-ffi-unsafe.stderr @@ -1,11 +1,11 @@ error: `extern` block uses type `impl Fn<()>`, which is not FFI-safe - --> $DIR/opaque-ty-ffi-unsafe.rs:14:17 + --> $DIR/opaque-ty-ffi-unsafe.rs:11:17 | LL | pub fn a(_: A); | ^ not FFI-safe | note: the lint level is defined here - --> $DIR/opaque-ty-ffi-unsafe.rs:5:9 + --> $DIR/opaque-ty-ffi-unsafe.rs:2:9 | LL | #![deny(improper_ctypes)] | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/mir/issue-75053.full_tait.stderr b/src/test/ui/mir/issue-75053.full_tait.stderr deleted file mode 100644 index 543d15fadc6be..0000000000000 --- a/src/test/ui/mir/issue-75053.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-75053.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/issue-75053.rs:49:1 - | -LL | fn main() { - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/mir/issue-75053.rs b/src/test/ui/mir/issue-75053.rs index b71f84dd9c24e..cb56eaa0b13d9 100644 --- a/src/test/ui/mir/issue-75053.rs +++ b/src/test/ui/mir/issue-75053.rs @@ -1,9 +1,6 @@ // compile-flags: -Z mir-opt-level=3 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait, rustc_attrs)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait, rustc_attrs)] use std::marker::PhantomData; diff --git a/src/test/ui/mir/issue-75053.min_tait.stderr b/src/test/ui/mir/issue-75053.stderr similarity index 80% rename from src/test/ui/mir/issue-75053.min_tait.stderr rename to src/test/ui/mir/issue-75053.stderr index c533275c99a79..64e59e6c44825 100644 --- a/src/test/ui/mir/issue-75053.min_tait.stderr +++ b/src/test/ui/mir/issue-75053.stderr @@ -1,5 +1,5 @@ error: fatal error triggered by #[rustc_error] - --> $DIR/issue-75053.rs:49:1 + --> $DIR/issue-75053.rs:46:1 | LL | fn main() { | ^^^^^^^^^ diff --git a/src/test/ui/privacy/private-in-public-assoc-ty.full_tait.stderr b/src/test/ui/privacy/private-in-public-assoc-ty.full_tait.stderr deleted file mode 100644 index a74c7c93a2eb5..0000000000000 --- a/src/test/ui/privacy/private-in-public-assoc-ty.full_tait.stderr +++ /dev/null @@ -1,77 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/private-in-public-assoc-ty.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:20:9 - | -LL | struct Priv; - | ------------ `Priv` declared as private -... -LL | type A = Priv; - | ^^^^^^^^^^^^^^ can't leak private type - -warning: private trait `PrivTr` in public interface (error E0445) - --> $DIR/private-in-public-assoc-ty.rs:27:9 - | -LL | type Alias1: PrivTr; - | ^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(private_in_public)]` on by default - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: for more information, see issue #34537 - -warning: private type `Priv` in public interface (error E0446) - --> $DIR/private-in-public-assoc-ty.rs:30:9 - | -LL | type Alias2: PubTrAux1 = u8; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: for more information, see issue #34537 - -warning: private type `Priv` in public interface (error E0446) - --> $DIR/private-in-public-assoc-ty.rs:33:9 - | -LL | type Alias3: PubTrAux2 = u8; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: for more information, see issue #34537 - -error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:37:9 - | -LL | struct Priv; - | ------------ `Priv` declared as private -... -LL | type Alias4 = Priv; - | ^^^^^^^^^^^^^^^^^^^ can't leak private type - -error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:44:9 - | -LL | struct Priv; - | ------------ `Priv` declared as private -... -LL | type Alias1 = Priv; - | ^^^^^^^^^^^^^^^^^^^ can't leak private type - -error[E0445]: private trait `PrivTr` in public interface - --> $DIR/private-in-public-assoc-ty.rs:47:9 - | -LL | trait PrivTr {} - | ------------ `PrivTr` declared as private -... -LL | type Exist = impl PrivTr; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait - -error: aborting due to 4 previous errors; 4 warnings emitted - -Some errors have detailed explanations: E0445, E0446. -For more information about an error, try `rustc --explain E0445`. diff --git a/src/test/ui/privacy/private-in-public-assoc-ty.rs b/src/test/ui/privacy/private-in-public-assoc-ty.rs index f8fb565943092..fba72c13170fe 100644 --- a/src/test/ui/privacy/private-in-public-assoc-ty.rs +++ b/src/test/ui/privacy/private-in-public-assoc-ty.rs @@ -2,10 +2,7 @@ // This test also ensures that the checks are performed even inside private modules. #![feature(associated_type_defaults)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] mod m { struct Priv; diff --git a/src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr b/src/test/ui/privacy/private-in-public-assoc-ty.stderr similarity index 93% rename from src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr rename to src/test/ui/privacy/private-in-public-assoc-ty.stderr index 36230ffd04b7c..ba62a228b09fe 100644 --- a/src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr +++ b/src/test/ui/privacy/private-in-public-assoc-ty.stderr @@ -1,5 +1,5 @@ error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:20:9 + --> $DIR/private-in-public-assoc-ty.rs:17:9 | LL | struct Priv; | ------------ `Priv` declared as private @@ -8,7 +8,7 @@ LL | type A = Priv; | ^^^^^^^^^^^^^^ can't leak private type warning: private trait `PrivTr` in public interface (error E0445) - --> $DIR/private-in-public-assoc-ty.rs:27:9 + --> $DIR/private-in-public-assoc-ty.rs:24:9 | LL | type Alias1: PrivTr; | ^^^^^^^^^^^^^^^^^^^^ @@ -18,7 +18,7 @@ LL | type Alias1: PrivTr; = note: for more information, see issue #34537 warning: private type `Priv` in public interface (error E0446) - --> $DIR/private-in-public-assoc-ty.rs:30:9 + --> $DIR/private-in-public-assoc-ty.rs:27:9 | LL | type Alias2: PubTrAux1 = u8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ LL | type Alias2: PubTrAux1 = u8; = note: for more information, see issue #34537 warning: private type `Priv` in public interface (error E0446) - --> $DIR/private-in-public-assoc-ty.rs:33:9 + --> $DIR/private-in-public-assoc-ty.rs:30:9 | LL | type Alias3: PubTrAux2 = u8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -36,7 +36,7 @@ LL | type Alias3: PubTrAux2 = u8; = note: for more information, see issue #34537 error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:37:9 + --> $DIR/private-in-public-assoc-ty.rs:34:9 | LL | struct Priv; | ------------ `Priv` declared as private @@ -45,7 +45,7 @@ LL | type Alias4 = Priv; | ^^^^^^^^^^^^^^^^^^^ can't leak private type error[E0446]: private type `Priv` in public interface - --> $DIR/private-in-public-assoc-ty.rs:44:9 + --> $DIR/private-in-public-assoc-ty.rs:41:9 | LL | struct Priv; | ------------ `Priv` declared as private @@ -54,7 +54,7 @@ LL | type Alias1 = Priv; | ^^^^^^^^^^^^^^^^^^^ can't leak private type error[E0445]: private trait `PrivTr` in public interface - --> $DIR/private-in-public-assoc-ty.rs:47:9 + --> $DIR/private-in-public-assoc-ty.rs:44:9 | LL | trait PrivTr {} | ------------ `PrivTr` declared as private diff --git a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.full_tait.stderr b/src/test/ui/privacy/private-in-public-type-alias-impl-trait.full_tait.stderr deleted file mode 100644 index c419c7ee4d44a..0000000000000 --- a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/private-in-public-type-alias-impl-trait.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs b/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs index 8443631253f78..c7df31529bcf3 100644 --- a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs +++ b/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs @@ -1,9 +1,6 @@ // build-pass (FIXME(62277): could be check-pass?) -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![deny(private_in_public)] pub type Pub = impl Default; @@ -22,7 +19,9 @@ pub trait Trait { impl Trait for u8 { type Pub = impl Default; - fn method() -> Self::Pub { Priv } + fn method() -> Self::Pub { + Priv + } } fn main() {} diff --git a/src/test/ui/save-analysis/issue-68621.full_tait.stderr b/src/test/ui/save-analysis/issue-68621.full_tait.stderr deleted file mode 100644 index 193aed2615ce6..0000000000000 --- a/src/test/ui/save-analysis/issue-68621.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68621.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/issue-68621.rs:17:19 - | -LL | type Future = impl Trait; - | ^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/save-analysis/issue-68621.rs b/src/test/ui/save-analysis/issue-68621.rs index 1f4a9080cc934..96af085c5b6b8 100644 --- a/src/test/ui/save-analysis/issue-68621.rs +++ b/src/test/ui/save-analysis/issue-68621.rs @@ -1,9 +1,6 @@ // compile-flags: -Zsave-analysis -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Trait {} diff --git a/src/test/ui/save-analysis/issue-68621.min_tait.stderr b/src/test/ui/save-analysis/issue-68621.stderr similarity index 82% rename from src/test/ui/save-analysis/issue-68621.min_tait.stderr rename to src/test/ui/save-analysis/issue-68621.stderr index cccfb3de8fb1b..3af6d0a3e076e 100644 --- a/src/test/ui/save-analysis/issue-68621.min_tait.stderr +++ b/src/test/ui/save-analysis/issue-68621.stderr @@ -1,5 +1,5 @@ error: could not find defining uses - --> $DIR/issue-68621.rs:17:19 + --> $DIR/issue-68621.rs:14:19 | LL | type Future = impl Trait; | ^^^^^^^^^^ diff --git a/src/test/ui/traits/alias/issue-83613.rs b/src/test/ui/traits/alias/issue-83613.rs index 146920ac685bb..0013d5d66f172 100644 --- a/src/test/ui/traits/alias/issue-83613.rs +++ b/src/test/ui/traits/alias/issue-83613.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] trait OpaqueTrait {} impl OpaqueTrait for T {} type OpaqueType = impl OpaqueTrait; diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-const.full_tait.stderr b/src/test/ui/type-alias-impl-trait/assoc-type-const.full_tait.stderr deleted file mode 100644 index 7b43d1d86bcd4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/assoc-type-const.full_tait.stderr +++ /dev/null @@ -1,19 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/assoc-type-const.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: the feature `const_generics` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/assoc-type-const.rs:9:12 - | -LL | #![feature(const_generics)] - | ^^^^^^^^^^^^^^ - | - = note: see issue #44580 for more information - -warning: 2 warnings emitted - diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-const.rs b/src/test/ui/type-alias-impl-trait/assoc-type-const.rs index be065c3b6beac..d53f562e99f4b 100644 --- a/src/test/ui/type-alias-impl-trait/assoc-type-const.rs +++ b/src/test/ui/type-alias-impl-trait/assoc-type-const.rs @@ -2,10 +2,7 @@ // const generics in an associated opaque type // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![feature(const_generics)] //~^ WARN the feature `const_generics` is incomplete diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-const.min_tait.stderr b/src/test/ui/type-alias-impl-trait/assoc-type-const.stderr similarity index 91% rename from src/test/ui/type-alias-impl-trait/assoc-type-const.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/assoc-type-const.stderr index d4b9132cc927b..e0c1b02386127 100644 --- a/src/test/ui/type-alias-impl-trait/assoc-type-const.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/assoc-type-const.stderr @@ -1,5 +1,5 @@ warning: the feature `const_generics` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/assoc-type-const.rs:9:12 + --> $DIR/assoc-type-const.rs:6:12 | LL | #![feature(const_generics)] | ^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.full_tait.stderr b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.full_tait.stderr deleted file mode 100644 index 01263cde8bb19..0000000000000 --- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/assoc-type-lifetime-unconstrained.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/assoc-type-lifetime-unconstrained.rs:20:6 - | -LL | impl<'a, I> UnwrapItemsExt for I { - | ^^ unconstrained lifetime parameter - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs index 39cc75e688b83..3f34b00ec77e1 100644 --- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs +++ b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs @@ -1,10 +1,7 @@ // Tests that we don't allow unconstrained lifetime parameters in impls when // the lifetime is used in an associated opaque type. -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait UnwrapItemsExt { type Iter; diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.min_tait.stderr b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr similarity index 85% rename from src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr index afcdab5f479df..e594dc577b1cd 100644 --- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr @@ -1,5 +1,5 @@ error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/assoc-type-lifetime-unconstrained.rs:20:6 + --> $DIR/assoc-type-lifetime-unconstrained.rs:17:6 | LL | impl<'a, I> UnwrapItemsExt for I { | ^^ unconstrained lifetime parameter diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.full_tait.stderr b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.full_tait.stderr deleted file mode 100644 index 31afbf14e658c..0000000000000 --- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/assoc-type-lifetime.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs index ebbdbb67dbe6f..39f785d8cc55d 100644 --- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs +++ b/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs @@ -2,10 +2,7 @@ // lifetimes are used in an associated opaque type // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait UnwrapItemsExt<'a> { type Iter; diff --git a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.full_tait.stderr deleted file mode 100644 index 2c48d815e0de4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/associated-type-alias-impl-trait.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs b/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs index 8d2b1826790b3..42f07d49ffe25 100644 --- a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs +++ b/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // build-pass (FIXME(62277): could be check-pass?) trait Bar {} diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs b/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs index 94e1fa73de884..e7bca2231de4b 100644 --- a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs +++ b/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs @@ -1,10 +1,7 @@ // Crate that exports an opaque `impl Trait` type. Used for testing cross-crate. #![crate_type = "rlib"] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub type Foo = impl std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs b/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs index 65bc594dcf2f7..119f7df1ffdad 100644 --- a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs +++ b/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs @@ -1,10 +1,7 @@ // Crate that exports an opaque `impl Trait` type. Used for testing cross-crate. #![crate_type = "rlib"] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait View { type Tmp: Iterator; @@ -18,6 +15,6 @@ impl View for X { type Tmp = impl Iterator; fn test(&self) -> Self::Tmp { - vec![1,2,3].into_iter() + vec![1, 2, 3].into_iter() } } diff --git a/src/test/ui/type-alias-impl-trait/bound_reduction.rs b/src/test/ui/type-alias-impl-trait/bound_reduction.rs index b45105ea8f29e..b9b50f0b77aa3 100644 --- a/src/test/ui/type-alias-impl-trait/bound_reduction.rs +++ b/src/test/ui/type-alias-impl-trait/bound_reduction.rs @@ -1,9 +1,7 @@ // build-pass (FIXME(62277): could be check-pass?) #![allow(warnings)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] +#![feature(type_alias_impl_trait)] fn main() { } diff --git a/src/test/ui/type-alias-impl-trait/bound_reduction2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/bound_reduction2.full_tait.stderr deleted file mode 100644 index 164564e8516fc..0000000000000 --- a/src/test/ui/type-alias-impl-trait/bound_reduction2.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/bound_reduction2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/bound_reduction2.rs:18:46 - | -LL | fn foo_desugared(_: T) -> Foo { - | ^^^^^^^^^^^^^ - | -note: used non-generic type `::Assoc` for generic parameter - --> $DIR/bound_reduction2.rs:12:10 - | -LL | type Foo = impl Trait; - | ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/bound_reduction2.rs b/src/test/ui/type-alias-impl-trait/bound_reduction2.rs index b94b21e4244a2..a15074c35936b 100644 --- a/src/test/ui/type-alias-impl-trait/bound_reduction2.rs +++ b/src/test/ui/type-alias-impl-trait/bound_reduction2.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bound_reduction2.stderr similarity index 83% rename from src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/bound_reduction2.stderr index d3520a9bac2f3..c9d6a43b9094a 100644 --- a/src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/bound_reduction2.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/bound_reduction2.rs:18:46 + --> $DIR/bound_reduction2.rs:15:46 | LL | fn foo_desugared(_: T) -> Foo { | ^^^^^^^^^^^^^ | note: used non-generic type `::Assoc` for generic parameter - --> $DIR/bound_reduction2.rs:12:10 + --> $DIR/bound_reduction2.rs:9:10 | LL | type Foo = impl Trait; | ^ diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr deleted file mode 100644 index cfb1fe9c19a8b..0000000000000 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/bounds-are-checked-2.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0277]: the trait bound `T: Clone` is not satisfied - --> $DIR/bounds-are-checked-2.rs:9:13 - | -LL | type X = impl Clone; - | ^^^^^^^^^^ the trait `Clone` is not implemented for `T` - | -help: consider restricting type parameter `T` - | -LL | type X = impl Clone; - | ^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs index fecc2543bce19..c0359159aebea 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs @@ -1,10 +1,7 @@ // Make sure that we check that impl trait types implement the traits that they // claim to. -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type X = impl Clone; //~^ ERROR the trait bound `T: Clone` is not satisfied diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr similarity index 91% rename from src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr index 735b96d5df98e..c1f58aa6de663 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `T: Clone` is not satisfied - --> $DIR/bounds-are-checked-2.rs:9:13 + --> $DIR/bounds-are-checked-2.rs:6:13 | LL | type X = impl Clone; | ^^^^^^^^^^ the trait `Clone` is not implemented for `T` diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked.full_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked.full_tait.stderr deleted file mode 100644 index ca89421cd8bf1..0000000000000 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked.full_tait.stderr +++ /dev/null @@ -1,35 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/bounds-are-checked.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: unnecessary lifetime parameter `'a` - --> $DIR/bounds-are-checked.rs:12:6 - | -LL | fn f<'a: 'static>(t: &'a str) -> X<'a> { - | ^^^^^^^^^^^ - | - = help: you can use the `'static` lifetime directly, in place of `'a` - -error[E0308]: mismatched types - --> $DIR/bounds-are-checked.rs:9:14 - | -LL | type X<'a> = impl Into<&'static str> + From<&'a str>; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch - | - = note: expected trait `From<&'a str>` - found trait `From<&'static str>` -note: the lifetime `'a` as defined on the item at 9:8... - --> $DIR/bounds-are-checked.rs:9:8 - | -LL | type X<'a> = impl Into<&'static str> + From<&'a str>; - | ^^ - = note: ...does not necessarily outlive the static lifetime - -error: aborting due to previous error; 2 warnings emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs b/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs index 5e1faaa3b0839..eecef2338c146 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs @@ -1,10 +1,7 @@ // Make sure that we check that impl trait types implement the traits that they // claim to. -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type X<'a> = impl Into<&'static str> + From<&'a str>; //~^ ERROR mismatched types @@ -19,8 +16,7 @@ fn extend_lt<'a>(o: &'a str) -> &'static str { } fn main() { - let r = - { + let r = { let s = "abcdef".to_string(); extend_lt(&s) }; diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr similarity index 81% rename from src/test/ui/type-alias-impl-trait/bounds-are-checked.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr index 9a451cb108373..d5fafe05887b9 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr @@ -1,5 +1,5 @@ warning: unnecessary lifetime parameter `'a` - --> $DIR/bounds-are-checked.rs:12:6 + --> $DIR/bounds-are-checked.rs:9:6 | LL | fn f<'a: 'static>(t: &'a str) -> X<'a> { | ^^^^^^^^^^^ @@ -7,15 +7,15 @@ LL | fn f<'a: 'static>(t: &'a str) -> X<'a> { = help: you can use the `'static` lifetime directly, in place of `'a` error[E0308]: mismatched types - --> $DIR/bounds-are-checked.rs:9:14 + --> $DIR/bounds-are-checked.rs:6:14 | LL | type X<'a> = impl Into<&'static str> + From<&'a str>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected trait `From<&'a str>` found trait `From<&'static str>` -note: the lifetime `'a` as defined on the item at 9:8... - --> $DIR/bounds-are-checked.rs:9:8 +note: the lifetime `'a` as defined on the item at 6:8... + --> $DIR/bounds-are-checked.rs:6:8 | LL | type X<'a> = impl Into<&'static str> + From<&'a str>; | ^^ diff --git a/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr b/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr deleted file mode 100644 index 68de0c961ba1c..0000000000000 --- a/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/coherence.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/coherence.rs:17:6 - | -LL | impl foreign_crate::ForeignTrait for AliasOfForeignType {} - | ^ unconstrained type parameter - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/coherence.rs b/src/test/ui/type-alias-impl-trait/coherence.rs index 51babb0e61bd3..1c0f83d6c12da 100644 --- a/src/test/ui/type-alias-impl-trait/coherence.rs +++ b/src/test/ui/type-alias-impl-trait/coherence.rs @@ -1,8 +1,5 @@ // aux-build:foreign-crate.rs -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] extern crate foreign_crate; diff --git a/src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr b/src/test/ui/type-alias-impl-trait/coherence.stderr similarity index 91% rename from src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/coherence.stderr index 4da52369fdb5d..6ede0fa14ba70 100644 --- a/src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/coherence.stderr @@ -1,5 +1,5 @@ error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/coherence.rs:17:6 + --> $DIR/coherence.rs:14:6 | LL | impl foreign_crate::ForeignTrait for AliasOfForeignType {} | ^ unconstrained type parameter diff --git a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.full_tait.stderr b/src/test/ui/type-alias-impl-trait/declared_but_never_defined.full_tait.stderr deleted file mode 100644 index 5fc79cf9561fa..0000000000000 --- a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/declared_but_never_defined.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/declared_but_never_defined.rs:9:12 - | -LL | type Bar = impl std::fmt::Debug; - | ^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs b/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs index ac92bea8c47a4..c4bf56a919721 100644 --- a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs +++ b/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.min_tait.stderr b/src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr similarity index 77% rename from src/test/ui/type-alias-impl-trait/declared_but_never_defined.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr index b731e41b149a8..21c2e8a9db618 100644 --- a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr @@ -1,5 +1,5 @@ error: could not find defining uses - --> $DIR/declared_but_never_defined.rs:9:12 + --> $DIR/declared_but_never_defined.rs:6:12 | LL | type Bar = impl std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.full_tait.stderr b/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.full_tait.stderr deleted file mode 100644 index eeccc598f529c..0000000000000 --- a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.full_tait.stderr +++ /dev/null @@ -1,32 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/declared_but_not_defined_in_scope.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/declared_but_not_defined_in_scope.rs:10:20 - | -LL | pub type Boo = impl ::std::fmt::Debug; - | ^^^^^^^^^^^^^^^^^^^^^^ - -error[E0308]: mismatched types - --> $DIR/declared_but_not_defined_in_scope.rs:14:5 - | -LL | pub type Boo = impl ::std::fmt::Debug; - | ---------------------- the expected opaque type -... -LL | fn bomp() -> boo::Boo { - | -------- expected `impl Debug` because of return type -LL | "" - | ^^ expected opaque type, found `&str` - | - = note: expected opaque type `impl Debug` - found reference `&'static str` - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs b/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs index 2bbae98db448c..7ea517eb734a4 100644 --- a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs +++ b/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.min_tait.stderr b/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr similarity index 86% rename from src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr index 20057c3aa5185..0b4c262bbb43b 100644 --- a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr @@ -1,11 +1,11 @@ error: could not find defining uses - --> $DIR/declared_but_not_defined_in_scope.rs:10:20 + --> $DIR/declared_but_not_defined_in_scope.rs:7:20 | LL | pub type Boo = impl ::std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^^^ error[E0308]: mismatched types - --> $DIR/declared_but_not_defined_in_scope.rs:14:5 + --> $DIR/declared_but_not_defined_in_scope.rs:11:5 | LL | pub type Boo = impl ::std::fmt::Debug; | ---------------------- the expected opaque type diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses.full_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses.full_tait.stderr deleted file mode 100644 index 60fa141884db3..0000000000000 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/different_defining_uses.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses.rs:15:1 - | -LL | fn bar() -> Foo { - | ^^^^^^^^^^^^^^^ expected `&'static str`, got `i32` - | -note: previous use here - --> $DIR/different_defining_uses.rs:11:1 - | -LL | fn foo() -> Foo { - | ^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses.rs b/src/test/ui/type-alias-impl-trait/different_defining_uses.rs index 542de6b62e197..272af7a5204fc 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses.rs +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} @@ -12,6 +9,7 @@ fn foo() -> Foo { "" } -fn bar() -> Foo { //~ ERROR concrete type differs from previous +fn bar() -> Foo { + //~^ ERROR concrete type differs from previous 42i32 } diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses.min_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses.stderr similarity index 75% rename from src/test/ui/type-alias-impl-trait/different_defining_uses.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/different_defining_uses.stderr index 904ee58685cbf..eaa716bc71c3e 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses.stderr @@ -1,11 +1,11 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses.rs:15:1 + --> $DIR/different_defining_uses.rs:12:1 | LL | fn bar() -> Foo { | ^^^^^^^^^^^^^^^ expected `&'static str`, got `i32` | note: previous use here - --> $DIR/different_defining_uses.rs:11:1 + --> $DIR/different_defining_uses.rs:8:1 | LL | fn foo() -> Foo { | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.full_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.full_tait.stderr deleted file mode 100644 index 5c5ae7eadcbcf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.full_tait.stderr +++ /dev/null @@ -1,35 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/different_defining_uses_never_type.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses_never_type.rs:15:1 - | -LL | fn bar() -> Foo { - | ^^^^^^^^^^^^^^^ expected `&'static str`, got `()` - | -note: previous use here - --> $DIR/different_defining_uses_never_type.rs:11:1 - | -LL | fn foo() -> Foo { - | ^^^^^^^^^^^^^^^ - -error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses_never_type.rs:19:1 - | -LL | fn boo() -> Foo { - | ^^^^^^^^^^^^^^^ expected `&'static str`, got `()` - | -note: previous use here - --> $DIR/different_defining_uses_never_type.rs:11:1 - | -LL | fn foo() -> Foo { - | ^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs index 72352a74a04b6..95cbcfec2dc15 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} @@ -12,10 +9,12 @@ fn foo() -> Foo { "" } -fn bar() -> Foo { //~ ERROR concrete type differs from previous +fn bar() -> Foo { + //~^ ERROR concrete type differs from previous panic!() } -fn boo() -> Foo { //~ ERROR concrete type differs from previous +fn boo() -> Foo { + //~^ ERROR concrete type differs from previous loop {} } diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.min_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr similarity index 69% rename from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr index 9cf2c58368737..6274029e4f524 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr @@ -1,23 +1,23 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses_never_type.rs:15:1 + --> $DIR/different_defining_uses_never_type.rs:12:1 | LL | fn bar() -> Foo { | ^^^^^^^^^^^^^^^ expected `&'static str`, got `()` | note: previous use here - --> $DIR/different_defining_uses_never_type.rs:11:1 + --> $DIR/different_defining_uses_never_type.rs:8:1 | LL | fn foo() -> Foo { | ^^^^^^^^^^^^^^^ error: concrete type differs from previous defining opaque type use - --> $DIR/different_defining_uses_never_type.rs:19:1 + --> $DIR/different_defining_uses_never_type.rs:17:1 | LL | fn boo() -> Foo { | ^^^^^^^^^^^^^^^ expected `&'static str`, got `()` | note: previous use here - --> $DIR/different_defining_uses_never_type.rs:11:1 + --> $DIR/different_defining_uses_never_type.rs:8:1 | LL | fn foo() -> Foo { | ^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.full_tait.stderr deleted file mode 100644 index b69622b77bfc4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/different_defining_uses_never_type2.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs index ac9884b3e4501..8549687ea7814 100644 --- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs @@ -1,9 +1,6 @@ // build-pass (FIXME(62277): could be check-pass?) -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/fallback.full_tait.stderr b/src/test/ui/type-alias-impl-trait/fallback.full_tait.stderr deleted file mode 100644 index 9641d756cb03e..0000000000000 --- a/src/test/ui/type-alias-impl-trait/fallback.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/fallback.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/fallback.rs b/src/test/ui/type-alias-impl-trait/fallback.rs index 84fec75655fb2..fe1ca2230daca 100644 --- a/src/test/ui/type-alias-impl-trait/fallback.rs +++ b/src/test/ui/type-alias-impl-trait/fallback.rs @@ -2,10 +2,7 @@ // inference variable being completely unconstrained. // // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Copy; diff --git a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.full_tait.stderr deleted file mode 100644 index 972e5d9428825..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_different_defining_uses.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/generic_different_defining_uses.rs:14:1 - | -LL | fn my_iter2(t: T) -> MyIter { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `std::iter::Once`, got `std::option::IntoIter` - | -note: previous use here - --> $DIR/generic_different_defining_uses.rs:10:1 - | -LL | fn my_iter(t: T) -> MyIter { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs b/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs index 4eb603df583a8..075351307589b 100644 --- a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs +++ b/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} @@ -11,6 +8,7 @@ fn my_iter(t: T) -> MyIter { std::iter::once(t) } -fn my_iter2(t: T) -> MyIter { //~ ERROR concrete type differs from previous +fn my_iter2(t: T) -> MyIter { + //~^ ERROR concrete type differs from previous Some(t).into_iter() } diff --git a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr similarity index 78% rename from src/test/ui/type-alias-impl-trait/generic_different_defining_uses.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr index 911683862c263..f8a058170e37f 100644 --- a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr @@ -1,11 +1,11 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/generic_different_defining_uses.rs:14:1 + --> $DIR/generic_different_defining_uses.rs:11:1 | LL | fn my_iter2(t: T) -> MyIter { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `std::iter::Once`, got `std::option::IntoIter` | note: previous use here - --> $DIR/generic_different_defining_uses.rs:10:1 + --> $DIR/generic_different_defining_uses.rs:7:1 | LL | fn my_iter(t: T) -> MyIter { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.full_tait.stderr deleted file mode 100644 index ecf0e39ed6f61..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_lifetime_param.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_lifetime_param.rs:10:26 - | -LL | fn one<'a>(t: &'a ()) -> Two<'a, 'a> { - | ^^^^^^^^^^^ - | -note: lifetime used multiple times - --> $DIR/generic_duplicate_lifetime_param.rs:8:10 - | -LL | type Two<'a, 'b> = impl std::fmt::Debug; - | ^^ ^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs index d838d497238d5..31f992976b189 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs @@ -1,12 +1,10 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} type Two<'a, 'b> = impl std::fmt::Debug; -fn one<'a>(t: &'a ()) -> Two<'a, 'a> { //~ ERROR non-defining opaque type use +fn one<'a>(t: &'a ()) -> Two<'a, 'a> { + //~^ ERROR non-defining opaque type use t } diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr similarity index 73% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr index 1aad312056bb5..08b26b8fc1307 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_lifetime_param.rs:10:26 + --> $DIR/generic_duplicate_lifetime_param.rs:7:26 | LL | fn one<'a>(t: &'a ()) -> Two<'a, 'a> { | ^^^^^^^^^^^ | note: lifetime used multiple times - --> $DIR/generic_duplicate_lifetime_param.rs:8:10 + --> $DIR/generic_duplicate_lifetime_param.rs:5:10 | LL | type Two<'a, 'b> = impl std::fmt::Debug; | ^^ ^^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.full_tait.stderr deleted file mode 100644 index 805cea7127ddf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.full_tait.stderr +++ /dev/null @@ -1,38 +0,0 @@ -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:16:30 - | -LL | fn one_ty(t: T) -> TwoTys { - | ^^^^^^^^^^^^ - | -note: type used multiple times - --> $DIR/generic_duplicate_param_use.rs:12:13 - | -LL | type TwoTys = impl Debug; - | ^ ^ - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:21:36 - | -LL | fn one_lifetime<'a>(t: &'a u32) -> TwoLifetimes<'a, 'a> { - | ^^^^^^^^^^^^^^^^^^^^ - | -note: lifetime used multiple times - --> $DIR/generic_duplicate_param_use.rs:13:19 - | -LL | type TwoLifetimes<'a, 'b> = impl Debug; - | ^^ ^^ - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:26:50 - | -LL | fn one_const(t: *mut [u8; N]) -> TwoConsts { - | ^^^^^^^^^^^^^^^ - | -note: constant used multiple times - --> $DIR/generic_duplicate_param_use.rs:14:22 - | -LL | type TwoConsts = impl Debug; - | ^ ^ - -error: aborting due to 3 previous errors - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs index 12ff5a2e713d8..e45950c4926b1 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs @@ -1,7 +1,5 @@ #![feature(const_generics)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] +#![feature(type_alias_impl_trait)] #![allow(incomplete_features)] use std::fmt::Debug; @@ -14,16 +12,16 @@ type TwoLifetimes<'a, 'b> = impl Debug; type TwoConsts = impl Debug; fn one_ty(t: T) -> TwoTys { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope t } fn one_lifetime<'a>(t: &'a u32) -> TwoLifetimes<'a, 'a> { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope t } fn one_const(t: *mut [u8; N]) -> TwoConsts { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope t } diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr similarity index 76% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr index 805cea7127ddf..7ea5efd4e6b02 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr @@ -1,35 +1,35 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:16:30 + --> $DIR/generic_duplicate_param_use.rs:14:30 | LL | fn one_ty(t: T) -> TwoTys { | ^^^^^^^^^^^^ | note: type used multiple times - --> $DIR/generic_duplicate_param_use.rs:12:13 + --> $DIR/generic_duplicate_param_use.rs:10:13 | LL | type TwoTys = impl Debug; | ^ ^ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:21:36 + --> $DIR/generic_duplicate_param_use.rs:19:36 | LL | fn one_lifetime<'a>(t: &'a u32) -> TwoLifetimes<'a, 'a> { | ^^^^^^^^^^^^^^^^^^^^ | note: lifetime used multiple times - --> $DIR/generic_duplicate_param_use.rs:13:19 + --> $DIR/generic_duplicate_param_use.rs:11:19 | LL | type TwoLifetimes<'a, 'b> = impl Debug; | ^^ ^^ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use.rs:26:50 + --> $DIR/generic_duplicate_param_use.rs:24:50 | LL | fn one_const(t: *mut [u8; N]) -> TwoConsts { | ^^^^^^^^^^^^^^^ | note: constant used multiple times - --> $DIR/generic_duplicate_param_use.rs:14:22 + --> $DIR/generic_duplicate_param_use.rs:12:22 | LL | type TwoConsts = impl Debug; | ^ ^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.full_tait.stderr deleted file mode 100644 index ef7d4f1be4eea..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use10.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs index c7a7ded2127a9..c17d595dbb3ad 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs @@ -1,8 +1,5 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.full_tait.stderr deleted file mode 100644 index 357d477c9f1e2..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use2.rs:13:27 - | -LL | fn one(t: T) -> Two { - | ^^^^^^^^^ - | -note: type used multiple times - --> $DIR/generic_duplicate_param_use2.rs:11:10 - | -LL | type Two = impl Debug; - | ^ ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs index ff51662282394..a74731df69515 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr similarity index 73% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr index 43af9eca63ef2..d87e8c5783b65 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use3.rs:13:27 + --> $DIR/generic_duplicate_param_use2.rs:10:27 | LL | fn one(t: T) -> Two { | ^^^^^^^^^ | note: type used multiple times - --> $DIR/generic_duplicate_param_use3.rs:11:10 + --> $DIR/generic_duplicate_param_use2.rs:8:10 | LL | type Two = impl Debug; | ^ ^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.full_tait.stderr deleted file mode 100644 index b2004c8416c49..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use3.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use3.rs:13:27 - | -LL | fn one(t: T) -> Two { - | ^^^^^^^^^ - | -note: type used multiple times - --> $DIR/generic_duplicate_param_use3.rs:11:10 - | -LL | type Two = impl Debug; - | ^ ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs index f7d1cc1ad4e5c..0597b8385d252 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr similarity index 73% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr index f8e2b5104608d..711de855f0d10 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use4.rs:13:27 + --> $DIR/generic_duplicate_param_use3.rs:10:27 | LL | fn one(t: T) -> Two { | ^^^^^^^^^ | note: type used multiple times - --> $DIR/generic_duplicate_param_use4.rs:11:10 + --> $DIR/generic_duplicate_param_use3.rs:8:10 | LL | type Two = impl Debug; | ^ ^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.full_tait.stderr deleted file mode 100644 index f5db77a08d74c..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use4.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use4.rs:13:27 - | -LL | fn one(t: T) -> Two { - | ^^^^^^^^^ - | -note: type used multiple times - --> $DIR/generic_duplicate_param_use4.rs:11:10 - | -LL | type Two = impl Debug; - | ^ ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs index 26583a6ce9b9f..e77c94988f73e 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; @@ -11,7 +8,7 @@ fn main() {} type Two = impl Debug; fn one(t: T) -> Two { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope t } diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr similarity index 73% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr index 805ab67816f97..fcf01f5164ae4 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_duplicate_param_use2.rs:13:27 + --> $DIR/generic_duplicate_param_use4.rs:10:27 | LL | fn one(t: T) -> Two { | ^^^^^^^^^ | note: type used multiple times - --> $DIR/generic_duplicate_param_use2.rs:11:10 + --> $DIR/generic_duplicate_param_use4.rs:8:10 | LL | type Two = impl Debug; | ^ ^ diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr deleted file mode 100644 index aab64e72b7bca..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr +++ /dev/null @@ -1,48 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use5.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use5.rs:19:1 - | -LL | fn three(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, U)`, got `(U, T)` - | -note: previous use here - --> $DIR/generic_duplicate_param_use5.rs:15:1 - | -LL | fn two(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use5.rs:11:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(T, U)` -help: consider restricting type parameter `T` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error[E0277]: `U` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use5.rs:11:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `U` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(T, U)` -help: consider restricting type parameter `U` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 3 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs index af473e8245acf..dd2f202cf5dc0 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr similarity index 87% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr index 5c8c5b8977906..cb43b897cf9be 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr @@ -1,17 +1,17 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use5.rs:19:1 + --> $DIR/generic_duplicate_param_use5.rs:16:1 | LL | fn three(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, U)`, got `(U, T)` | note: previous use here - --> $DIR/generic_duplicate_param_use5.rs:15:1 + --> $DIR/generic_duplicate_param_use5.rs:12:1 | LL | fn two(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use5.rs:11:18 + --> $DIR/generic_duplicate_param_use5.rs:8:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` @@ -23,7 +23,7 @@ LL | type Two = impl Debug; | ^^^^^^^^^^^^^^^^^ error[E0277]: `U` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use5.rs:11:18 + --> $DIR/generic_duplicate_param_use5.rs:8:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `U` cannot be formatted using `{:?}` because it doesn't implement `Debug` diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr deleted file mode 100644 index a69e99bf8b05f..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr +++ /dev/null @@ -1,36 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use6.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use6.rs:18:1 - | -LL | fn three(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, T)`, got `(U, T)` - | -note: previous use here - --> $DIR/generic_duplicate_param_use6.rs:14:1 - | -LL | fn two(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use6.rs:11:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(T, T)` -help: consider restricting type parameter `T` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs index 01afb2f449648..d54d3cd62e020 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr similarity index 86% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr index a377ef2d87322..509da2320e862 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr @@ -1,17 +1,17 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use6.rs:18:1 + --> $DIR/generic_duplicate_param_use6.rs:15:1 | LL | fn three(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, T)`, got `(U, T)` | note: previous use here - --> $DIR/generic_duplicate_param_use6.rs:14:1 + --> $DIR/generic_duplicate_param_use6.rs:11:1 | LL | fn two(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use6.rs:11:18 + --> $DIR/generic_duplicate_param_use6.rs:8:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.full_tait.stderr deleted file mode 100644 index d80c8326ad6c6..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use7.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs index 184e3a5f926ba..feebf81eef2a7 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs @@ -1,8 +1,5 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr deleted file mode 100644 index e73ac88500e03..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr +++ /dev/null @@ -1,36 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use8.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use8.rs:17:1 - | -LL | fn three(_: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, u32)`, got `(U, u32)` - | -note: previous use here - --> $DIR/generic_duplicate_param_use8.rs:13:1 - | -LL | fn two(t: T, _: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use8.rs:10:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(T, u32)` -help: consider restricting type parameter `T` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs index ecb8b2cedb488..4a723b64cdc4f 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr similarity index 86% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr index d7edce7a491de..a09f2506258fb 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr @@ -1,17 +1,17 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use8.rs:17:1 + --> $DIR/generic_duplicate_param_use8.rs:14:1 | LL | fn three(_: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, u32)`, got `(U, u32)` | note: previous use here - --> $DIR/generic_duplicate_param_use8.rs:13:1 + --> $DIR/generic_duplicate_param_use8.rs:10:1 | LL | fn two(t: T, _: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use8.rs:10:18 + --> $DIR/generic_duplicate_param_use8.rs:7:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr deleted file mode 100644 index 0b3d72d67b242..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr +++ /dev/null @@ -1,60 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_duplicate_param_use9.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use9.rs:24:1 - | -LL | fn three(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(A, B, ::Bar)`, got `(A, B, i32)` - | -note: previous use here - --> $DIR/generic_duplicate_param_use9.rs:20:1 - | -LL | fn two(t: T, u: U) -> Two { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: the trait bound `A: Foo` is not satisfied in `(A, B, ::Bar)` - --> $DIR/generic_duplicate_param_use9.rs:10:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ within `(A, B, ::Bar)`, the trait `Foo` is not implemented for `A` - | - = note: required because it appears within the type `(A, B, ::Bar)` -help: consider restricting type parameter `A` - | -LL | type Two = impl Debug; - | ^^^^^ - -error[E0277]: `A` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use9.rs:10:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `A` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` -help: consider restricting type parameter `A` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error[E0277]: `B` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use9.rs:10:18 - | -LL | type Two = impl Debug; - | ^^^^^^^^^^ `B` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | - = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` -help: consider restricting type parameter `B` - | -LL | type Two = impl Debug; - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 4 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs index 5eced6cfa5a0b..747081933172b 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr similarity index 88% rename from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr index fd1081d7b71de..68a30820951fa 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr @@ -1,17 +1,17 @@ error: concrete type differs from previous defining opaque type use - --> $DIR/generic_duplicate_param_use9.rs:24:1 + --> $DIR/generic_duplicate_param_use9.rs:21:1 | LL | fn three(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(A, B, ::Bar)`, got `(A, B, i32)` | note: previous use here - --> $DIR/generic_duplicate_param_use9.rs:20:1 + --> $DIR/generic_duplicate_param_use9.rs:17:1 | LL | fn two(t: T, u: U) -> Two { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `A: Foo` is not satisfied in `(A, B, ::Bar)` - --> $DIR/generic_duplicate_param_use9.rs:10:18 + --> $DIR/generic_duplicate_param_use9.rs:7:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ within `(A, B, ::Bar)`, the trait `Foo` is not implemented for `A` @@ -23,7 +23,7 @@ LL | type Two = impl Debug; | ^^^^^ error[E0277]: `A` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use9.rs:10:18 + --> $DIR/generic_duplicate_param_use9.rs:7:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `A` cannot be formatted using `{:?}` because it doesn't implement `Debug` @@ -35,7 +35,7 @@ LL | type Two = impl Debug; | ^^^^^^^^^^^^^^^^^ error[E0277]: `B` doesn't implement `Debug` - --> $DIR/generic_duplicate_param_use9.rs:10:18 + --> $DIR/generic_duplicate_param_use9.rs:7:18 | LL | type Two = impl Debug; | ^^^^^^^^^^ `B` cannot be formatted using `{:?}` because it doesn't implement `Debug` diff --git a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_lifetime_param.full_tait.stderr deleted file mode 100644 index 39817757f18b4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_lifetime_param.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs b/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs index dbe7cfd1c81fc..e109c38c98695 100644 --- a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs +++ b/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs @@ -1,9 +1,6 @@ // build-pass (FIXME(62277): could be check-pass?) -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_nondefining_use.min_tait.stderr deleted file mode 100644 index 4d7eddfb2fb45..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.min_tait.stderr +++ /dev/null @@ -1,35 +0,0 @@ -error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:17:21 - | -LL | fn concrete_ty() -> OneTy { - | ^^^^^^^^^^ - | -note: used non-generic type `u32` for generic parameter - --> $DIR/generic_nondefining_use.rs:11:12 - | -LL | type OneTy = impl Debug; - | ^ - -error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:22:27 - | -LL | type OneLifetime<'a> = impl Debug; - | -- cannot use static lifetime; use a bound lifetime instead or remove the lifetime parameter from the opaque type -... -LL | fn concrete_lifetime() -> OneLifetime<'static> { - | ^^^^^^^^^^^^^^^^^^^^ - -error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:27:24 - | -LL | fn concrete_const() -> OneConst<{123}> { - | ^^^^^^^^^^^^^^^ - | -note: used non-generic constant `{123}` for generic parameter - --> $DIR/generic_nondefining_use.rs:13:21 - | -LL | type OneConst = impl Debug; - | ^ - -error: aborting due to 3 previous errors - diff --git a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs b/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs index c69884d8d6edb..9f1bffff77c97 100644 --- a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs +++ b/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs @@ -1,7 +1,5 @@ #![feature(const_generics)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] +#![feature(type_alias_impl_trait)] #![allow(incomplete_features)] use std::fmt::Debug; @@ -15,16 +13,16 @@ type OneConst = impl Debug; // Not defining uses, because they doesn't define *all* possible generics. fn concrete_ty() -> OneTy { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope 5u32 } fn concrete_lifetime() -> OneLifetime<'static> { -//~^ ERROR non-defining opaque type use in defining scope + //~^ ERROR non-defining opaque type use in defining scope 6u32 } -fn concrete_const() -> OneConst<{123}> { -//~^ ERROR non-defining opaque type use in defining scope +fn concrete_const() -> OneConst<{ 123 }> { + //~^ ERROR non-defining opaque type use in defining scope 7u32 } diff --git a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_nondefining_use.stderr similarity index 67% rename from src/test/ui/type-alias-impl-trait/generic_nondefining_use.full_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_nondefining_use.stderr index 4d7eddfb2fb45..eb0c296bb626a 100644 --- a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_nondefining_use.stderr @@ -1,17 +1,17 @@ error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:17:21 + --> $DIR/generic_nondefining_use.rs:15:21 | LL | fn concrete_ty() -> OneTy { | ^^^^^^^^^^ | note: used non-generic type `u32` for generic parameter - --> $DIR/generic_nondefining_use.rs:11:12 + --> $DIR/generic_nondefining_use.rs:9:12 | LL | type OneTy = impl Debug; | ^ error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:22:27 + --> $DIR/generic_nondefining_use.rs:20:27 | LL | type OneLifetime<'a> = impl Debug; | -- cannot use static lifetime; use a bound lifetime instead or remove the lifetime parameter from the opaque type @@ -20,13 +20,13 @@ LL | fn concrete_lifetime() -> OneLifetime<'static> { | ^^^^^^^^^^^^^^^^^^^^ error: non-defining opaque type use in defining scope - --> $DIR/generic_nondefining_use.rs:27:24 + --> $DIR/generic_nondefining_use.rs:25:24 | -LL | fn concrete_const() -> OneConst<{123}> { - | ^^^^^^^^^^^^^^^ +LL | fn concrete_const() -> OneConst<{ 123 }> { + | ^^^^^^^^^^^^^^^^^ | -note: used non-generic constant `{123}` for generic parameter - --> $DIR/generic_nondefining_use.rs:13:21 +note: used non-generic constant `{ 123 }` for generic parameter + --> $DIR/generic_nondefining_use.rs:11:21 | LL | type OneConst = impl Debug; | ^ diff --git a/src/test/ui/type-alias-impl-trait/generic_not_used.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_not_used.full_tait.stderr deleted file mode 100644 index 819ef7b771232..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_not_used.full_tait.stderr +++ /dev/null @@ -1,27 +0,0 @@ -error: at least one trait must be specified - --> $DIR/generic_not_used.rs:8:33 - | -LL | type WrongGeneric = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_not_used.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: type parameter `V` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/generic_not_used.rs:11:73 - | -LL | fn wrong_generic(_: U, v: V) -> WrongGeneric { - | _________________________________________________________________________^ -LL | | -LL | | v -LL | | } - | |_^ - -error: aborting due to 2 previous errors; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/generic_not_used.rs b/src/test/ui/type-alias-impl-trait/generic_not_used.rs index 68f50b2151ff1..dd6300a64f42e 100644 --- a/src/test/ui/type-alias-impl-trait/generic_not_used.rs +++ b/src/test/ui/type-alias-impl-trait/generic_not_used.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} @@ -9,6 +6,6 @@ type WrongGeneric = impl 'static; //~^ ERROR: at least one trait must be specified fn wrong_generic(_: U, v: V) -> WrongGeneric { -//~^ ERROR type parameter `V` is part of concrete type but not used in parameter list + //~^ ERROR type parameter `V` is part of concrete type but not used in parameter list v } diff --git a/src/test/ui/type-alias-impl-trait/generic_not_used.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_not_used.stderr similarity index 87% rename from src/test/ui/type-alias-impl-trait/generic_not_used.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_not_used.stderr index fe7f5f6c71e04..8015ff7eded90 100644 --- a/src/test/ui/type-alias-impl-trait/generic_not_used.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_not_used.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/generic_not_used.rs:8:33 + --> $DIR/generic_not_used.rs:5:33 | LL | type WrongGeneric = impl 'static; | ^^^^^^^^^^^^ error: type parameter `V` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/generic_not_used.rs:11:73 + --> $DIR/generic_not_used.rs:8:73 | LL | fn wrong_generic(_: U, v: V) -> WrongGeneric { | _________________________________________________________________________^ diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.nll.stderr b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.nll.stderr deleted file mode 100644 index 28ac61a6b984a..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.nll.stderr +++ /dev/null @@ -1,50 +0,0 @@ -error: at least one trait must be specified - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 - | -LL | type WrongGeneric = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_type_does_not_live_long_enough.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/generic_type_does_not_live_long_enough.rs:9:18 - | -LL | let z: i32 = x; - | --- ^ expected `i32`, found opaque type - | | - | expected due to this -... -LL | type WrongGeneric = impl 'static; - | ------------ the found opaque type - | - = note: expected type `i32` - found opaque type `impl Sized` - -error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:16:30 - | -LL | fn wrong_generic(t: T) -> WrongGeneric { - | ^^^^^^^^^^^^^^^ - | - = help: consider adding an explicit lifetime bound `T: 'static`... - -error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 - | -LL | type WrongGeneric = impl 'static; - | ^^^^^^^^^^^^ - | - = help: consider adding an explicit lifetime bound `T: 'static`... - = note: ...so that the type `T` will meet its required lifetime bounds - -error: aborting due to 4 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0308, E0310. -For more information about an error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.stderr deleted file mode 100644 index 90a753b5a6de1..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.stderr +++ /dev/null @@ -1,42 +0,0 @@ -error: at least one trait must be specified - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 - | -LL | type WrongGeneric = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_type_does_not_live_long_enough.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/generic_type_does_not_live_long_enough.rs:9:18 - | -LL | let z: i32 = x; - | --- ^ expected `i32`, found opaque type - | | - | expected due to this -... -LL | type WrongGeneric = impl 'static; - | ------------ the found opaque type - | - = note: expected type `i32` - found opaque type `impl Sized` - -error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 - | -LL | type WrongGeneric = impl 'static; - | ^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds -... -LL | fn wrong_generic(t: T) -> WrongGeneric { - | - help: consider adding an explicit lifetime bound...: `T: 'static` - -error: aborting due to 3 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0308, E0310. -For more information about an error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.nll.stderr b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.nll.stderr similarity index 83% rename from src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.nll.stderr rename to src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.nll.stderr index b8ca8e46079aa..84f48cd6c0d20 100644 --- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.nll.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.nll.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 + --> $DIR/generic_type_does_not_live_long_enough.rs:9:24 | LL | type WrongGeneric = impl 'static; | ^^^^^^^^^^^^ error[E0308]: mismatched types - --> $DIR/generic_type_does_not_live_long_enough.rs:9:18 + --> $DIR/generic_type_does_not_live_long_enough.rs:6:18 | LL | let z: i32 = x; | --- ^ expected `i32`, found opaque type @@ -19,7 +19,7 @@ LL | type WrongGeneric = impl 'static; found opaque type `impl Sized` error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:16:30 + --> $DIR/generic_type_does_not_live_long_enough.rs:13:30 | LL | fn wrong_generic(t: T) -> WrongGeneric { | ^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ LL | fn wrong_generic(t: T) -> WrongGeneric { = help: consider adding an explicit lifetime bound `T: 'static`... error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 + --> $DIR/generic_type_does_not_live_long_enough.rs:9:24 | LL | type WrongGeneric = impl 'static; | ^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs index 9f647d9e737fe..9c6b93b7ba040 100644 --- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs +++ b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() { let y = 42; diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr similarity index 85% rename from src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr index e50282201074e..18d8daa05e63d 100644 --- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 + --> $DIR/generic_type_does_not_live_long_enough.rs:9:24 | LL | type WrongGeneric = impl 'static; | ^^^^^^^^^^^^ error[E0308]: mismatched types - --> $DIR/generic_type_does_not_live_long_enough.rs:9:18 + --> $DIR/generic_type_does_not_live_long_enough.rs:6:18 | LL | let z: i32 = x; | --- ^ expected `i32`, found opaque type @@ -19,7 +19,7 @@ LL | type WrongGeneric = impl 'static; found opaque type `impl Sized` error[E0310]: the parameter type `T` may not live long enough - --> $DIR/generic_type_does_not_live_long_enough.rs:12:24 + --> $DIR/generic_type_does_not_live_long_enough.rs:9:24 | LL | type WrongGeneric = impl 'static; | ^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained.full_tait.stderr deleted file mode 100644 index c4778a46fb088..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.full_tait.stderr +++ /dev/null @@ -1,32 +0,0 @@ -error: at least one trait must be specified - --> $DIR/generic_underconstrained.rs:9:35 - | -LL | type Underconstrained = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_underconstrained.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0277]: the trait bound `T: Trait` is not satisfied - --> $DIR/generic_underconstrained.rs:13:31 - | -LL | type Underconstrained = impl 'static; - | ----- required by this bound in `Underconstrained` -... -LL | fn underconstrain(_: T) -> Underconstrained { - | ^^^^^^^^^^^^^^^^^^^ the trait `Trait` is not implemented for `T` - | -help: consider restricting type parameter `T` - | -LL | fn underconstrain(_: T) -> Underconstrained { - | ^^^^^^^ - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs b/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs index f4c4a1b72cb9d..766ee36c02be2 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr similarity index 89% rename from src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr index 6c1d6debee816..cefc5d99b379e 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/generic_underconstrained.rs:9:35 + --> $DIR/generic_underconstrained.rs:6:35 | LL | type Underconstrained = impl 'static; | ^^^^^^^^^^^^ error[E0277]: the trait bound `T: Trait` is not satisfied - --> $DIR/generic_underconstrained.rs:13:31 + --> $DIR/generic_underconstrained.rs:10:31 | LL | type Underconstrained = impl 'static; | ----- required by this bound in `Underconstrained` diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr deleted file mode 100644 index 7ab73d24274ce..0000000000000 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr +++ /dev/null @@ -1,52 +0,0 @@ -error: at least one trait must be specified - --> $DIR/generic_underconstrained2.rs:8:45 - | -LL | type Underconstrained = impl 'static; - | ^^^^^^^^^^^^ - -error: at least one trait must be specified - --> $DIR/generic_underconstrained2.rs:17:46 - | -LL | type Underconstrained2 = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/generic_underconstrained2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0277]: `U` doesn't implement `Debug` - --> $DIR/generic_underconstrained2.rs:12:33 - | -LL | type Underconstrained = impl 'static; - | --------------- required by this bound in `Underconstrained` -... -LL | fn underconstrained(_: U) -> Underconstrained { - | ^^^^^^^^^^^^^^^^^^^ `U` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | -help: consider restricting type parameter `U` - | -LL | fn underconstrained(_: U) -> Underconstrained { - | ^^^^^^^^^^^^^^^^^ - -error[E0277]: `V` doesn't implement `Debug` - --> $DIR/generic_underconstrained2.rs:21:43 - | -LL | type Underconstrained2 = impl 'static; - | --------------- required by this bound in `Underconstrained2` -... -LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { - | ^^^^^^^^^^^^^^^^^^^^ `V` cannot be formatted using `{:?}` because it doesn't implement `Debug` - | -help: consider restricting type parameter `V` - | -LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 4 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs index b3fb0748d2a62..cd7c962e2d15b 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr similarity index 90% rename from src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr index a4f5f4b8645b1..8bba62a913e11 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr @@ -1,17 +1,17 @@ error: at least one trait must be specified - --> $DIR/generic_underconstrained2.rs:8:45 + --> $DIR/generic_underconstrained2.rs:5:45 | LL | type Underconstrained = impl 'static; | ^^^^^^^^^^^^ error: at least one trait must be specified - --> $DIR/generic_underconstrained2.rs:17:46 + --> $DIR/generic_underconstrained2.rs:14:46 | LL | type Underconstrained2 = impl 'static; | ^^^^^^^^^^^^ error[E0277]: `U` doesn't implement `Debug` - --> $DIR/generic_underconstrained2.rs:12:33 + --> $DIR/generic_underconstrained2.rs:9:33 | LL | type Underconstrained = impl 'static; | --------------- required by this bound in `Underconstrained` @@ -25,7 +25,7 @@ LL | fn underconstrained(_: U) -> Underconstrained { | ^^^^^^^^^^^^^^^^^ error[E0277]: `V` doesn't implement `Debug` - --> $DIR/generic_underconstrained2.rs:21:43 + --> $DIR/generic_underconstrained2.rs:18:43 | LL | type Underconstrained2 = impl 'static; | --------------- required by this bound in `Underconstrained2` diff --git a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.full_tait.stderr b/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.full_tait.stderr deleted file mode 100644 index bdd88134290c8..0000000000000 --- a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/impl-with-unconstrained-param.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/impl-with-unconstrained-param.rs:14:6 - | -LL | impl X for () { - | ^ unconstrained type parameter - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs b/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs index 1aefa2474ffcd..851c2f66c475a 100644 --- a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs +++ b/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs @@ -1,10 +1,7 @@ // Ensure that we don't ICE if associated type impl trait is used in an impl // with an unconstrained type parameter. -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait X { type I; diff --git a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.min_tait.stderr b/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr similarity index 85% rename from src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr index eb59766b91396..8cf8fb1d16c4d 100644 --- a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr @@ -1,5 +1,5 @@ error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/impl-with-unconstrained-param.rs:14:6 + --> $DIR/impl-with-unconstrained-param.rs:11:6 | LL | impl X for () { | ^ unconstrained type parameter diff --git a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.full_tait.stderr deleted file mode 100644 index 6d1a59aafeda4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.full_tait.stderr +++ /dev/null @@ -1,32 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/incoherent-assoc-imp-trait.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0119]: conflicting implementations of trait `std::ops::FnOnce<()>` for type `&_` - --> $DIR/incoherent-assoc-imp-trait.rs:13:1 - | -LL | impl FnOnce<()> for &F { - | ^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: conflicting implementation in crate `core`: - - impl FnOnce for &F - where F: Fn, F: ?Sized; - -error[E0210]: type parameter `F` must be used as the type parameter for some local type (e.g., `MyStruct`) - --> $DIR/incoherent-assoc-imp-trait.rs:13:6 - | -LL | impl FnOnce<()> for &F { - | ^ type parameter `F` must be used as the type parameter for some local type - | - = note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local - = note: only traits defined in the current crate can be implemented for a type parameter - -error: aborting due to 2 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0119, E0210. -For more information about an error, try `rustc --explain E0119`. diff --git a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs index b52b9c18f0845..c46c4715924e5 100644 --- a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs +++ b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs @@ -1,10 +1,7 @@ // Regression test for issue 67856 #![feature(unboxed_closures)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![feature(fn_traits)] trait MyTrait {} diff --git a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.min_tait.stderr b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr similarity index 90% rename from src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr index 5c02b602d528b..e1e259187f5f9 100644 --- a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `std::ops::FnOnce<()>` for type `&_` - --> $DIR/incoherent-assoc-imp-trait.rs:13:1 + --> $DIR/incoherent-assoc-imp-trait.rs:10:1 | LL | impl FnOnce<()> for &F { | ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -9,7 +9,7 @@ LL | impl FnOnce<()> for &F { where F: Fn, F: ?Sized; error[E0210]: type parameter `F` must be used as the type parameter for some local type (e.g., `MyStruct`) - --> $DIR/incoherent-assoc-imp-trait.rs:13:6 + --> $DIR/incoherent-assoc-imp-trait.rs:10:6 | LL | impl FnOnce<()> for &F { | ^ type parameter `F` must be used as the type parameter for some local type diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.full_tait.stderr deleted file mode 100644 index 4effd87120e7d..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-52843-closure-constrain.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: concrete type differs from previous defining opaque type use - --> $DIR/issue-52843-closure-constrain.rs:13:16 - | -LL | let null = || -> Opaque { 0 }; - | ^^^^^^^^^^^^^^^^^^ expected `String`, got `i32` - | -note: previous use here - --> $DIR/issue-52843-closure-constrain.rs:12:5 - | -LL | fn _unused() -> Opaque { String::new() } - | ^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.min_tait.stderr deleted file mode 100644 index c2cb4829fb78a..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.min_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -error[E0658]: type alias impl trait is not permitted here - --> $DIR/issue-52843-closure-constrain.rs:13:22 - | -LL | let null = || -> Opaque { 0 }; - | ^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - -error: concrete type differs from previous defining opaque type use - --> $DIR/issue-52843-closure-constrain.rs:13:16 - | -LL | let null = || -> Opaque { 0 }; - | ^^^^^^^^^^^^^^^^^^ expected `String`, got `[type error]` - | -note: previous use here - --> $DIR/issue-52843-closure-constrain.rs:12:5 - | -LL | fn _unused() -> Opaque { String::new() } - | ^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs index 01f874155fa1e..50eeff0b18fd4 100644 --- a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs +++ b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs @@ -1,16 +1,13 @@ // Checks to ensure that we properly detect when a closure constrains an opaque type -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; fn main() { type Opaque = impl Debug; fn _unused() -> Opaque { String::new() } - let null = || -> Opaque { 0 }; //[min_tait]~ ERROR: not permitted here + let null = || -> Opaque { 0 }; //~^ ERROR: concrete type differs from previous defining opaque type use println!("{:?}", null()); } diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr new file mode 100644 index 0000000000000..d82050e263ee6 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr @@ -0,0 +1,14 @@ +error: concrete type differs from previous defining opaque type use + --> $DIR/issue-52843-closure-constrain.rs:10:16 + | +LL | let null = || -> Opaque { 0 }; + | ^^^^^^^^^^^^^^^^^^ expected `String`, got `i32` + | +note: previous use here + --> $DIR/issue-52843-closure-constrain.rs:9:5 + | +LL | fn _unused() -> Opaque { String::new() } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr deleted file mode 100644 index 35ac0993b29ca..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-52843.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0277]: the trait bound `T: Default` is not satisfied - --> $DIR/issue-52843.rs:6:15 - | -LL | type Foo = impl Default; - | ^^^^^^^^^^^^ the trait `Default` is not implemented for `T` - | -help: consider restricting type parameter `T` - | -LL | type Foo = impl Default; - | ^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.rs b/src/test/ui/type-alias-impl-trait/issue-52843.rs index 14f9db6eae2c7..b24959d720720 100644 --- a/src/test/ui/type-alias-impl-trait/issue-52843.rs +++ b/src/test/ui/type-alias-impl-trait/issue-52843.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Default; //~^ ERROR: the trait bound `T: Default` is not satisfied diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.stderr similarity index 93% rename from src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-52843.stderr index 9fb760f34c19a..8718a57d9d4f3 100644 --- a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-52843.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `T: Default` is not satisfied - --> $DIR/issue-52843.rs:6:15 + --> $DIR/issue-52843.rs:3:15 | LL | type Foo = impl Default; | ^^^^^^^^^^^^ the trait `Default` is not implemented for `T` diff --git a/src/test/ui/type-alias-impl-trait/issue-53096.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53096.full_tait.stderr deleted file mode 100644 index a8dd6a93d3dbf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-53096.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-53096.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/issue-53096.rs:14:1 - | -LL | fn main() {} - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-53096.rs b/src/test/ui/type-alias-impl-trait/issue-53096.rs index 7bb0066b7ef42..792bd16527be8 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53096.rs +++ b/src/test/ui/type-alias-impl-trait/issue-53096.rs @@ -1,8 +1,5 @@ #![feature(const_impl_trait, const_fn_fn_ptr_basics, rustc_attrs)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Fn() -> usize; const fn bar() -> Foo { diff --git a/src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53096.stderr similarity index 80% rename from src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-53096.stderr index 4210d0c1cb17a..0af3a75f8532e 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-53096.stderr @@ -1,5 +1,5 @@ error: fatal error triggered by #[rustc_error] - --> $DIR/issue-53096.rs:14:1 + --> $DIR/issue-53096.rs:11:1 | LL | fn main() {} | ^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/issue-53598.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53598.full_tait.stderr deleted file mode 100644 index ee4b7eef0bdc4..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-53598.full_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-53598.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-53598.rs:23:42 - | -LL | fn foo(_: T) -> Self::Item { - | __________________________________________^ -LL | | -LL | | S::(Default::default()) -LL | | } - | |_____^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-53598.rs b/src/test/ui/type-alias-impl-trait/issue-53598.rs index 38067a7222374..37b330ba4b8fc 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53598.rs +++ b/src/test/ui/type-alias-impl-trait/issue-53598.rs @@ -1,8 +1,5 @@ // ignore-compare-mode-chalk -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; @@ -21,7 +18,7 @@ impl Foo for S2 { type Item = impl Debug; fn foo(_: T) -> Self::Item { - //~^ Error type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias + //~^ Error type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias S::(Default::default()) } } diff --git a/src/test/ui/type-alias-impl-trait/issue-53598.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53598.stderr similarity index 91% rename from src/test/ui/type-alias-impl-trait/issue-53598.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-53598.stderr index 728721b6dbd71..4c8144a235930 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53598.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-53598.stderr @@ -1,5 +1,5 @@ error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-53598.rs:23:42 + --> $DIR/issue-53598.rs:20:42 | LL | fn foo(_: T) -> Self::Item { | __________________________________________^ diff --git a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.full_tait.stderr deleted file mode 100644 index b23fed5dadfe7..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-53678-generator-and-const-fn.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/issue-53678-generator-and-const-fn.rs:22:1 - | -LL | fn main() {} - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs b/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs index a8215c41826f8..176118200e5ed 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs +++ b/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs @@ -1,8 +1,5 @@ #![feature(const_impl_trait, generators, generator_trait, rustc_attrs)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::ops::Generator; diff --git a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr similarity index 69% rename from src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr index fabba2183531f..eb1c9603a60d6 100644 --- a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr @@ -1,5 +1,5 @@ error: fatal error triggered by #[rustc_error] - --> $DIR/issue-53678-generator-and-const-fn.rs:22:1 + --> $DIR/issue-53678-generator-and-const-fn.rs:19:1 | LL | fn main() {} | ^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.full_tait.stderr deleted file mode 100644 index 98778210bfb37..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-55099-lifetime-inference.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs b/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs index 2c24e9d744ae2..af0780ab0b998 100644 --- a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs +++ b/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs @@ -3,18 +3,13 @@ // Tests that we don't incorrectly consider a lifetime to part // of the concrete type -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] -trait Future { -} +trait Future {} struct AndThen(F); -impl Future for AndThen { -} +impl Future for AndThen {} struct Foo<'a> { x: &'a mut (), diff --git a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.full_tait.stderr deleted file mode 100644 index d31c232fc2391..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-57188-associate-impl-capture.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs b/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs index 645a4c5696d45..3a7a5da075f11 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs +++ b/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs @@ -2,10 +2,7 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] struct Baz<'a> { source: &'a str, diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.nll.stderr b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.nll.stderr deleted file mode 100644 index e2b8b19aeba1b..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.nll.stderr +++ /dev/null @@ -1,47 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-57611-trait-alias.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: higher-ranked subtype error - --> $DIR/issue-57611-trait-alias.rs:24:9 - | -LL | |x| x - | ^^^^^ - -error: higher-ranked subtype error - --> $DIR/issue-57611-trait-alias.rs:24:9 - | -LL | |x| x - | ^^^^^ - -error[E0308]: mismatched types - --> $DIR/issue-57611-trait-alias.rs:20:16 - | -LL | type Bar = impl Baz; - | ^^^^^^^^^^^^^^^^^^^^ one type is more general than the other - | - = note: expected type `for<'r> Fn<(&'r X,)>` - found type `Fn<(&'static X,)>` -note: this closure does not fulfill the lifetime requirements - --> $DIR/issue-57611-trait-alias.rs:24:9 - | -LL | |x| x - | ^^^^^ - -error: implementation of `FnOnce` is not general enough - --> $DIR/issue-57611-trait-alias.rs:20:16 - | -LL | type Bar = impl Baz; - | ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough - | - = note: closure with signature `fn(&'static X) -> &'static X` must implement `FnOnce<(&'0 X,)>`, for any lifetime `'0`... - = note: ...but it actually implements `FnOnce<(&'static X,)>` - -error: aborting due to 4 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.stderr deleted file mode 100644 index 61e8da91bbaa9..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.stderr +++ /dev/null @@ -1,20 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-57611-trait-alias.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: implementation of `FnOnce` is not general enough - --> $DIR/issue-57611-trait-alias.rs:20:16 - | -LL | type Bar = impl Baz; - | ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough - | - = note: closure with signature `fn(&'2 X) -> &X` must implement `FnOnce<(&'1 X,)>`, for any lifetime `'1`... - = note: ...but it actually implements `FnOnce<(&'2 X,)>`, for some specific lifetime `'2` - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.nll.stderr b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.nll.stderr similarity index 82% rename from src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.nll.stderr rename to src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.nll.stderr index 3a4d1d90c0397..a4ccae4eb7ed9 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.nll.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.nll.stderr @@ -1,17 +1,17 @@ error: higher-ranked subtype error - --> $DIR/issue-57611-trait-alias.rs:24:9 + --> $DIR/issue-57611-trait-alias.rs:21:9 | LL | |x| x | ^^^^^ error: higher-ranked subtype error - --> $DIR/issue-57611-trait-alias.rs:24:9 + --> $DIR/issue-57611-trait-alias.rs:21:9 | LL | |x| x | ^^^^^ error[E0308]: mismatched types - --> $DIR/issue-57611-trait-alias.rs:20:16 + --> $DIR/issue-57611-trait-alias.rs:17:16 | LL | type Bar = impl Baz; | ^^^^^^^^^^^^^^^^^^^^ one type is more general than the other @@ -19,13 +19,13 @@ LL | type Bar = impl Baz; = note: expected type `for<'r> Fn<(&'r X,)>` found type `Fn<(&'static X,)>` note: this closure does not fulfill the lifetime requirements - --> $DIR/issue-57611-trait-alias.rs:24:9 + --> $DIR/issue-57611-trait-alias.rs:21:9 | LL | |x| x | ^^^^^ error: implementation of `FnOnce` is not general enough - --> $DIR/issue-57611-trait-alias.rs:20:16 + --> $DIR/issue-57611-trait-alias.rs:17:16 | LL | type Bar = impl Baz; | ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs index 508ecdd88a482..a55fbf9c48a57 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs +++ b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs @@ -3,10 +3,7 @@ // FIXME: This should compile, but it currently doesn't #![feature(trait_alias)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Foo { type Bar: Baz; diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.stderr similarity index 90% rename from src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.stderr index f65e91e52c713..f87beb66d995e 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.stderr @@ -1,5 +1,5 @@ error: implementation of `FnOnce` is not general enough - --> $DIR/issue-57611-trait-alias.rs:20:16 + --> $DIR/issue-57611-trait-alias.rs:17:16 | LL | type Bar = impl Baz; | ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough diff --git a/src/test/ui/type-alias-impl-trait/issue-57700.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57700.full_tait.stderr deleted file mode 100644 index 4336532cdbbaf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-57700.full_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-57700.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: type parameter `impl Deref` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-57700.rs:19:58 - | -LL | fn foo(self: impl Deref) -> Self::Bar { - | __________________________________________________________^ -LL | | -LL | | self -LL | | } - | |_____^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-57700.rs b/src/test/ui/type-alias-impl-trait/issue-57700.rs index 476a188cde698..f1db4d3291b40 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57700.rs +++ b/src/test/ui/type-alias-impl-trait/issue-57700.rs @@ -1,9 +1,6 @@ // ignore-compare-mode-chalk #![feature(arbitrary_self_types)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::ops::Deref; @@ -17,7 +14,7 @@ impl Foo for C { type Bar = impl Foo; fn foo(self: impl Deref) -> Self::Bar { - //~^ Error type parameter `impl Deref` is part of concrete type but not used in parameter list for the `impl Trait` type alias + //~^ Error type parameter `impl Deref` is part of concrete type but not used in parameter list for the `impl Trait` type alias self } } diff --git a/src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57700.stderr similarity index 92% rename from src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-57700.stderr index 47ab31cd797b8..c701e3e74ef59 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-57700.stderr @@ -1,5 +1,5 @@ error: type parameter `impl Deref` is part of concrete type but not used in parameter list for the `impl Trait` type alias - --> $DIR/issue-57700.rs:19:58 + --> $DIR/issue-57700.rs:16:58 | LL | fn foo(self: impl Deref) -> Self::Bar { | __________________________________________________________^ diff --git a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.full_tait.stderr deleted file mode 100644 index b35361c89a485..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-57807-associated-type.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs b/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs index 0a021149e700d..fcab2c7db2605 100644 --- a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs +++ b/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs @@ -2,10 +2,7 @@ // that we properly unify associated types within // a type alias impl trait // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Bar { type A; diff --git a/src/test/ui/type-alias-impl-trait/issue-58887.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-58887.full_tait.stderr deleted file mode 100644 index f0fd5f2f056ab..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-58887.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-58887.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-58887.rs b/src/test/ui/type-alias-impl-trait/issue-58887.rs index f0803a663de39..96ac7860283ac 100644 --- a/src/test/ui/type-alias-impl-trait/issue-58887.rs +++ b/src/test/ui/type-alias-impl-trait/issue-58887.rs @@ -1,9 +1,6 @@ // run-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait UnwrapItemsExt { type Iter; diff --git a/src/test/ui/type-alias-impl-trait/issue-58951.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-58951.full_tait.stderr deleted file mode 100644 index 164b8881714e7..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-58951.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-58951.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-58951.rs b/src/test/ui/type-alias-impl-trait/issue-58951.rs index 3b1ea0d676bb4..7303cbab4a813 100644 --- a/src/test/ui/type-alias-impl-trait/issue-58951.rs +++ b/src/test/ui/type-alias-impl-trait/issue-58951.rs @@ -1,13 +1,12 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type A = impl Iterator; -fn def_a() -> A { 0..1 } +fn def_a() -> A { + 0..1 +} pub fn use_a() { def_a().map(|x| x); diff --git a/src/test/ui/type-alias-impl-trait/issue-60371.stderr b/src/test/ui/type-alias-impl-trait/issue-60371.stderr index a9df74689df29..9abdd70bbd927 100644 --- a/src/test/ui/type-alias-impl-trait/issue-60371.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-60371.stderr @@ -5,7 +5,7 @@ LL | type Item = impl Bug; | ^^^^^^^^ | = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable + = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable error[E0658]: type alias impl trait is not permitted here --> $DIR/issue-60371.rs:13:40 diff --git a/src/test/ui/type-alias-impl-trait/issue-60407.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-60407.full_tait.stderr deleted file mode 100644 index 9d3f366ad810a..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-60407.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-60407.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/issue-60407.rs:11:1 - | -LL | fn main() { - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-60407.rs b/src/test/ui/type-alias-impl-trait/issue-60407.rs index 3c6b873b4ca5a..b833429c76922 100644 --- a/src/test/ui/type-alias-impl-trait/issue-60407.rs +++ b/src/test/ui/type-alias-impl-trait/issue-60407.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait, rustc_attrs)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait, rustc_attrs)] type Debuggable = impl core::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-60407.stderr similarity index 80% rename from src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-60407.stderr index 1a3ceafa3e294..fecee27797a54 100644 --- a/src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-60407.stderr @@ -1,5 +1,5 @@ error: fatal error triggered by #[rustc_error] - --> $DIR/issue-60407.rs:11:1 + --> $DIR/issue-60407.rs:8:1 | LL | fn main() { | ^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/issue-60564.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-60564.full_tait.stderr deleted file mode 100644 index 72b6b0648f98f..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-60564.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-60564.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/issue-60564.rs:22:34 - | -LL | fn iter_bits(self, n: u8) -> Self::BitsIter { - | ^^^^^^^^^^^^^^ - | -note: used non-generic type `u8` for generic parameter - --> $DIR/issue-60564.rs:11:25 - | -LL | type IterBitsIter = impl std::iter::Iterator; - | ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-60564.rs b/src/test/ui/type-alias-impl-trait/issue-60564.rs index 10fbbd2ef292e..78def0d1136de 100644 --- a/src/test/ui/type-alias-impl-trait/issue-60564.rs +++ b/src/test/ui/type-alias-impl-trait/issue-60564.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait IterBits { type BitsIter: Iterator; diff --git a/src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-60564.stderr similarity index 85% rename from src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-60564.stderr index 72668c8056fc5..66fa862ef9d7a 100644 --- a/src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-60564.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/issue-60564.rs:22:34 + --> $DIR/issue-60564.rs:19:34 | LL | fn iter_bits(self, n: u8) -> Self::BitsIter { | ^^^^^^^^^^^^^^ | note: used non-generic type `u8` for generic parameter - --> $DIR/issue-60564.rs:11:25 + --> $DIR/issue-60564.rs:8:25 | LL | type IterBitsIter = impl std::iter::Iterator; | ^ diff --git a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.full_tait.stderr deleted file mode 100644 index 1fc38d2f549a1..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-62000-associate-impl-trait-lifetimes.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs b/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs index 4d9ca47b9474a..36779a0ce89c3 100644 --- a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs +++ b/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs @@ -2,10 +2,7 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait MyTrait { type AssocType: Send; diff --git a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.full_tait.stderr deleted file mode 100644 index 1c6759e3454b5..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-63263-closure-return.rs:9:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs b/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs index 3b8f6afcb0054..7414611a74893 100644 --- a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs +++ b/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs @@ -4,8 +4,7 @@ // check-pass -#![feature(min_type_alias_impl_trait, type_alias_impl_trait)] -//~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub type Closure = impl FnOnce(); diff --git a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.stderr b/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.stderr deleted file mode 100644 index e1f4ecd3b9814..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-63263-closure-return.rs:7:39 - | -LL | #![feature(min_type_alias_impl_trait, type_alias_impl_trait)] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-63279.full_tait.stderr deleted file mode 100644 index 53a0016c08eb5..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-63279.full_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-63279.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0271]: type mismatch resolving `<[closure@$DIR/issue-63279.rs:11:5: 11:28] as FnOnce<()>>::Output == ()` - --> $DIR/issue-63279.rs:8:16 - | -LL | type Closure = impl FnOnce(); - | ^^^^^^^^^^^^^ expected `()`, found opaque type - | - = note: expected unit type `()` - found opaque type `impl FnOnce<()>` - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0271`. diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr deleted file mode 100644 index be386ab90ea00..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr +++ /dev/null @@ -1,22 +0,0 @@ -error[E0658]: type alias impl trait is not permitted here - --> $DIR/issue-63279.rs:11:11 - | -LL | || -> Closure { || () } - | ^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - -error[E0271]: type mismatch resolving `<[closure@$DIR/issue-63279.rs:11:5: 11:28] as FnOnce<()>>::Output == ()` - --> $DIR/issue-63279.rs:8:16 - | -LL | type Closure = impl FnOnce(); - | ^^^^^^^^^^^^^ expected `()`, found opaque type - | - = note: expected unit type `()` - found opaque type `impl FnOnce<()>` - -error: aborting due to 2 previous errors - -Some errors have detailed explanations: E0271, E0658. -For more information about an error, try `rustc --explain E0271`. diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.rs b/src/test/ui/type-alias-impl-trait/issue-63279.rs index 086715626bc16..b97192a2aed4a 100644 --- a/src/test/ui/type-alias-impl-trait/issue-63279.rs +++ b/src/test/ui/type-alias-impl-trait/issue-63279.rs @@ -1,14 +1,11 @@ // compile-flags: -Zsave-analysis -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Closure = impl FnOnce(); //~ ERROR: type mismatch resolving fn c() -> Closure { - || -> Closure { || () } //[min_tait]~ ERROR: not permitted here + || -> Closure { || () } } fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.stderr b/src/test/ui/type-alias-impl-trait/issue-63279.stderr new file mode 100644 index 0000000000000..63a83a60ff876 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-63279.stderr @@ -0,0 +1,12 @@ +error[E0271]: type mismatch resolving `<[closure@$DIR/issue-63279.rs:8:5: 8:28] as FnOnce<()>>::Output == ()` + --> $DIR/issue-63279.rs:5:16 + | +LL | type Closure = impl FnOnce(); + | ^^^^^^^^^^^^^ expected `()`, found opaque type + | + = note: expected unit type `()` + found opaque type `impl FnOnce<()>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0271`. diff --git a/src/test/ui/type-alias-impl-trait/issue-63355.rs b/src/test/ui/type-alias-impl-trait/issue-63355.rs index 8762d189c7389..ff4fd5dcec73c 100644 --- a/src/test/ui/type-alias-impl-trait/issue-63355.rs +++ b/src/test/ui/type-alias-impl-trait/issue-63355.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)] #![allow(incomplete_features)] @@ -28,7 +28,7 @@ impl Bar for () { } } -// FIXME(#86731): The below is illegal use of `min_type_alias_impl_trait` +// FIXME(#86731): The below is illegal use of `type_alias_impl_trait` // but the compiler doesn't report it, we should fix it. pub type FooImpl = impl Foo; pub type BarImpl = impl Bar; diff --git a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.full_tait.stderr deleted file mode 100644 index fc8d8147167b3..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-63677-type-alias-coherence.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs b/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs index 62d11ad38d62d..28f4a85c9f290 100644 --- a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs +++ b/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs @@ -2,10 +2,7 @@ // Regression test for issue #63677 - ensure that // coherence checking can properly handle 'impl trait' // in type aliases -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait Trait {} pub struct S1(T); diff --git a/src/test/ui/type-alias-impl-trait/issue-65384.rs b/src/test/ui/type-alias-impl-trait/issue-65384.rs index 63666c497c669..273928c4d663d 100644 --- a/src/test/ui/type-alias-impl-trait/issue-65384.rs +++ b/src/test/ui/type-alias-impl-trait/issue-65384.rs @@ -1,4 +1,4 @@ -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)] #![allow(incomplete_features)] diff --git a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.full_tait.stderr deleted file mode 100644 index ee26789d204f1..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: fatal error triggered by #[rustc_error] - --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:18:1 - | -LL | fn main() { - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.min_tait.stderr deleted file mode 100644 index 5b6c4b5cda1fd..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.min_tait.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0658]: type alias impl trait is not permitted here - --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:20:13 - | -LL | take(|| {}); - | ^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - -error[E0658]: type alias impl trait is not permitted here - --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:22:13 - | -LL | take(|| {}); - | ^ - | - = note: see issue #63063 for more information - = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs index d37be640e0b04..0f0cd4e9227b4 100644 --- a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs +++ b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs @@ -1,9 +1,6 @@ // compile-flags: -Zsave-analysis -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait, rustc_attrs)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait, rustc_attrs)] type T = impl Sized; // The concrete type referred by impl-trait-type-alias(`T`) is guaranteed @@ -16,9 +13,7 @@ fn take(_: fn() -> T) {} #[rustc_error] fn main() { - //[full_tait]~^ ERROR fatal error triggered by #[rustc_error] + //~^ ERROR fatal error triggered by #[rustc_error] take(|| {}); - //[min_tait]~^ ERROR not permitted here take(|| {}); - //[min_tait]~^ ERROR not permitted here } diff --git a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.stderr b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.stderr new file mode 100644 index 0000000000000..f3683f2bf9607 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.stderr @@ -0,0 +1,8 @@ +error: fatal error triggered by #[rustc_error] + --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:15:1 + | +LL | fn main() { + | ^^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/type-alias-impl-trait/issue-65918.rs b/src/test/ui/type-alias-impl-trait/issue-65918.rs index ab05e4b1cbeca..af6d501092017 100644 --- a/src/test/ui/type-alias-impl-trait/issue-65918.rs +++ b/src/test/ui/type-alias-impl-trait/issue-65918.rs @@ -2,10 +2,7 @@ // build-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::marker::PhantomData; diff --git a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.full_tait.stderr deleted file mode 100644 index 2fc46574512cc..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-66580-closure-coherence.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs b/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs index 7b3ddc7886841..d97270c3124d1 100644 --- a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs +++ b/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs @@ -2,10 +2,7 @@ // Ensures that we don't try to determine whether a closure // is foreign when it's the underlying type of an opaque type // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Closure = impl FnOnce(); @@ -13,7 +10,9 @@ fn closure() -> Closure { || {} } -struct Wrap { f: T } +struct Wrap { + f: T, +} impl Wrap {} diff --git a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.full_tait.stderr deleted file mode 100644 index 81e27da0949af..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-67844-nested-opaque.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs b/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs index b9e29a01cddf9..cd219328a995a 100644 --- a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs +++ b/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs @@ -3,12 +3,11 @@ // Ensures that we properly handle nested TAIT occurrences // with generic parameters -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] -trait WithAssoc { type AssocType; } +trait WithAssoc { + type AssocType; +} trait WithParam {} @@ -23,7 +22,6 @@ impl WithAssoc for MyStruct { type AssocType = MyParam; } - fn my_fun() -> Return { MyStruct } diff --git a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.full_tait.stderr deleted file mode 100644 index 8b1ad19ac0cbf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-68368-non-defining-use.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/issue-68368-non-defining-use.rs:11:15 - | -LL | fn f<'a>() -> Alias<'a, ()> {} - | ^^^^^^^^^^^^^ - | -note: used non-generic type `()` for generic parameter - --> $DIR/issue-68368-non-defining-use.rs:10:16 - | -LL | type Alias<'a, U> = impl Trait; - | ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs b/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs index 92465076733bc..3b6decbe9c65e 100644 --- a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs +++ b/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs @@ -2,10 +2,7 @@ // Ensures that we don't ICE when emitting an error // for a non-defining use when lifetimes are involved -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Trait {} type Alias<'a, U> = impl Trait; fn f<'a>() -> Alias<'a, ()> {} diff --git a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr similarity index 75% rename from src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr index 01ae457851f24..c2fa54f50f881 100644 --- a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/issue-68368-non-defining-use.rs:11:15 + --> $DIR/issue-68368-non-defining-use.rs:8:15 | LL | fn f<'a>() -> Alias<'a, ()> {} | ^^^^^^^^^^^^^ | note: used non-generic type `()` for generic parameter - --> $DIR/issue-68368-non-defining-use.rs:10:16 + --> $DIR/issue-68368-non-defining-use.rs:7:16 | LL | type Alias<'a, U> = impl Trait; | ^ diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.full_tait.stderr deleted file mode 100644 index 7f120af2408bf..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.full_tait.stderr +++ /dev/null @@ -1,20 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-69136-inner-lifetime-resolve-error.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0261]: use of undeclared lifetime name `'a` - --> $DIR/issue-69136-inner-lifetime-resolve-error.rs:20:65 - | -LL | type Return = impl WithAssoc; - | - ^^ undeclared lifetime - | | - | help: consider introducing lifetime `'a` here: `'a,` - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0261`. diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs index 61161d44e51ab..6732902c09a50 100644 --- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs +++ b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs @@ -1,9 +1,6 @@ // Regression test for #69136 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait SomeTrait {} diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr similarity index 87% rename from src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr index e1fc94c3472a3..fe45e39d938f0 100644 --- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr @@ -1,5 +1,5 @@ error[E0261]: use of undeclared lifetime name `'a` - --> $DIR/issue-69136-inner-lifetime-resolve-error.rs:20:65 + --> $DIR/issue-69136-inner-lifetime-resolve-error.rs:17:65 | LL | type Return = impl WithAssoc; | - ^^ undeclared lifetime diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.full_tait.stderr deleted file mode 100644 index 61e2e20dfd043..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-69136-inner-lifetime-resolve-ok.rs:7:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs index 01df967a4a515..a6916eda8b093 100644 --- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs +++ b/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs @@ -2,10 +2,7 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait SomeTrait {} diff --git a/src/test/ui/type-alias-impl-trait/issue-69323.full.stderr b/src/test/ui/type-alias-impl-trait/issue-69323.full.stderr deleted file mode 100644 index 71cc6f61c3786..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-69323.full.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-69323.rs:5:27 - | -LL | #![cfg_attr(full, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-69323.rs b/src/test/ui/type-alias-impl-trait/issue-69323.rs index 824558c1b342b..a9bd6daf2acf7 100644 --- a/src/test/ui/type-alias-impl-trait/issue-69323.rs +++ b/src/test/ui/type-alias-impl-trait/issue-69323.rs @@ -1,9 +1,6 @@ // check-pass -// revisions: min full -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full, feature(type_alias_impl_trait))] -//[full]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::iter::{once, Chain}; diff --git a/src/test/ui/type-alias-impl-trait/issue-70121.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-70121.full_tait.stderr deleted file mode 100644 index 9fe2e2cf88ee9..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-70121.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-70121.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-70121.rs b/src/test/ui/type-alias-impl-trait/issue-70121.rs index 150eca46975da..dff0d89d465dd 100644 --- a/src/test/ui/type-alias-impl-trait/issue-70121.rs +++ b/src/test/ui/type-alias-impl-trait/issue-70121.rs @@ -1,9 +1,6 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub type Successors<'a> = impl Iterator; diff --git a/src/test/ui/type-alias-impl-trait/issue-74244.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-74244.full_tait.stderr deleted file mode 100644 index e7729e47c36dd..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-74244.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-74244.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74244.rs:12:6 - | -LL | impl Allocator for DefaultAllocator { - | ^ unconstrained type parameter - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/issue-74244.rs b/src/test/ui/type-alias-impl-trait/issue-74244.rs index 890eb23ef9511..bb4104b3d2519 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74244.rs +++ b/src/test/ui/type-alias-impl-trait/issue-74244.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Allocator { type Buffer; diff --git a/src/test/ui/type-alias-impl-trait/issue-74244.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-74244.stderr similarity index 90% rename from src/test/ui/type-alias-impl-trait/issue-74244.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-74244.stderr index 6ee8c58826dd4..ff6bacd277e1e 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74244.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-74244.stderr @@ -1,5 +1,5 @@ error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74244.rs:12:6 + --> $DIR/issue-74244.rs:9:6 | LL | impl Allocator for DefaultAllocator { | ^ unconstrained type parameter diff --git a/src/test/ui/type-alias-impl-trait/issue-74761-2.rs b/src/test/ui/type-alias-impl-trait/issue-74761-2.rs index 4b0f2afee5484..4345b5d886ee2 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74761-2.rs +++ b/src/test/ui/type-alias-impl-trait/issue-74761-2.rs @@ -1,6 +1,5 @@ #![feature(member_constraints)] #![feature(type_alias_impl_trait)] -//~^ WARN incomplete pub trait A { type B; @@ -10,8 +9,6 @@ impl<'a, 'b> A for () { //~^ ERROR the lifetime parameter `'a` is not constrained //~| ERROR the lifetime parameter `'b` is not constrained type B = impl core::fmt::Debug; - //~^ ERROR is unstable - fn f(&self) -> Self::B {} } diff --git a/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr b/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr index 4506a6e23d5c0..7a321458b0bf1 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr @@ -1,34 +1,15 @@ -error[E0658]: `impl Trait` in type aliases is unstable - --> $DIR/issue-74761-2.rs:12:14 - | -LL | type B = impl core::fmt::Debug; - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: see issue #63063 for more information - = help: add `#![feature(min_type_alias_impl_trait)]` to the crate attributes to enable - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-74761-2.rs:2:12 - | -LL | #![feature(type_alias_impl_trait)] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761-2.rs:9:6 + --> $DIR/issue-74761-2.rs:8:6 | LL | impl<'a, 'b> A for () { | ^^ unconstrained lifetime parameter error[E0207]: the lifetime parameter `'b` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761-2.rs:9:10 + --> $DIR/issue-74761-2.rs:8:10 | LL | impl<'a, 'b> A for () { | ^^ unconstrained lifetime parameter -error: aborting due to 3 previous errors; 1 warning emitted +error: aborting due to 2 previous errors -Some errors have detailed explanations: E0207, E0658. -For more information about an error, try `rustc --explain E0207`. +For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-74761.full_tait.stderr deleted file mode 100644 index 05b63a00dfb15..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-74761.full_tait.stderr +++ /dev/null @@ -1,24 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-74761.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761.rs:10:6 - | -LL | impl<'a, 'b> A for () { - | ^^ unconstrained lifetime parameter - -error[E0207]: the lifetime parameter `'b` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761.rs:10:10 - | -LL | impl<'a, 'b> A for () { - | ^^ unconstrained lifetime parameter - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.rs b/src/test/ui/type-alias-impl-trait/issue-74761.rs index bbc67ecc97aab..d26ca5c3ead38 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74761.rs +++ b/src/test/ui/type-alias-impl-trait/issue-74761.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait A { type B; diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-74761.stderr similarity index 88% rename from src/test/ui/type-alias-impl-trait/issue-74761.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-74761.stderr index ad111e23b15b5..1d016fe070f9c 100644 --- a/src/test/ui/type-alias-impl-trait/issue-74761.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-74761.stderr @@ -1,11 +1,11 @@ error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761.rs:10:6 + --> $DIR/issue-74761.rs:7:6 | LL | impl<'a, 'b> A for () { | ^^ unconstrained lifetime parameter error[E0207]: the lifetime parameter `'b` is not constrained by the impl trait, self type, or predicates - --> $DIR/issue-74761.rs:10:10 + --> $DIR/issue-74761.rs:7:10 | LL | impl<'a, 'b> A for () { | ^^ unconstrained lifetime parameter diff --git a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.full_tait.stderr deleted file mode 100644 index 8fb4a3b662565..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-76202-trait-impl-for-tait.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: cannot implement trait on type alias impl trait - --> $DIR/issue-76202-trait-impl-for-tait.rs:19:1 - | -LL | impl Test for F { - | ^^^^^^^^^^^^^^^ - | -note: type alias impl trait defined here - --> $DIR/issue-76202-trait-impl-for-tait.rs:12:10 - | -LL | type F = impl Dummy; - | ^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs b/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs index 276c770fe486f..fb56cc54d634b 100644 --- a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs +++ b/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs @@ -1,10 +1,7 @@ // Regression test for issue #76202 // Tests that we don't ICE when we have a trait impl on a TAIT. -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Dummy {} impl Dummy for () {} @@ -16,7 +13,8 @@ trait Test { fn test(self); } -impl Test for F { //~ ERROR cannot implement trait +impl Test for F { + //~^ ERROR cannot implement trait fn test(self) {} } diff --git a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.stderr similarity index 70% rename from src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.stderr index 3754553772c25..8689ee53660f6 100644 --- a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.stderr @@ -1,11 +1,11 @@ error: cannot implement trait on type alias impl trait - --> $DIR/issue-76202-trait-impl-for-tait.rs:19:1 + --> $DIR/issue-76202-trait-impl-for-tait.rs:16:1 | LL | impl Test for F { | ^^^^^^^^^^^^^^^ | note: type alias impl trait defined here - --> $DIR/issue-76202-trait-impl-for-tait.rs:12:10 + --> $DIR/issue-76202-trait-impl-for-tait.rs:9:10 | LL | type F = impl Dummy; | ^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/issue-78450.rs b/src/test/ui/type-alias-impl-trait/issue-78450.rs index 640f929f8f11b..fccbfb74fa2ce 100644 --- a/src/test/ui/type-alias-impl-trait/issue-78450.rs +++ b/src/test/ui/type-alias-impl-trait/issue-78450.rs @@ -1,8 +1,6 @@ // check-pass -#![feature(min_type_alias_impl_trait)] #![feature(type_alias_impl_trait)] -//~^ WARNING: the feature `type_alias_impl_trait` is incomplete pub trait AssociatedImpl { type ImplTrait; diff --git a/src/test/ui/type-alias-impl-trait/issue-78450.stderr b/src/test/ui/type-alias-impl-trait/issue-78450.stderr deleted file mode 100644 index efccf6241fb78..0000000000000 --- a/src/test/ui/type-alias-impl-trait/issue-78450.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-78450.rs:4:12 - | -LL | #![feature(type_alias_impl_trait)] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs index ecad910f7d542..f412b2d0e7db7 100644 --- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs +++ b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs @@ -1,5 +1,5 @@ // check-pass -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type X = impl ToString; diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs index 67351e2015993..371dff475d1d7 100644 --- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs +++ b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs @@ -2,7 +2,7 @@ // This test used to cause unsoundness, since one of the two possible // resolutions was chosen at random instead of erroring due to conflicts. -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type X = impl Into<&'static A>; //~^ ERROR the trait bound `&'static B: From<&A>` is not satisfied diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs index 11756017ad846..06e1990fd7f45 100644 --- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs +++ b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs @@ -2,7 +2,7 @@ // This test used to cause unsoundness, since one of the two possible // resolutions was chosen at random instead of erroring due to conflicts. -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type X = impl ToString; diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs index 5f25365666c7f..bcd9aeff6b451 100644 --- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs +++ b/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs @@ -2,7 +2,7 @@ // This test used to cause unsoundness, since one of the two possible // resolutions was chosen at random instead of erroring due to conflicts. -#![feature(min_type_alias_impl_trait)] +#![feature(type_alias_impl_trait)] type X = impl ToString; diff --git a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.full_tait.stderr deleted file mode 100644 index 5e4307be17a04..0000000000000 --- a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/nested_type_alias_impl_trait.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs b/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs index f03563dfed6d2..6282264d8fee5 100644 --- a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs +++ b/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs @@ -1,21 +1,18 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // build-pass (FIXME(62277): could be check-pass?) mod my_mod { - use std::fmt::Debug; + use std::fmt::Debug; - pub type Foo = impl Debug; - pub type Foot = impl Debug; + pub type Foo = impl Debug; + pub type Foot = impl Debug; - pub fn get_foo() -> Foo { - 5i32 - } + pub fn get_foo() -> Foo { + 5i32 + } - pub fn get_foot() -> Foot { - get_foo() - } + pub fn get_foot() -> Foot { + get_foo() + } } fn main() { diff --git a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.full_tait.stderr b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.full_tait.stderr deleted file mode 100644 index 45c95469e95c2..0000000000000 --- a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.full_tait.stderr +++ /dev/null @@ -1,33 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/never_reveal_concrete_type.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/never_reveal_concrete_type.rs:16:27 - | -LL | type NoReveal = impl std::fmt::Debug; - | -------------------- the found opaque type -... -LL | let _: &'static str = x; - | ------------ ^ expected `&str`, found opaque type - | | - | expected due to this - | - = note: expected reference `&'static str` - found opaque type `impl Debug` - -error[E0605]: non-primitive cast: `impl Debug` as `&'static str` - --> $DIR/never_reveal_concrete_type.rs:17:13 - | -LL | let _ = x as &'static str; - | ^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object - -error: aborting due to 2 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0308, E0605. -For more information about an error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs index c555b9cdded8a..8787c023eb0c7 100644 --- a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs +++ b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.min_tait.stderr b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.stderr similarity index 89% rename from src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.stderr index 530f8876cf200..b438f84451649 100644 --- a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/never_reveal_concrete_type.rs:16:27 + --> $DIR/never_reveal_concrete_type.rs:13:27 | LL | type NoReveal = impl std::fmt::Debug; | -------------------- the found opaque type @@ -13,7 +13,7 @@ LL | let _: &'static str = x; found opaque type `impl Debug` error[E0605]: non-primitive cast: `impl Debug` as `&'static str` - --> $DIR/never_reveal_concrete_type.rs:17:13 + --> $DIR/never_reveal_concrete_type.rs:14:13 | LL | let _ = x as &'static str; | ^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object diff --git a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.full_tait.stderr b/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.full_tait.stderr deleted file mode 100644 index faddecb217664..0000000000000 --- a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/no_inferrable_concrete_type.rs:6:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/no_inferrable_concrete_type.rs:9:12 - | -LL | type Foo = impl Copy; - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs b/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs index 409eec7250fd0..1197c7bc58ece 100644 --- a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs +++ b/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs @@ -1,10 +1,7 @@ // Issue 52985: user code provides no use case that allows a type alias `impl Trait` // We now emit a 'could not find defining uses' error -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Copy; //~ could not find defining uses diff --git a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.min_tait.stderr b/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr similarity index 74% rename from src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr index 3194bd7610712..61025e846921e 100644 --- a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr @@ -1,5 +1,5 @@ error: could not find defining uses - --> $DIR/no_inferrable_concrete_type.rs:9:12 + --> $DIR/no_inferrable_concrete_type.rs:6:12 | LL | type Foo = impl Copy; | ^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.full_tait.stderr b/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.full_tait.stderr deleted file mode 100644 index 8699b21929ff2..0000000000000 --- a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.full_tait.stderr +++ /dev/null @@ -1,40 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/no_revealing_outside_defining_module.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/no_revealing_outside_defining_module.rs:18:19 - | -LL | pub type Boo = impl ::std::fmt::Debug; - | ---------------------- the found opaque type -... -LL | let _: &str = bomp(); - | ---- ^^^^^^ expected `&str`, found opaque type - | | - | expected due to this - | - = note: expected reference `&str` - found opaque type `impl Debug` - -error[E0308]: mismatched types - --> $DIR/no_revealing_outside_defining_module.rs:22:5 - | -LL | pub type Boo = impl ::std::fmt::Debug; - | ---------------------- the expected opaque type -... -LL | fn bomp() -> boo::Boo { - | -------- expected `impl Debug` because of return type -LL | "" - | ^^ expected opaque type, found `&str` - | - = note: expected opaque type `impl Debug` - found reference `&'static str` - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs b/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs index 566c311b9bdf3..61153b1e17141 100644 --- a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs +++ b/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.min_tait.stderr b/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr similarity index 89% rename from src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr index faaab4393521e..67752acb8c9af 100644 --- a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/no_revealing_outside_defining_module.rs:18:19 + --> $DIR/no_revealing_outside_defining_module.rs:15:19 | LL | pub type Boo = impl ::std::fmt::Debug; | ---------------------- the found opaque type @@ -13,7 +13,7 @@ LL | let _: &str = bomp(); found opaque type `impl Debug` error[E0308]: mismatched types - --> $DIR/no_revealing_outside_defining_module.rs:22:5 + --> $DIR/no_revealing_outside_defining_module.rs:19:5 | LL | pub type Boo = impl ::std::fmt::Debug; | ---------------------- the expected opaque type diff --git a/src/test/ui/type-alias-impl-trait/not_a_defining_use.full_tait.stderr b/src/test/ui/type-alias-impl-trait/not_a_defining_use.full_tait.stderr deleted file mode 100644 index 76e3500e8a90e..0000000000000 --- a/src/test/ui/type-alias-impl-trait/not_a_defining_use.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/not_a_defining_use.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: non-defining opaque type use in defining scope - --> $DIR/not_a_defining_use.rs:12:27 - | -LL | fn two(t: T) -> Two { - | ^^^^^^^^^^^ - | -note: used non-generic type `u32` for generic parameter - --> $DIR/not_a_defining_use.rs:10:13 - | -LL | type Two = impl Debug; - | ^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs b/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs index e58f33fcff48d..f29b980dfd0e5 100644 --- a/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs +++ b/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::fmt::Debug; diff --git a/src/test/ui/type-alias-impl-trait/not_a_defining_use.min_tait.stderr b/src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr similarity index 79% rename from src/test/ui/type-alias-impl-trait/not_a_defining_use.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr index f5dbfecc742f5..2fa236b373a40 100644 --- a/src/test/ui/type-alias-impl-trait/not_a_defining_use.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr @@ -1,11 +1,11 @@ error: non-defining opaque type use in defining scope - --> $DIR/not_a_defining_use.rs:12:27 + --> $DIR/not_a_defining_use.rs:9:27 | LL | fn two(t: T) -> Two { | ^^^^^^^^^^^ | note: used non-generic type `u32` for generic parameter - --> $DIR/not_a_defining_use.rs:10:13 + --> $DIR/not_a_defining_use.rs:7:13 | LL | type Two = impl Debug; | ^ diff --git a/src/test/ui/type-alias-impl-trait/not_well_formed.full_tait.stderr b/src/test/ui/type-alias-impl-trait/not_well_formed.full_tait.stderr deleted file mode 100644 index 38f086ec45d68..0000000000000 --- a/src/test/ui/type-alias-impl-trait/not_well_formed.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/not_well_formed.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0220]: associated type `Assoc` not found for `V` - --> $DIR/not_well_formed.rs:13:29 - | -LL | type Foo = impl Trait; - | ^^^^^ associated type `Assoc` not found - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0220`. diff --git a/src/test/ui/type-alias-impl-trait/not_well_formed.rs b/src/test/ui/type-alias-impl-trait/not_well_formed.rs index 6d511c581888c..fbb7a4d58e4ba 100644 --- a/src/test/ui/type-alias-impl-trait/not_well_formed.rs +++ b/src/test/ui/type-alias-impl-trait/not_well_formed.rs @@ -1,10 +1,6 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] -fn main() { -} +fn main() {} trait TraitWithAssoc { type Assoc; diff --git a/src/test/ui/type-alias-impl-trait/not_well_formed.min_tait.stderr b/src/test/ui/type-alias-impl-trait/not_well_formed.stderr similarity index 88% rename from src/test/ui/type-alias-impl-trait/not_well_formed.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/not_well_formed.stderr index 3bac38cef7da8..91c1d031e4e5e 100644 --- a/src/test/ui/type-alias-impl-trait/not_well_formed.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/not_well_formed.stderr @@ -1,5 +1,5 @@ error[E0220]: associated type `Assoc` not found for `V` - --> $DIR/not_well_formed.rs:13:29 + --> $DIR/not_well_formed.rs:9:29 | LL | type Foo = impl Trait; | ^^^^^ associated type `Assoc` not found diff --git a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.full_tait.stderr b/src/test/ui/type-alias-impl-trait/structural-match-no-leak.full_tait.stderr deleted file mode 100644 index d5a4fa52dfb7b..0000000000000 --- a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/structural-match-no-leak.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `impl Send` cannot be used in patterns - --> $DIR/structural-match-no-leak.rs:18:9 - | -LL | LEAK_FREE => (), - | ^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs b/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs index e2b10e7355fbb..51a7b6454c35e 100644 --- a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs +++ b/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs @@ -1,8 +1,5 @@ #![feature(const_impl_trait)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Bar = impl Send; diff --git a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.min_tait.stderr b/src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr similarity index 76% rename from src/test/ui/type-alias-impl-trait/structural-match-no-leak.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr index b7caf8ed29868..7e41b374452a3 100644 --- a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr @@ -1,5 +1,5 @@ error: `impl Send` cannot be used in patterns - --> $DIR/structural-match-no-leak.rs:18:9 + --> $DIR/structural-match-no-leak.rs:15:9 | LL | LEAK_FREE => (), | ^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/structural-match.full_tait.stderr b/src/test/ui/type-alias-impl-trait/structural-match.full_tait.stderr deleted file mode 100644 index d394c99df8029..0000000000000 --- a/src/test/ui/type-alias-impl-trait/structural-match.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/structural-match.rs:4:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: `impl Send` cannot be used in patterns - --> $DIR/structural-match.rs:19:9 - | -LL | VALUE => (), - | ^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/structural-match.rs b/src/test/ui/type-alias-impl-trait/structural-match.rs index aed9334b3cc86..73558d39ad561 100644 --- a/src/test/ui/type-alias-impl-trait/structural-match.rs +++ b/src/test/ui/type-alias-impl-trait/structural-match.rs @@ -1,8 +1,5 @@ #![feature(const_impl_trait)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Send; diff --git a/src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr b/src/test/ui/type-alias-impl-trait/structural-match.stderr similarity index 79% rename from src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/structural-match.stderr index f63b1fb23df7e..b43f2148dea5e 100644 --- a/src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/structural-match.stderr @@ -1,5 +1,5 @@ error: `impl Send` cannot be used in patterns - --> $DIR/structural-match.rs:19:9 + --> $DIR/structural-match.rs:16:9 | LL | VALUE => (), | ^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.full_tait.stderr deleted file mode 100644 index 6f817757cc4b3..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.full_tait.stderr +++ /dev/null @@ -1,30 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-const.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0308]: mismatched types - --> $DIR/type-alias-impl-trait-const.rs:13:19 - | -LL | pub type Foo = impl Debug; - | ---------- the expected opaque type -... -LL | const _FOO: Foo = 5; - | ^ expected opaque type, found integer - | - = note: expected opaque type `impl Debug` - found type `{integer}` - -error: could not find defining uses - --> $DIR/type-alias-impl-trait-const.rs:10:16 - | -LL | pub type Foo = impl Debug; - | ^^^^^^^^^^ - -error: aborting due to 2 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs index 751512c5dfc03..1a8113848f923 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // Ensures that `const` items can constrain an opaque `impl Trait`. diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.stderr similarity index 84% rename from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.stderr index ce98318333b01..e2567e87ac676 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/type-alias-impl-trait-const.rs:13:19 + --> $DIR/type-alias-impl-trait-const.rs:10:19 | LL | pub type Foo = impl Debug; | ---------- the expected opaque type @@ -11,7 +11,7 @@ LL | const _FOO: Foo = 5; found type `{integer}` error: could not find defining uses - --> $DIR/type-alias-impl-trait-const.rs:10:16 + --> $DIR/type-alias-impl-trait-const.rs:7:16 | LL | pub type Foo = impl Debug; | ^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.full_tait.stderr deleted file mode 100644 index fb88c2043bd3f..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-fns.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs index a6b00220084ad..07c891f0638c7 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs @@ -1,9 +1,6 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // Regression test for issue #61863 @@ -11,20 +8,19 @@ pub trait MyTrait {} #[derive(Debug)] pub struct MyStruct { - v: u64 + v: u64, } impl MyTrait for MyStruct {} pub fn bla() -> TE { - return MyStruct {v:1} + return MyStruct { v: 1 }; } pub fn bla2() -> TE { bla() } - type TE = impl MyTrait; fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.full_tait.stderr deleted file mode 100644 index cbecd0bb3d486..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-sized.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs index b062739921fa6..c5e8068e5c8e9 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs @@ -1,20 +1,25 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type A = impl Sized; -fn f1() -> A { 0 } +fn f1() -> A { + 0 +} type B = impl ?Sized; -fn f2() -> &'static B { &[0] } +fn f2() -> &'static B { + &[0] +} type C = impl ?Sized + 'static; -fn f3() -> &'static C { &[0] } +fn f3() -> &'static C { + &[0] +} type D = impl ?Sized; -fn f4() -> &'static D { &1 } +fn f4() -> &'static D { + &1 +} fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.full_tait.stderr deleted file mode 100644 index 1a351867bff2d..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-tuple.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs index ad2c11d4f994e..86c9d48214383 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs @@ -1,9 +1,6 @@ // check-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] #![allow(dead_code)] pub trait MyTrait {} diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.full_tait.stderr deleted file mode 100644 index b16d9c2c143bd..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.full_tait.stderr +++ /dev/null @@ -1,18 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-unconstrained-lifetime.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/type-alias-impl-trait-unconstrained-lifetime.rs:13:6 - | -LL | impl<'a, I: Iterator> Trait for (i32, I) { - | ^^ unconstrained lifetime parameter - -error: aborting due to previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0207`. diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs index 97294e81dca66..efbf4f1e351f7 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs @@ -1,9 +1,6 @@ // regression test for #74018 -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] trait Trait { type Associated; diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr similarity index 83% rename from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr index 7d4abb0fafbbc..8cdce2f8e81ca 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr @@ -1,5 +1,5 @@ error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/type-alias-impl-trait-unconstrained-lifetime.rs:13:6 + --> $DIR/type-alias-impl-trait-unconstrained-lifetime.rs:10:6 | LL | impl<'a, I: Iterator> Trait for (i32, I) { | ^^ unconstrained lifetime parameter diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.full_tait.stderr deleted file mode 100644 index e3fd076fc492b..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-with-cycle-error.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/type-alias-impl-trait-with-cycle-error.rs:6:12 - | -LL | type Foo = impl Fn() -> Foo; - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs index dba0d2c2cdf46..c009952eab750 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl Fn() -> Foo; //~^ ERROR: could not find defining uses diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr similarity index 71% rename from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr index 556779574e43c..726f4ea6e00f7 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr @@ -1,5 +1,5 @@ error: could not find defining uses - --> $DIR/type-alias-impl-trait-with-cycle-error.rs:6:12 + --> $DIR/type-alias-impl-trait-with-cycle-error.rs:3:12 | LL | type Foo = impl Fn() -> Foo; | ^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.full_tait.stderr deleted file mode 100644 index eccf08b4a1247..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.full_tait.stderr +++ /dev/null @@ -1,17 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-with-cycle-error2.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: could not find defining uses - --> $DIR/type-alias-impl-trait-with-cycle-error2.rs:10:12 - | -LL | type Foo = impl Bar; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs index f204403712588..f3898bca64b9b 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] pub trait Bar { type Item; @@ -14,6 +11,4 @@ fn crash(x: Foo) -> Foo { x } -fn main() { - -} +fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr similarity index 73% rename from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr index 44d279cad171f..3947cc4d27055 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr @@ -1,5 +1,5 @@ error: could not find defining uses - --> $DIR/type-alias-impl-trait-with-cycle-error2.rs:10:12 + --> $DIR/type-alias-impl-trait-with-cycle-error2.rs:7:12 | LL | type Foo = impl Bar; | ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.full_tait.stderr deleted file mode 100644 index 6ada4b2fdffe0..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -error: at least one trait must be specified - --> $DIR/type-alias-impl-trait-with-no-traits.rs:6:12 - | -LL | type Foo = impl 'static; - | ^^^^^^^^^^^^ - -error: at least one trait must be specified - --> $DIR/type-alias-impl-trait-with-no-traits.rs:13:13 - | -LL | fn bar() -> impl 'static { - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait-with-no-traits.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: aborting due to 2 previous errors; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs index 7efc790058864..8ca279eec921b 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs @@ -1,7 +1,4 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] type Foo = impl 'static; //~^ ERROR: at least one trait must be specified diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr similarity index 69% rename from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr index 5fd8aac550751..3f7acd3383010 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/type-alias-impl-trait-with-no-traits.rs:6:12 + --> $DIR/type-alias-impl-trait-with-no-traits.rs:3:12 | LL | type Foo = impl 'static; | ^^^^^^^^^^^^ error: at least one trait must be specified - --> $DIR/type-alias-impl-trait-with-no-traits.rs:13:13 + --> $DIR/type-alias-impl-trait-with-no-traits.rs:10:13 | LL | fn bar() -> impl 'static { | ^^^^^^^^^^^^ diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.full_tait.stderr deleted file mode 100644 index 8c0f7758dae60..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-impl-trait.rs:8:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs index 6176595534a35..80192d19af98b 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs @@ -3,10 +3,7 @@ #![allow(dead_code)] #![allow(unused_assignments)] #![allow(unused_variables)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] fn main() { assert_eq!(foo().to_string(), "foo"); diff --git a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.full_tait.stderr deleted file mode 100644 index ed4fe41da3ed3..0000000000000 --- a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.full_tait.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/type-alias-nested-impl-trait.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs b/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs index 3023bf06562fb..fd954801dc047 100644 --- a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs +++ b/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs @@ -1,9 +1,6 @@ // run-pass -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] use std::iter::{once, Chain}; diff --git a/src/test/ui/type-alias-impl-trait/unused_generic_param.full_tait.stderr b/src/test/ui/type-alias-impl-trait/unused_generic_param.full_tait.stderr deleted file mode 100644 index b70f36b67ab3d..0000000000000 --- a/src/test/ui/type-alias-impl-trait/unused_generic_param.full_tait.stderr +++ /dev/null @@ -1,23 +0,0 @@ -error: at least one trait must be specified - --> $DIR/unused_generic_param.rs:9:28 - | -LL | type PartiallyDefined = impl 'static; - | ^^^^^^^^^^^^ - -error: at least one trait must be specified - --> $DIR/unused_generic_param.rs:16:29 - | -LL | type PartiallyDefined2 = impl 'static; - | ^^^^^^^^^^^^ - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/unused_generic_param.rs:3:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error: aborting due to 2 previous errors; 1 warning emitted - diff --git a/src/test/ui/type-alias-impl-trait/unused_generic_param.rs b/src/test/ui/type-alias-impl-trait/unused_generic_param.rs index 59c7646ade263..04a5c58cd36e9 100644 --- a/src/test/ui/type-alias-impl-trait/unused_generic_param.rs +++ b/src/test/ui/type-alias-impl-trait/unused_generic_param.rs @@ -1,10 +1,6 @@ -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] -fn main() { -} +fn main() {} type PartiallyDefined = impl 'static; //~^ ERROR: at least one trait must be specified diff --git a/src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr b/src/test/ui/type-alias-impl-trait/unused_generic_param.stderr similarity index 80% rename from src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr rename to src/test/ui/type-alias-impl-trait/unused_generic_param.stderr index 561025c88f8f6..4e11854b07189 100644 --- a/src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/unused_generic_param.stderr @@ -1,11 +1,11 @@ error: at least one trait must be specified - --> $DIR/unused_generic_param.rs:9:28 + --> $DIR/unused_generic_param.rs:5:28 | LL | type PartiallyDefined = impl 'static; | ^^^^^^^^^^^^ error: at least one trait must be specified - --> $DIR/unused_generic_param.rs:16:29 + --> $DIR/unused_generic_param.rs:12:29 | LL | type PartiallyDefined2 = impl 'static; | ^^^^^^^^^^^^ diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.full_tait.stderr b/src/test/ui/typeck/typeck_type_placeholder_item.full_tait.stderr deleted file mode 100644 index b6aea9586b879..0000000000000 --- a/src/test/ui/typeck/typeck_type_placeholder_item.full_tait.stderr +++ /dev/null @@ -1,647 +0,0 @@ -error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:157:18 - | -LL | struct BadStruct<_>(_); - | ^ expected identifier, found reserved identifier - -error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:160:16 - | -LL | trait BadTrait<_> {} - | ^ expected identifier, found reserved identifier - -error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:170:19 - | -LL | struct BadStruct1<_, _>(_); - | ^ expected identifier, found reserved identifier - -error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:170:22 - | -LL | struct BadStruct1<_, _>(_); - | ^ expected identifier, found reserved identifier - -error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:175:19 - | -LL | struct BadStruct2<_, T>(_, T); - | ^ expected identifier, found reserved identifier - -error: associated constant in `impl` without body - --> $DIR/typeck_type_placeholder_item.rs:208:5 - | -LL | const C: _; - | ^^^^^^^^^^- - | | - | help: provide a definition for the constant: `= ;` - -error[E0403]: the name `_` is already used for a generic parameter in this item's generic parameters - --> $DIR/typeck_type_placeholder_item.rs:170:22 - | -LL | struct BadStruct1<_, _>(_); - | - ^ already used - | | - | first use of `_` - -warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/typeck_type_placeholder_item.rs:5:32 - | -LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] - | ^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63063 for more information - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:10:14 - | -LL | fn test() -> _ { 5 } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:13:16 - | -LL | fn test2() -> (_, _) { (5, 5) } - | -^--^- - | || | - | || not allowed in type signatures - | |not allowed in type signatures - | help: replace with the correct return type: `(i32, i32)` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:16:15 - | -LL | static TEST3: _ = "test"; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `&str` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:19:15 - | -LL | static TEST4: _ = 145; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:22:15 - | -LL | static TEST5: (_, _) = (1, 2); - | ^^^^^^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:25:13 - | -LL | fn test6(_: _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test6(_: T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:28:18 - | -LL | fn test6_b(_: _, _: T) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test6_b(_: U, _: T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:31:30 - | -LL | fn test6_c(_: _, _: (T, K, L, A, B)) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test6_c(_: U, _: (T, K, L, A, B)) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:34:13 - | -LL | fn test7(x: _) { let _x: usize = x; } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test7(x: T) { let _x: usize = x; } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:37:22 - | -LL | fn test8(_f: fn() -> _) { } - | ^ - | | - | not allowed in type signatures - | help: use type parameters instead: `T` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:37:22 - | -LL | fn test8(_f: fn() -> _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test8(_f: fn() -> T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:51:26 - | -LL | fn test11(x: &usize) -> &_ { - | -^ - | || - | |not allowed in type signatures - | help: replace with the correct return type: `&'static &'static usize` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:56:52 - | -LL | unsafe fn test12(x: *const usize) -> *const *const _ { - | --------------^ - | | | - | | not allowed in type signatures - | help: replace with the correct return type: `*const *const usize` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:70:8 - | -LL | a: _, - | ^ not allowed in type signatures -LL | -LL | b: (_, _), - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - | -help: use type parameters instead - | -LL | struct Test10 { -LL | a: T, -LL | -LL | b: (T, T), - | - -error: missing type for `static` item - --> $DIR/typeck_type_placeholder_item.rs:76:12 - | -LL | static A = 42; - | ^ help: provide a type for the static variable: `A: i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:78:15 - | -LL | static B: _ = 42; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:80:15 - | -LL | static C: Option<_> = Some(42); - | ^^^^^^^^^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:82:21 - | -LL | fn fn_test() -> _ { 5 } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:85:23 - | -LL | fn fn_test2() -> (_, _) { (5, 5) } - | -^--^- - | || | - | || not allowed in type signatures - | |not allowed in type signatures - | help: replace with the correct return type: `(i32, i32)` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:88:22 - | -LL | static FN_TEST3: _ = "test"; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `&str` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:91:22 - | -LL | static FN_TEST4: _ = 145; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:94:22 - | -LL | static FN_TEST5: (_, _) = (1, 2); - | ^^^^^^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:97:20 - | -LL | fn fn_test6(_: _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn fn_test6(_: T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:100:20 - | -LL | fn fn_test7(x: _) { let _x: usize = x; } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn fn_test7(x: T) { let _x: usize = x; } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:103:29 - | -LL | fn fn_test8(_f: fn() -> _) { } - | ^ - | | - | not allowed in type signatures - | help: use type parameters instead: `T` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:103:29 - | -LL | fn fn_test8(_f: fn() -> _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn fn_test8(_f: fn() -> T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:126:12 - | -LL | a: _, - | ^ not allowed in type signatures -LL | -LL | b: (_, _), - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - | -help: use type parameters instead - | -LL | struct FnTest10 { -LL | a: T, -LL | -LL | b: (T, T), - | - -error[E0282]: type annotations needed - --> $DIR/typeck_type_placeholder_item.rs:131:18 - | -LL | fn fn_test11(_: _) -> (_, _) { panic!() } - | ^ cannot infer type - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:131:28 - | -LL | fn fn_test11(_: _) -> (_, _) { panic!() } - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:135:30 - | -LL | fn fn_test12(x: i32) -> (_, _) { (x, x) } - | -^--^- - | || | - | || not allowed in type signatures - | |not allowed in type signatures - | help: replace with the correct return type: `(i32, i32)` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:138:33 - | -LL | fn fn_test13(x: _) -> (i32, _) { (x, x) } - | ------^- - | | | - | | not allowed in type signatures - | help: replace with the correct return type: `(i32, i32)` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:157:21 - | -LL | struct BadStruct<_>(_); - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | struct BadStruct(T); - | ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for implementations - --> $DIR/typeck_type_placeholder_item.rs:162:15 - | -LL | impl BadTrait<_> for BadStruct<_> {} - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - | -help: use type parameters instead - | -LL | impl BadTrait for BadStruct {} - | ^^^ ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for opaque types - --> $DIR/typeck_type_placeholder_item.rs:165:34 - | -LL | fn impl_trait() -> impl BadTrait<_> { - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:170:25 - | -LL | struct BadStruct1<_, _>(_); - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | struct BadStruct1(T); - | ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:175:25 - | -LL | struct BadStruct2<_, T>(_, T); - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | struct BadStruct2(U, T); - | ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for type aliases - --> $DIR/typeck_type_placeholder_item.rs:179:14 - | -LL | type X = Box<_>; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for opaque types - --> $DIR/typeck_type_placeholder_item.rs:185:21 - | -LL | type Y = impl Trait<_>; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:219:31 - | -LL | fn value() -> Option<&'static _> { - | ----------------^- - | | | - | | not allowed in type signatures - | help: replace with the correct return type: `Option<&'static u8>` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:224:10 - | -LL | const _: Option<_> = map(value); - | ^^^^^^^^^ - | | - | not allowed in type signatures - | help: replace with the correct type: `Option` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:143:31 - | -LL | fn method_test1(&self, x: _); - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn method_test1(&self, x: T); - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:145:31 - | -LL | fn method_test2(&self, x: _) -> _; - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - | -help: use type parameters instead - | -LL | fn method_test2(&self, x: T) -> T; - | ^^^ ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:147:31 - | -LL | fn method_test3(&self) -> _; - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn method_test3(&self) -> T; - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:149:26 - | -LL | fn assoc_fn_test1(x: _); - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn assoc_fn_test1(x: T); - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:151:26 - | -LL | fn assoc_fn_test2(x: _) -> _; - | ^ ^ not allowed in type signatures - | | - | not allowed in type signatures - | -help: use type parameters instead - | -LL | fn assoc_fn_test2(x: T) -> T; - | ^^^ ^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:153:28 - | -LL | fn assoc_fn_test3() -> _; - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn assoc_fn_test3() -> T; - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:193:14 - | -LL | type B = _; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:195:14 - | -LL | const C: _; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:197:14 - | -LL | const D: _ = 42; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `i32` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:200:26 - | -LL | type F: std::ops::Fn(_); - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:44:24 - | -LL | fn test9(&self) -> _ { () } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `()` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:47:27 - | -LL | fn test10(&self, _x : _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn test10(&self, _x : T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:62:24 - | -LL | fn clone(&self) -> _ { Test9 } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `Test9` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:65:37 - | -LL | fn clone_from(&mut self, other: _) { *self = Test9; } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn clone_from(&mut self, other: T) { *self = Test9; } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:110:31 - | -LL | fn fn_test9(&self) -> _ { () } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `()` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:113:34 - | -LL | fn fn_test10(&self, _x : _) { } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn fn_test10(&self, _x : T) { } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:118:28 - | -LL | fn clone(&self) -> _ { FnTest9 } - | ^ - | | - | not allowed in type signatures - | help: replace with the correct return type: `FnTest9` - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:121:41 - | -LL | fn clone_from(&mut self, other: _) { *self = FnTest9; } - | ^ not allowed in type signatures - | -help: use type parameters instead - | -LL | fn clone_from(&mut self, other: T) { *self = FnTest9; } - | ^^^ ^ - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:204:14 - | -LL | type A = _; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:206:14 - | -LL | type B = _; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:208:14 - | -LL | const C: _; - | ^ not allowed in type signatures - -error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:211:14 - | -LL | const D: _ = 42; - | ^ - | | - | not allowed in type signatures - | help: replace with the correct type: `i32` - -error: aborting due to 69 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0121, E0282, E0403. -For more information about an error, try `rustc --explain E0121`. diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.rs b/src/test/ui/typeck/typeck_type_placeholder_item.rs index 55f5d44d46b37..a3b75543510ae 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_item.rs +++ b/src/test/ui/typeck/typeck_type_placeholder_item.rs @@ -1,9 +1,6 @@ // Needed for `type Y = impl Trait<_>` and `type B = _;` #![feature(associated_type_defaults)] -// revisions: min_tait full_tait -#![feature(min_type_alias_impl_trait)] -#![cfg_attr(full_tait, feature(type_alias_impl_trait))] -//[full_tait]~^ WARN incomplete +#![feature(type_alias_impl_trait)] // This test checks that it is not possible to enable global type // inference by using the `_` type placeholder. diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr b/src/test/ui/typeck/typeck_type_placeholder_item.stderr similarity index 87% rename from src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr rename to src/test/ui/typeck/typeck_type_placeholder_item.stderr index 88cc3bfc7f8c3..4827439bfbfe4 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr +++ b/src/test/ui/typeck/typeck_type_placeholder_item.stderr @@ -1,35 +1,35 @@ error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:157:18 + --> $DIR/typeck_type_placeholder_item.rs:154:18 | LL | struct BadStruct<_>(_); | ^ expected identifier, found reserved identifier error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:160:16 + --> $DIR/typeck_type_placeholder_item.rs:157:16 | LL | trait BadTrait<_> {} | ^ expected identifier, found reserved identifier error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:170:19 + --> $DIR/typeck_type_placeholder_item.rs:167:19 | LL | struct BadStruct1<_, _>(_); | ^ expected identifier, found reserved identifier error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:170:22 + --> $DIR/typeck_type_placeholder_item.rs:167:22 | LL | struct BadStruct1<_, _>(_); | ^ expected identifier, found reserved identifier error: expected identifier, found reserved identifier `_` - --> $DIR/typeck_type_placeholder_item.rs:175:19 + --> $DIR/typeck_type_placeholder_item.rs:172:19 | LL | struct BadStruct2<_, T>(_, T); | ^ expected identifier, found reserved identifier error: associated constant in `impl` without body - --> $DIR/typeck_type_placeholder_item.rs:208:5 + --> $DIR/typeck_type_placeholder_item.rs:205:5 | LL | const C: _; | ^^^^^^^^^^- @@ -37,7 +37,7 @@ LL | const C: _; | help: provide a definition for the constant: `= ;` error[E0403]: the name `_` is already used for a generic parameter in this item's generic parameters - --> $DIR/typeck_type_placeholder_item.rs:170:22 + --> $DIR/typeck_type_placeholder_item.rs:167:22 | LL | struct BadStruct1<_, _>(_); | - ^ already used @@ -45,7 +45,7 @@ LL | struct BadStruct1<_, _>(_); | first use of `_` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:10:14 + --> $DIR/typeck_type_placeholder_item.rs:7:14 | LL | fn test() -> _ { 5 } | ^ @@ -54,7 +54,7 @@ LL | fn test() -> _ { 5 } | help: replace with the correct return type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:13:16 + --> $DIR/typeck_type_placeholder_item.rs:10:16 | LL | fn test2() -> (_, _) { (5, 5) } | -^--^- @@ -64,7 +64,7 @@ LL | fn test2() -> (_, _) { (5, 5) } | help: replace with the correct return type: `(i32, i32)` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:16:15 + --> $DIR/typeck_type_placeholder_item.rs:13:15 | LL | static TEST3: _ = "test"; | ^ @@ -73,7 +73,7 @@ LL | static TEST3: _ = "test"; | help: replace with the correct type: `&str` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:19:15 + --> $DIR/typeck_type_placeholder_item.rs:16:15 | LL | static TEST4: _ = 145; | ^ @@ -82,13 +82,13 @@ LL | static TEST4: _ = 145; | help: replace with the correct type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:22:15 + --> $DIR/typeck_type_placeholder_item.rs:19:15 | LL | static TEST5: (_, _) = (1, 2); | ^^^^^^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:25:13 + --> $DIR/typeck_type_placeholder_item.rs:22:13 | LL | fn test6(_: _) { } | ^ not allowed in type signatures @@ -99,7 +99,7 @@ LL | fn test6(_: T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:28:18 + --> $DIR/typeck_type_placeholder_item.rs:25:18 | LL | fn test6_b(_: _, _: T) { } | ^ not allowed in type signatures @@ -110,7 +110,7 @@ LL | fn test6_b(_: U, _: T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:31:30 + --> $DIR/typeck_type_placeholder_item.rs:28:30 | LL | fn test6_c(_: _, _: (T, K, L, A, B)) { } | ^ not allowed in type signatures @@ -121,7 +121,7 @@ LL | fn test6_c(_: U, _: (T, K, L, A, B)) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:34:13 + --> $DIR/typeck_type_placeholder_item.rs:31:13 | LL | fn test7(x: _) { let _x: usize = x; } | ^ not allowed in type signatures @@ -132,7 +132,7 @@ LL | fn test7(x: T) { let _x: usize = x; } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:37:22 + --> $DIR/typeck_type_placeholder_item.rs:34:22 | LL | fn test8(_f: fn() -> _) { } | ^ @@ -141,7 +141,7 @@ LL | fn test8(_f: fn() -> _) { } | help: use type parameters instead: `T` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:37:22 + --> $DIR/typeck_type_placeholder_item.rs:34:22 | LL | fn test8(_f: fn() -> _) { } | ^ not allowed in type signatures @@ -152,7 +152,7 @@ LL | fn test8(_f: fn() -> T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:51:26 + --> $DIR/typeck_type_placeholder_item.rs:48:26 | LL | fn test11(x: &usize) -> &_ { | -^ @@ -161,7 +161,7 @@ LL | fn test11(x: &usize) -> &_ { | help: replace with the correct return type: `&'static &'static usize` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:56:52 + --> $DIR/typeck_type_placeholder_item.rs:53:52 | LL | unsafe fn test12(x: *const usize) -> *const *const _ { | --------------^ @@ -170,7 +170,7 @@ LL | unsafe fn test12(x: *const usize) -> *const *const _ { | help: replace with the correct return type: `*const *const usize` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:70:8 + --> $DIR/typeck_type_placeholder_item.rs:67:8 | LL | a: _, | ^ not allowed in type signatures @@ -189,13 +189,13 @@ LL | b: (T, T), | error: missing type for `static` item - --> $DIR/typeck_type_placeholder_item.rs:76:12 + --> $DIR/typeck_type_placeholder_item.rs:73:12 | LL | static A = 42; | ^ help: provide a type for the static variable: `A: i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:78:15 + --> $DIR/typeck_type_placeholder_item.rs:75:15 | LL | static B: _ = 42; | ^ @@ -204,13 +204,13 @@ LL | static B: _ = 42; | help: replace with the correct type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:80:15 + --> $DIR/typeck_type_placeholder_item.rs:77:15 | LL | static C: Option<_> = Some(42); | ^^^^^^^^^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:82:21 + --> $DIR/typeck_type_placeholder_item.rs:79:21 | LL | fn fn_test() -> _ { 5 } | ^ @@ -219,7 +219,7 @@ LL | fn fn_test() -> _ { 5 } | help: replace with the correct return type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:85:23 + --> $DIR/typeck_type_placeholder_item.rs:82:23 | LL | fn fn_test2() -> (_, _) { (5, 5) } | -^--^- @@ -229,7 +229,7 @@ LL | fn fn_test2() -> (_, _) { (5, 5) } | help: replace with the correct return type: `(i32, i32)` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:88:22 + --> $DIR/typeck_type_placeholder_item.rs:85:22 | LL | static FN_TEST3: _ = "test"; | ^ @@ -238,7 +238,7 @@ LL | static FN_TEST3: _ = "test"; | help: replace with the correct type: `&str` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:91:22 + --> $DIR/typeck_type_placeholder_item.rs:88:22 | LL | static FN_TEST4: _ = 145; | ^ @@ -247,13 +247,13 @@ LL | static FN_TEST4: _ = 145; | help: replace with the correct type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for static variables - --> $DIR/typeck_type_placeholder_item.rs:94:22 + --> $DIR/typeck_type_placeholder_item.rs:91:22 | LL | static FN_TEST5: (_, _) = (1, 2); | ^^^^^^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:97:20 + --> $DIR/typeck_type_placeholder_item.rs:94:20 | LL | fn fn_test6(_: _) { } | ^ not allowed in type signatures @@ -264,7 +264,7 @@ LL | fn fn_test6(_: T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:100:20 + --> $DIR/typeck_type_placeholder_item.rs:97:20 | LL | fn fn_test7(x: _) { let _x: usize = x; } | ^ not allowed in type signatures @@ -275,7 +275,7 @@ LL | fn fn_test7(x: T) { let _x: usize = x; } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:103:29 + --> $DIR/typeck_type_placeholder_item.rs:100:29 | LL | fn fn_test8(_f: fn() -> _) { } | ^ @@ -284,7 +284,7 @@ LL | fn fn_test8(_f: fn() -> _) { } | help: use type parameters instead: `T` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:103:29 + --> $DIR/typeck_type_placeholder_item.rs:100:29 | LL | fn fn_test8(_f: fn() -> _) { } | ^ not allowed in type signatures @@ -295,7 +295,7 @@ LL | fn fn_test8(_f: fn() -> T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:126:12 + --> $DIR/typeck_type_placeholder_item.rs:123:12 | LL | a: _, | ^ not allowed in type signatures @@ -314,13 +314,13 @@ LL | b: (T, T), | error[E0282]: type annotations needed - --> $DIR/typeck_type_placeholder_item.rs:131:18 + --> $DIR/typeck_type_placeholder_item.rs:128:18 | LL | fn fn_test11(_: _) -> (_, _) { panic!() } | ^ cannot infer type error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:131:28 + --> $DIR/typeck_type_placeholder_item.rs:128:28 | LL | fn fn_test11(_: _) -> (_, _) { panic!() } | ^ ^ not allowed in type signatures @@ -328,7 +328,7 @@ LL | fn fn_test11(_: _) -> (_, _) { panic!() } | not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:135:30 + --> $DIR/typeck_type_placeholder_item.rs:132:30 | LL | fn fn_test12(x: i32) -> (_, _) { (x, x) } | -^--^- @@ -338,7 +338,7 @@ LL | fn fn_test12(x: i32) -> (_, _) { (x, x) } | help: replace with the correct return type: `(i32, i32)` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:138:33 + --> $DIR/typeck_type_placeholder_item.rs:135:33 | LL | fn fn_test13(x: _) -> (i32, _) { (x, x) } | ------^- @@ -347,7 +347,7 @@ LL | fn fn_test13(x: _) -> (i32, _) { (x, x) } | help: replace with the correct return type: `(i32, i32)` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:157:21 + --> $DIR/typeck_type_placeholder_item.rs:154:21 | LL | struct BadStruct<_>(_); | ^ not allowed in type signatures @@ -358,7 +358,7 @@ LL | struct BadStruct(T); | ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for implementations - --> $DIR/typeck_type_placeholder_item.rs:162:15 + --> $DIR/typeck_type_placeholder_item.rs:159:15 | LL | impl BadTrait<_> for BadStruct<_> {} | ^ ^ not allowed in type signatures @@ -371,13 +371,13 @@ LL | impl BadTrait for BadStruct {} | ^^^ ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for opaque types - --> $DIR/typeck_type_placeholder_item.rs:165:34 + --> $DIR/typeck_type_placeholder_item.rs:162:34 | LL | fn impl_trait() -> impl BadTrait<_> { | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:170:25 + --> $DIR/typeck_type_placeholder_item.rs:167:25 | LL | struct BadStruct1<_, _>(_); | ^ not allowed in type signatures @@ -388,7 +388,7 @@ LL | struct BadStruct1(T); | ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs - --> $DIR/typeck_type_placeholder_item.rs:175:25 + --> $DIR/typeck_type_placeholder_item.rs:172:25 | LL | struct BadStruct2<_, T>(_, T); | ^ not allowed in type signatures @@ -399,19 +399,19 @@ LL | struct BadStruct2(U, T); | ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for type aliases - --> $DIR/typeck_type_placeholder_item.rs:179:14 + --> $DIR/typeck_type_placeholder_item.rs:176:14 | LL | type X = Box<_>; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for opaque types - --> $DIR/typeck_type_placeholder_item.rs:185:21 + --> $DIR/typeck_type_placeholder_item.rs:182:21 | LL | type Y = impl Trait<_>; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:219:31 + --> $DIR/typeck_type_placeholder_item.rs:216:31 | LL | fn value() -> Option<&'static _> { | ----------------^- @@ -420,7 +420,7 @@ LL | fn value() -> Option<&'static _> { | help: replace with the correct return type: `Option<&'static u8>` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:224:10 + --> $DIR/typeck_type_placeholder_item.rs:221:10 | LL | const _: Option<_> = map(value); | ^^^^^^^^^ @@ -429,7 +429,7 @@ LL | const _: Option<_> = map(value); | help: replace with the correct type: `Option` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:143:31 + --> $DIR/typeck_type_placeholder_item.rs:140:31 | LL | fn method_test1(&self, x: _); | ^ not allowed in type signatures @@ -440,7 +440,7 @@ LL | fn method_test1(&self, x: T); | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:145:31 + --> $DIR/typeck_type_placeholder_item.rs:142:31 | LL | fn method_test2(&self, x: _) -> _; | ^ ^ not allowed in type signatures @@ -453,7 +453,7 @@ LL | fn method_test2(&self, x: T) -> T; | ^^^ ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:147:31 + --> $DIR/typeck_type_placeholder_item.rs:144:31 | LL | fn method_test3(&self) -> _; | ^ not allowed in type signatures @@ -464,7 +464,7 @@ LL | fn method_test3(&self) -> T; | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:149:26 + --> $DIR/typeck_type_placeholder_item.rs:146:26 | LL | fn assoc_fn_test1(x: _); | ^ not allowed in type signatures @@ -475,7 +475,7 @@ LL | fn assoc_fn_test1(x: T); | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:151:26 + --> $DIR/typeck_type_placeholder_item.rs:148:26 | LL | fn assoc_fn_test2(x: _) -> _; | ^ ^ not allowed in type signatures @@ -488,7 +488,7 @@ LL | fn assoc_fn_test2(x: T) -> T; | ^^^ ^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:153:28 + --> $DIR/typeck_type_placeholder_item.rs:150:28 | LL | fn assoc_fn_test3() -> _; | ^ not allowed in type signatures @@ -499,19 +499,19 @@ LL | fn assoc_fn_test3() -> T; | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:193:14 + --> $DIR/typeck_type_placeholder_item.rs:190:14 | LL | type B = _; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:195:14 + --> $DIR/typeck_type_placeholder_item.rs:192:14 | LL | const C: _; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:197:14 + --> $DIR/typeck_type_placeholder_item.rs:194:14 | LL | const D: _ = 42; | ^ @@ -520,13 +520,13 @@ LL | const D: _ = 42; | help: replace with the correct type: `i32` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:200:26 + --> $DIR/typeck_type_placeholder_item.rs:197:26 | LL | type F: std::ops::Fn(_); | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:44:24 + --> $DIR/typeck_type_placeholder_item.rs:41:24 | LL | fn test9(&self) -> _ { () } | ^ @@ -535,7 +535,7 @@ LL | fn test9(&self) -> _ { () } | help: replace with the correct return type: `()` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:47:27 + --> $DIR/typeck_type_placeholder_item.rs:44:27 | LL | fn test10(&self, _x : _) { } | ^ not allowed in type signatures @@ -546,7 +546,7 @@ LL | fn test10(&self, _x : T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:62:24 + --> $DIR/typeck_type_placeholder_item.rs:59:24 | LL | fn clone(&self) -> _ { Test9 } | ^ @@ -555,7 +555,7 @@ LL | fn clone(&self) -> _ { Test9 } | help: replace with the correct return type: `Test9` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:65:37 + --> $DIR/typeck_type_placeholder_item.rs:62:37 | LL | fn clone_from(&mut self, other: _) { *self = Test9; } | ^ not allowed in type signatures @@ -566,7 +566,7 @@ LL | fn clone_from(&mut self, other: T) { *self = Test9; } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:110:31 + --> $DIR/typeck_type_placeholder_item.rs:107:31 | LL | fn fn_test9(&self) -> _ { () } | ^ @@ -575,7 +575,7 @@ LL | fn fn_test9(&self) -> _ { () } | help: replace with the correct return type: `()` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:113:34 + --> $DIR/typeck_type_placeholder_item.rs:110:34 | LL | fn fn_test10(&self, _x : _) { } | ^ not allowed in type signatures @@ -586,7 +586,7 @@ LL | fn fn_test10(&self, _x : T) { } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for return types - --> $DIR/typeck_type_placeholder_item.rs:118:28 + --> $DIR/typeck_type_placeholder_item.rs:115:28 | LL | fn clone(&self) -> _ { FnTest9 } | ^ @@ -595,7 +595,7 @@ LL | fn clone(&self) -> _ { FnTest9 } | help: replace with the correct return type: `FnTest9` error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions - --> $DIR/typeck_type_placeholder_item.rs:121:41 + --> $DIR/typeck_type_placeholder_item.rs:118:41 | LL | fn clone_from(&mut self, other: _) { *self = FnTest9; } | ^ not allowed in type signatures @@ -606,25 +606,25 @@ LL | fn clone_from(&mut self, other: T) { *self = FnTest9; } | ^^^ ^ error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:204:14 + --> $DIR/typeck_type_placeholder_item.rs:201:14 | LL | type A = _; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for associated types - --> $DIR/typeck_type_placeholder_item.rs:206:14 + --> $DIR/typeck_type_placeholder_item.rs:203:14 | LL | type B = _; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:208:14 + --> $DIR/typeck_type_placeholder_item.rs:205:14 | LL | const C: _; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures for constants - --> $DIR/typeck_type_placeholder_item.rs:211:14 + --> $DIR/typeck_type_placeholder_item.rs:208:14 | LL | const D: _ = 42; | ^