about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSantiago Pastorino <spastorino@gmail.com>2021-07-27 09:14:21 -0300
committerSantiago Pastorino <spastorino@gmail.com>2021-07-27 12:27:08 -0300
commit5bff8429a0655320c1aef0c16fb0fd2ec0184a9a (patch)
tree9dc6eeb1f8e3fab7c60ae668a2e4f2e1d85e0f40
parentcfc856acf3112d241bd4de55ec91df5aef66c352 (diff)
downloadrust-5bff8429a0655320c1aef0c16fb0fd2ec0184a9a.tar.gz
rust-5bff8429a0655320c1aef0c16fb0fd2ec0184a9a.zip
Use type_alias_impl_trait instead of min in compiler and lib
-rw-r--r--compiler/rustc_data_structures/src/lib.rs3
-rw-r--r--compiler/rustc_feature/src/active.rs2
-rw-r--r--library/alloc/src/lib.rs3
-rw-r--r--src/test/ui/associated-type-bounds/duplicate.full_tait.stderr365
-rw-r--r--src/test/ui/associated-type-bounds/duplicate.min_tait.stderr354
-rw-r--r--src/test/ui/associated-type-bounds/duplicate.rs259
-rw-r--r--src/test/ui/associated-type-bounds/trait-alias-impl-trait.full_tait.stderr11
-rw-r--r--src/test/ui/associated-type-bounds/trait-alias-impl-trait.rs54
-rw-r--r--src/test/ui/associated-types/issue-63591.full_tait.stderr11
-rw-r--r--src/test/ui/associated-types/issue-63591.rs1
-rw-r--r--src/test/ui/async-await/issues/issue-60655-latebound-regions.full_tait.stderr11
-rw-r--r--src/test/ui/async-await/issues/issue-60655-latebound-regions.rs1
-rw-r--r--src/test/ui/generator/layout-error.full_tait.stderr13
-rw-r--r--src/test/ui/generator/layout-error.min_tait.stderr4
-rw-r--r--src/test/ui/generator/layout-error.rs1
-rw-r--r--src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr13
-rw-r--r--src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr2
-rw-r--r--src/test/ui/generator/metadata-sufficient-for-layout.rs1
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type-generic-trait.rs1
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type-trivial.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type-trivial.rs1
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/associated-impl-trait-type.rs1
-rw-r--r--src/test/ui/impl-trait/auto-trait.full_tait.stderr13
-rw-r--r--src/test/ui/impl-trait/auto-trait.min_tait.stderr2
-rw-r--r--src/test/ui/impl-trait/auto-trait.rs1
-rw-r--r--src/test/ui/impl-trait/issue-55872-1.full_tait.stderr19
-rw-r--r--src/test/ui/impl-trait/issue-55872-1.min_tait.stderr8
-rw-r--r--src/test/ui/impl-trait/issue-55872-1.rs1
-rw-r--r--src/test/ui/impl-trait/issue-55872-2.full_tait.stderr15
-rw-r--r--src/test/ui/impl-trait/issue-55872-2.min_tait.stderr4
-rw-r--r--src/test/ui/impl-trait/issue-55872-2.rs1
-rw-r--r--src/test/ui/impl-trait/issue-55872.full_tait.stderr13
-rw-r--r--src/test/ui/impl-trait/issue-55872.min_tait.stderr2
-rw-r--r--src/test/ui/impl-trait/issue-55872.rs3
-rw-r--r--src/test/ui/impl-trait/issues/issue-53457.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/issues/issue-53457.rs1
-rw-r--r--src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr15
-rw-r--r--src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr4
-rw-r--r--src/test/ui/impl-trait/issues/issue-78722.rs1
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.full_tait.stderr17
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.min_tait.stderr6
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs1
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling.full_tait.stderr13
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr2
-rw-r--r--src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs1
-rw-r--r--src/test/ui/impl-trait/negative-reasoning.full_tait.stderr13
-rw-r--r--src/test/ui/impl-trait/negative-reasoning.min_tait.stderr2
-rw-r--r--src/test/ui/impl-trait/negative-reasoning.rs1
-rw-r--r--src/test/ui/impl-trait/type-alias-generic-param.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/type-alias-generic-param.rs4
-rw-r--r--src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.full_tait.stderr11
-rw-r--r--src/test/ui/impl-trait/type-alias-impl-trait-in-fn-body.rs1
-rw-r--r--src/test/ui/issues/issue-60662.full_tait.stderr11
-rw-r--r--src/test/ui/issues/issue-60662.rs4
-rw-r--r--src/test/ui/lint/inline-trait-and-foreign-items.full_tait.stderr29
-rw-r--r--src/test/ui/lint/inline-trait-and-foreign-items.min_tait.stderr18
-rw-r--r--src/test/ui/lint/inline-trait-and-foreign-items.rs1
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr4
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-2.rs5
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr4
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-3.rs9
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr4
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-5.rs9
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr4
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-1.rs9
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr4
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-2.rs14
-rw-r--r--src/test/ui/lint/lint-ctypes-73251.full_tait.stderr11
-rw-r--r--src/test/ui/lint/lint-ctypes-73251.rs1
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr15
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr4
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-unsafe.rs3
-rw-r--r--src/test/ui/mir/issue-75053.full_tait.stderr13
-rw-r--r--src/test/ui/mir/issue-75053.min_tait.stderr2
-rw-r--r--src/test/ui/mir/issue-75053.rs1
-rw-r--r--src/test/ui/privacy/private-in-public-assoc-ty.full_tait.stderr25
-rw-r--r--src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr14
-rw-r--r--src/test/ui/privacy/private-in-public-assoc-ty.rs1
-rw-r--r--src/test/ui/privacy/private-in-public-type-alias-impl-trait.full_tait.stderr11
-rw-r--r--src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs5
-rw-r--r--src/test/ui/save-analysis/issue-68621.full_tait.stderr13
-rw-r--r--src/test/ui/save-analysis/issue-68621.min_tait.stderr2
-rw-r--r--src/test/ui/save-analysis/issue-68621.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-const.full_tait.stderr14
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-const.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-const.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-lifetime.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs3
-rw-r--r--src/test/ui/type-alias-impl-trait/bound_reduction2.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/bound_reduction2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked.full_tait.stderr19
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked.min_tait.stderr8
-rw-r--r--src/test/ui/type-alias-impl-trait/bounds-are-checked.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/coherence.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_never_defined.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_never_defined.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.full_tait.stderr17
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs7
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/fallback.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/fallback.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_different_defining_uses.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_different_defining_uses.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs3
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr19
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr8
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr17
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr17
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr21
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr10
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_lifetime_param.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_not_used.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_not_used.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_not_used.rs3
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.full_tait.stderr17
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr19
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr8
-rw-r--r--src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-52843.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53096.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53096.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53598.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53598.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53598.rs3
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs7
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57700.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57700.rs3
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57807-associated-type.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-58887.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-58887.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-58951.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-58951.rs5
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60407.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60407.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60564.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-60564.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63263-closure-return.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63279.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr6
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63279.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-65918.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs5
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs6
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69323.full.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-69323.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-70121.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-70121.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74244.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74244.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74244.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761-2.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761-2.stderr17
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-78450.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-78450.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs19
-rw-r--r--src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/not_a_defining_use.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/not_a_defining_use.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/not_a_defining_use.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/not_well_formed.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/not_well_formed.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/not_well_formed.rs4
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match-no-leak.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match-no-leak.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/structural-match.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs6
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs17
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.full_tait.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.min_tait.stderr2
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs5
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.full_tait.stderr11
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs1
-rw-r--r--src/test/ui/type-alias-impl-trait/unused_generic_param.full_tait.stderr15
-rw-r--r--src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr4
-rw-r--r--src/test/ui/type-alias-impl-trait/unused_generic_param.rs4
-rw-r--r--src/test/ui/typeck/typeck_type_placeholder_item.full_tait.stderr149
-rw-r--r--src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr138
-rw-r--r--src/test/ui/typeck/typeck_type_placeholder_item.rs1
314 files changed, 1192 insertions, 2255 deletions
diff --git a/compiler/rustc_data_structures/src/lib.rs b/compiler/rustc_data_structures/src/lib.rs
index 041d52aa20a..18bc2f896f2 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 a3e40daf6bf..27c08586f4f 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),
diff --git a/library/alloc/src/lib.rs b/library/alloc/src/lib.rs
index fa1f361a5b6..999ca9b0ad0 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/ui/associated-type-bounds/duplicate.full_tait.stderr b/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr
index bffa5150fe1..81cd882e5d8 100644
--- a/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr
+++ b/src/test/ui/associated-type-bounds/duplicate.full_tait.stderr
@@ -1,158 +1,149 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0719]: the value of the associated type `Item` (from trait `Iterator`) is already specified
-  --> $DIR/duplicate.rs:10:36
+  --> $DIR/duplicate.rs:9:36
    |
-LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
+LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> {
    |                        ----------  ^^^^^^^^^^ 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:13:36
    |
-LL | struct SI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
+LL | struct SI2<T: Iterator<Item: Copy, Item: 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:14:39
+  --> $DIR/duplicate.rs:17:39
    |
-LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
+LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                        -------------  ^^^^^^^^^^^^^ 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:23:29
    |
-LL | struct SW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:30:29
    |
-LL | struct SW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:20:48
+  --> $DIR/duplicate.rs:37:32
    |
-LL | struct SW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-   |                                 -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:43:34
    |
-LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> { V(T) }
+LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> {
    |                      ----------  ^^^^^^^^^^ 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:47:34
    |
-LL | enum EI2<T: Iterator<Item: Copy, Item: Copy>> { V(T) }
+LL | enum EI2<T: Iterator<Item: Copy, Item: 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:27:37
+  --> $DIR/duplicate.rs:51:37
    |
-LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> { V(T) }
+LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                      -------------  ^^^^^^^^^^^^^ 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:57:29
    |
-LL | enum EW1<T> where T: Iterator<Item: Copy, Item: Send> { V(T) }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:64:29
    |
-LL | enum EW2<T> where T: Iterator<Item: Copy, Item: Copy> { V(T) }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:33:46
+  --> $DIR/duplicate.rs:71:32
    |
-LL | enum EW3<T> where T: Iterator<Item: 'static, Item: 'static> { V(T) }
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:77:35
    |
-LL | union UI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
+LL | union UI1<T: Iterator<Item: Copy, Item: Send>> {
    |                       ----------  ^^^^^^^^^^ 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:81:35
    |
-LL | union UI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
+LL | union UI2<T: Iterator<Item: Copy, Item: 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:40:38
+  --> $DIR/duplicate.rs:85:38
    |
-LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
+LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                       -------------  ^^^^^^^^^^^^^ 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:91:29
    |
-LL | union UW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:98:29
    |
-LL | union UW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:46:47
+  --> $DIR/duplicate.rs:105:32
    |
-LL | union UW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-   |                                -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:111:32
    |
 LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
    |                    ----------  ^^^^^^^^^^ re-bound here
@@ -160,7 +151,7 @@ LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
    |                    `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:113:32
    |
 LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
    |                    ----------  ^^^^^^^^^^ re-bound here
@@ -168,7 +159,7 @@ LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
    |                    `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:115:35
    |
 LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
    |                    -------------  ^^^^^^^^^^^^^ re-bound here
@@ -176,31 +167,31 @@ LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
    |                    `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:119:29
    |
-LL | fn FW1<T>() where T: Iterator<Item: Copy, Item: Send> {}
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:125:29
    |
-LL | fn FW2<T>() where T: Iterator<Item: Copy, Item: Copy> {}
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:59:46
+  --> $DIR/duplicate.rs:131:32
    |
-LL | fn FW3<T>() where T: Iterator<Item: 'static, Item: 'static> {}
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:145:40
    |
 LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -208,7 +199,7 @@ LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
    |                            `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:147:40
    |
 LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -216,7 +207,7 @@ LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
    |                            `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:149:43
    |
 LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -224,7 +215,7 @@ LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
    |                            `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:152:35
    |
 LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = T;
    |                       ----------  ^^^^^^^^^^ re-bound here
@@ -232,7 +223,7 @@ LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = 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:154:35
    |
 LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = T;
    |                       ----------  ^^^^^^^^^^ re-bound here
@@ -240,7 +231,7 @@ LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = 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:156:38
    |
 LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = T;
    |                       -------------  ^^^^^^^^^^^^^ re-bound here
@@ -248,31 +239,31 @@ LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = 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:160:29
    |
-LL | type TAW1<T> where T: Iterator<Item: Copy, Item: Send> = T;
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:165:29
    |
-LL | type TAW2<T> where T: Iterator<Item: Copy, Item: Copy> = T;
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:82:47
+  --> $DIR/duplicate.rs:170:32
    |
-LL | type TAW3<T> where T: Iterator<Item: 'static, Item: 'static> = T;
-   |                                -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:174:36
    |
 LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -280,7 +271,7 @@ LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = 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:176:36
    |
 LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -288,7 +279,7 @@ LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = 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:178:39
    |
 LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
    |                        -------------  ^^^^^^^^^^^^^ re-bound here
@@ -296,7 +287,7 @@ LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = 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:180:40
    |
 LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -304,7 +295,7 @@ LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
    |                            `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:182:40
    |
 LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -312,7 +303,7 @@ LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
    |                            `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:184:43
    |
 LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -320,7 +311,7 @@ LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
    |                            `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:187:36
    |
 LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -328,7 +319,7 @@ LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
    |                        `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:189:36
    |
 LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -336,7 +327,7 @@ LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
    |                        `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:191:39
    |
 LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
    |                        -------------  ^^^^^^^^^^^^^ re-bound here
@@ -344,7 +335,7 @@ LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
    |                        `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:193:34
    |
 LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
    |                      ----------  ^^^^^^^^^^ re-bound here
@@ -352,7 +343,7 @@ LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
    |                      `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:195:34
    |
 LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
    |                      ----------  ^^^^^^^^^^ re-bound here
@@ -360,7 +351,7 @@ LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
    |                      `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:197:37
    |
 LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
    |                      -------------  ^^^^^^^^^^^^^ re-bound here
@@ -368,79 +359,79 @@ LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
    |                      `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:201:29
    |
-LL | trait TRW1<T> where T: Iterator<Item: Copy, Item: Send> {}
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:207:29
    |
-LL | trait TRW2<T> where T: Iterator<Item: Copy, Item: Copy> {}
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:114:48
+  --> $DIR/duplicate.rs:213:32
    |
-LL | trait TRW3<T> where T: Iterator<Item: 'static, Item: 'static> {}
-   |                                 -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:219:32
    |
-LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: Send>,
+   |                    ----------  ^^^^^^^^^^ 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:219:32
    |
-LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: Send>,
+   |                    ----------  ^^^^^^^^^^ 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:226:32
    |
-LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: 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:119:46
+  --> $DIR/duplicate.rs:226:32
    |
-LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: 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:122:49
+  --> $DIR/duplicate.rs:233:35
    |
-LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
-   |                                  -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: 'static, Item: 'static>,
+   |                    -------------  ^^^^^^^^^^^^^ 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:233:35
    |
-LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
-   |                                  -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: 'static, Item: 'static>,
+   |                    -------------  ^^^^^^^^^^^^^ 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:251:40
    |
 LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -448,7 +439,7 @@ LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
    |                            `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:253:44
    |
 LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
    |                                ----------  ^^^^^^^^^^ re-bound here
@@ -456,7 +447,7 @@ LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
    |                                `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:255:43
    |
 LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -464,29 +455,29 @@ LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
    |                            `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:239:34
    |
-LL | trait TRA1 { type A: Iterator<Item: Copy, Item: Send>; }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: Copy, Item: Send>;
+   |                      ----------  ^^^^^^^^^^ 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:243:34
    |
-LL | trait TRA2 { type A: Iterator<Item: Copy, Item: Copy>; }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: Copy, Item: 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:129:46
+  --> $DIR/duplicate.rs:247:37
    |
-LL | trait TRA3 { type A: Iterator<Item: 'static, Item: 'static>; }
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: 'static, Item: 'static>;
+   |                      -------------  ^^^^^^^^^^^^^ re-bound here
+   |                      |
+   |                      `Item` bound here first
 
-error: aborting due to 60 previous errors; 1 warning emitted
+error: aborting due to 60 previous errors
 
 For more information about this error, try `rustc --explain E0719`.
diff --git a/src/test/ui/associated-type-bounds/duplicate.min_tait.stderr b/src/test/ui/associated-type-bounds/duplicate.min_tait.stderr
index 06bfac588de..81cd882e5d8 100644
--- a/src/test/ui/associated-type-bounds/duplicate.min_tait.stderr
+++ b/src/test/ui/associated-type-bounds/duplicate.min_tait.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:9:36
    |
-LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
+LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> {
    |                        ----------  ^^^^^^^^^^ 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:13:36
    |
-LL | struct SI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
+LL | struct SI2<T: Iterator<Item: Copy, Item: 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:14:39
+  --> $DIR/duplicate.rs:17:39
    |
-LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
+LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                        -------------  ^^^^^^^^^^^^^ 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:23:29
    |
-LL | struct SW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:30:29
    |
-LL | struct SW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:20:48
+  --> $DIR/duplicate.rs:37:32
    |
-LL | struct SW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-   |                                 -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:43:34
    |
-LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> { V(T) }
+LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> {
    |                      ----------  ^^^^^^^^^^ 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:47:34
    |
-LL | enum EI2<T: Iterator<Item: Copy, Item: Copy>> { V(T) }
+LL | enum EI2<T: Iterator<Item: Copy, Item: 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:27:37
+  --> $DIR/duplicate.rs:51:37
    |
-LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> { V(T) }
+LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                      -------------  ^^^^^^^^^^^^^ 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:57:29
    |
-LL | enum EW1<T> where T: Iterator<Item: Copy, Item: Send> { V(T) }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:64:29
    |
-LL | enum EW2<T> where T: Iterator<Item: Copy, Item: Copy> { V(T) }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:33:46
+  --> $DIR/duplicate.rs:71:32
    |
-LL | enum EW3<T> where T: Iterator<Item: 'static, Item: 'static> { V(T) }
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:77:35
    |
-LL | union UI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
+LL | union UI1<T: Iterator<Item: Copy, Item: Send>> {
    |                       ----------  ^^^^^^^^^^ 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:81:35
    |
-LL | union UI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
+LL | union UI2<T: Iterator<Item: Copy, Item: 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:40:38
+  --> $DIR/duplicate.rs:85:38
    |
-LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
+LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> {
    |                       -------------  ^^^^^^^^^^^^^ 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:91:29
    |
-LL | union UW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:98:29
    |
-LL | union UW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:46:47
+  --> $DIR/duplicate.rs:105:32
    |
-LL | union UW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-   |                                -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:111:32
    |
 LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
    |                    ----------  ^^^^^^^^^^ re-bound here
@@ -151,7 +151,7 @@ LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
    |                    `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:113:32
    |
 LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
    |                    ----------  ^^^^^^^^^^ re-bound here
@@ -159,7 +159,7 @@ LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
    |                    `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:115:35
    |
 LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
    |                    -------------  ^^^^^^^^^^^^^ re-bound here
@@ -167,31 +167,31 @@ LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
    |                    `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:119:29
    |
-LL | fn FW1<T>() where T: Iterator<Item: Copy, Item: Send> {}
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:125:29
    |
-LL | fn FW2<T>() where T: Iterator<Item: Copy, Item: Copy> {}
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:59:46
+  --> $DIR/duplicate.rs:131:32
    |
-LL | fn FW3<T>() where T: Iterator<Item: 'static, Item: 'static> {}
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:145:40
    |
 LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -199,7 +199,7 @@ LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
    |                            `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:147:40
    |
 LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -207,7 +207,7 @@ LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
    |                            `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:149:43
    |
 LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -215,7 +215,7 @@ LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
    |                            `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:152:35
    |
 LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = T;
    |                       ----------  ^^^^^^^^^^ re-bound here
@@ -223,7 +223,7 @@ LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = 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:154:35
    |
 LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = T;
    |                       ----------  ^^^^^^^^^^ re-bound here
@@ -231,7 +231,7 @@ LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = 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:156:38
    |
 LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = T;
    |                       -------------  ^^^^^^^^^^^^^ re-bound here
@@ -239,31 +239,31 @@ LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = 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:160:29
    |
-LL | type TAW1<T> where T: Iterator<Item: Copy, Item: Send> = T;
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:165:29
    |
-LL | type TAW2<T> where T: Iterator<Item: Copy, Item: Copy> = T;
-   |                                ----------  ^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:82:47
+  --> $DIR/duplicate.rs:170:32
    |
-LL | type TAW3<T> where T: Iterator<Item: 'static, Item: 'static> = T;
-   |                                -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                |
-   |                                `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:174:36
    |
 LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -271,7 +271,7 @@ LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = 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:176:36
    |
 LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -279,7 +279,7 @@ LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = 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:178:39
    |
 LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
    |                        -------------  ^^^^^^^^^^^^^ re-bound here
@@ -287,7 +287,7 @@ LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = 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:180:40
    |
 LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -295,7 +295,7 @@ LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
    |                            `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:182:40
    |
 LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -303,7 +303,7 @@ LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
    |                            `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:184:43
    |
 LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -311,7 +311,7 @@ LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
    |                            `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:187:36
    |
 LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -319,7 +319,7 @@ LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
    |                        `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:189:36
    |
 LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
    |                        ----------  ^^^^^^^^^^ re-bound here
@@ -327,7 +327,7 @@ LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
    |                        `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:191:39
    |
 LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
    |                        -------------  ^^^^^^^^^^^^^ re-bound here
@@ -335,7 +335,7 @@ LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
    |                        `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:193:34
    |
 LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
    |                      ----------  ^^^^^^^^^^ re-bound here
@@ -343,7 +343,7 @@ LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
    |                      `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:195:34
    |
 LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
    |                      ----------  ^^^^^^^^^^ re-bound here
@@ -351,7 +351,7 @@ LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
    |                      `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:197:37
    |
 LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
    |                      -------------  ^^^^^^^^^^^^^ re-bound here
@@ -359,79 +359,79 @@ LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
    |                      `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:201:29
    |
-LL | trait TRW1<T> where T: Iterator<Item: Copy, Item: Send> {}
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: Send>,
+   |                 ----------  ^^^^^^^^^^ 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:207:29
    |
-LL | trait TRW2<T> where T: Iterator<Item: Copy, Item: Copy> {}
-   |                                 ----------  ^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: Copy, Item: 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:114:48
+  --> $DIR/duplicate.rs:213:32
    |
-LL | trait TRW3<T> where T: Iterator<Item: 'static, Item: 'static> {}
-   |                                 -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                 |
-   |                                 `Item` bound here first
+LL |     T: Iterator<Item: 'static, Item: 'static>,
+   |                 -------------  ^^^^^^^^^^^^^ 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:219:32
    |
-LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: Send>,
+   |                    ----------  ^^^^^^^^^^ 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:219:32
    |
-LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: Send>,
+   |                    ----------  ^^^^^^^^^^ 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:226:32
    |
-LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: 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:119:46
+  --> $DIR/duplicate.rs:226:32
    |
-LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
-   |                                  ----------  ^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: Copy, Item: 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:122:49
+  --> $DIR/duplicate.rs:233:35
    |
-LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
-   |                                  -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: 'static, Item: 'static>,
+   |                    -------------  ^^^^^^^^^^^^^ 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:233:35
    |
-LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
-   |                                  -------------  ^^^^^^^^^^^^^ re-bound here
-   |                                  |
-   |                                  `Item` bound here first
+LL |     Self: Iterator<Item: 'static, Item: 'static>,
+   |                    -------------  ^^^^^^^^^^^^^ 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:251:40
    |
 LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
    |                            ----------  ^^^^^^^^^^ re-bound here
@@ -439,7 +439,7 @@ LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
    |                            `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:253:44
    |
 LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
    |                                ----------  ^^^^^^^^^^ re-bound here
@@ -447,7 +447,7 @@ LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
    |                                `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:255:43
    |
 LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
    |                            -------------  ^^^^^^^^^^^^^ re-bound here
@@ -455,28 +455,28 @@ LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
    |                            `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:239:34
    |
-LL | trait TRA1 { type A: Iterator<Item: Copy, Item: Send>; }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: Copy, Item: Send>;
+   |                      ----------  ^^^^^^^^^^ 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:243:34
    |
-LL | trait TRA2 { type A: Iterator<Item: Copy, Item: Copy>; }
-   |                               ----------  ^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: Copy, Item: 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:129:46
+  --> $DIR/duplicate.rs:247:37
    |
-LL | trait TRA3 { type A: Iterator<Item: 'static, Item: 'static>; }
-   |                               -------------  ^^^^^^^^^^^^^ re-bound here
-   |                               |
-   |                               `Item` bound here first
+LL |     type A: Iterator<Item: 'static, Item: 'static>;
+   |                      -------------  ^^^^^^^^^^^^^ re-bound here
+   |                      |
+   |                      `Item` bound here first
 
 error: aborting due to 60 previous errors
 
diff --git a/src/test/ui/associated-type-bounds/duplicate.rs b/src/test/ui/associated-type-bounds/duplicate.rs
index 0d7804ef1a7..e1a2ab37a3a 100644
--- a/src/test/ui/associated-type-bounds/duplicate.rs
+++ b/src/test/ui/associated-type-bounds/duplicate.rs
@@ -2,49 +2,111 @@
 // 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(untagged_unions)]
 
 use std::iter;
 
-struct SI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-struct SI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-struct SI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-struct SW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-struct SW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-struct SW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+struct SI1<T: Iterator<Item: Copy, Item: Send>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+struct SI2<T: Iterator<Item: Copy, Item: Copy>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+struct SI3<T: Iterator<Item: 'static, Item: 'static>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+struct SW1<T>
+where
+    T: Iterator<Item: Copy, Item: Send>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
+struct SW2<T>
+where
+    T: Iterator<Item: Copy, Item: Copy>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
+struct SW3<T>
+where
+    T: Iterator<Item: 'static, Item: 'static>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
 
-enum EI1<T: Iterator<Item: Copy, Item: Send>> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-enum EI2<T: Iterator<Item: Copy, Item: Copy>> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-enum EI3<T: Iterator<Item: 'static, Item: 'static>> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-enum EW1<T> where T: Iterator<Item: Copy, Item: Send> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-enum EW2<T> where T: Iterator<Item: Copy, Item: Copy> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-enum EW3<T> where T: Iterator<Item: 'static, Item: 'static> { V(T) }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+enum EI1<T: Iterator<Item: Copy, Item: Send>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    V(T),
+}
+enum EI2<T: Iterator<Item: Copy, Item: Copy>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    V(T),
+}
+enum EI3<T: Iterator<Item: 'static, Item: 'static>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    V(T),
+}
+enum EW1<T>
+where
+    T: Iterator<Item: Copy, Item: Send>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    V(T),
+}
+enum EW2<T>
+where
+    T: Iterator<Item: Copy, Item: Copy>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    V(T),
+}
+enum EW3<T>
+where
+    T: Iterator<Item: 'static, Item: 'static>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    V(T),
+}
 
-union UI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-union UI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-union UI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-union UW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-union UW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-union UW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+union UI1<T: Iterator<Item: Copy, Item: Send>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+union UI2<T: Iterator<Item: Copy, Item: Copy>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+union UI3<T: Iterator<Item: 'static, Item: 'static>> {
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+    f: T,
+}
+union UW1<T>
+where
+    T: Iterator<Item: Copy, Item: Send>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
+union UW2<T>
+where
+    T: Iterator<Item: Copy, Item: Copy>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
+union UW3<T>
+where
+    T: Iterator<Item: 'static, Item: 'static>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+    f: T,
+}
 
 fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
@@ -52,16 +114,34 @@ fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
 fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-fn FW1<T>() where T: Iterator<Item: Copy, Item: Send> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-fn FW2<T>() where T: Iterator<Item: Copy, Item: Copy> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-fn FW3<T>() where T: Iterator<Item: 'static, Item: 'static> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+fn FW1<T>()
+where
+    T: Iterator<Item: Copy, Item: Send>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
+fn FW2<T>()
+where
+    T: Iterator<Item: Copy, Item: Copy>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
+fn FW3<T>()
+where
+    T: Iterator<Item: 'static, Item: 'static>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
 
-fn FRPIT1() -> impl Iterator<Item: Copy, Item: Send> { iter::empty() }
-fn FRPIT2() -> impl Iterator<Item: Copy, Item: Copy> { iter::empty() }
-fn FRPIT3() -> impl Iterator<Item: 'static, Item: 'static> { iter::empty() }
+fn FRPIT1() -> impl Iterator<Item: Copy, Item: Send> {
+    iter::empty()
+}
+fn FRPIT2() -> impl Iterator<Item: Copy, Item: Copy> {
+    iter::empty()
+}
+fn FRPIT3() -> impl Iterator<Item: 'static, Item: 'static> {
+    iter::empty()
+}
 fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
 fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
@@ -75,12 +155,21 @@ type TAI2<T: Iterator<Item: Copy, Item: Copy>> = T;
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
 type TAI3<T: Iterator<Item: 'static, Item: 'static>> = T;
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-type TAW1<T> where T: Iterator<Item: Copy, Item: Send> = T;
+type TAW1<T>
+where
+    T: Iterator<Item: Copy, Item: Send>,
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-type TAW2<T> where T: Iterator<Item: Copy, Item: Copy> = T;
+= T;
+type TAW2<T>
+where
+    T: Iterator<Item: Copy, Item: Copy>,
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-type TAW3<T> where T: Iterator<Item: 'static, Item: 'static> = T;
+= T;
+type TAW3<T>
+where
+    T: Iterator<Item: 'static, Item: 'static>,
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+= T;
 
 type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
@@ -107,27 +196,57 @@ trait TRS2: Iterator<Item: Copy, Item: Copy> {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
 trait TRS3: Iterator<Item: 'static, Item: 'static> {}
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRW1<T> where T: Iterator<Item: Copy, Item: Send> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRW2<T> where T: Iterator<Item: Copy, Item: Copy> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRW3<T> where T: Iterator<Item: 'static, Item: 'static> {}
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
-//~^ 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<Item: Copy, Item: Copy> {}
-//~^ 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<Item: 'static, Item: 'static> {}
-//~^ 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<Item: Copy, Item: Send>; }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRA2 { type A: Iterator<Item: Copy, Item: Copy>; }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
-trait TRA3 { type A: Iterator<Item: 'static, Item: 'static>; }
-//~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+trait TRW1<T>
+where
+    T: Iterator<Item: Copy, Item: Send>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
+trait TRW2<T>
+where
+    T: Iterator<Item: Copy, Item: Copy>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
+trait TRW3<T>
+where
+    T: Iterator<Item: 'static, Item: 'static>,
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+{
+}
+trait TRSW1
+where
+    Self: Iterator<Item: Copy, Item: Send>,
+    //~^ 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<Item: Copy, Item: Copy>,
+    //~^ 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<Item: 'static, Item: 'static>,
+    //~^ 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<Item: Copy, Item: Send>;
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+}
+trait TRA2 {
+    type A: Iterator<Item: Copy, Item: Copy>;
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+}
+trait TRA3 {
+    type A: Iterator<Item: 'static, Item: 'static>;
+    //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
+}
 
 type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
 //~^ ERROR the value of the associated type `Item` (from trait `Iterator`) is already specified [E0719]
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 d4da4babf4e..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 cf20631af5b..9a9031043b6 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
@@ -4,36 +4,58 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
 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<T: Copy>(x: T) { let _x = x; let _x = x; }
+fn assert_copy<T: Copy>(x: T) {
+    let _x = x;
+    let _x = x;
+}
 fn assert_static<T: 'static>(_: T) {}
 fn assert_forall_tr2<T: for<'a> 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<As1: Copy>;
-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<As1: 'static>;
-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<As1: Clone + Iterator<Item: Add<u8, Output: Into<u8>>>>;
 fn def_et3() -> Et3 {
     struct A;
     impl Tr1 for A {
         type As1 = core::ops::Range<u8>;
-        fn mk(self) -> Self::As1 { 0..10 }
+        fn mk(self) -> Self::As1 {
+            0..10
+        }
     }
     A
 }
@@ -53,14 +75,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 9857f7e2677..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 bba9ae2d9e7..04b68867496 100644
--- a/src/test/ui/associated-types/issue-63591.rs
+++ b/src/test/ui/associated-types/issue-63591.rs
@@ -4,7 +4,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
 
 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 cc61becd71b..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 f8b6a438961..c132d9b9d7d 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
@@ -6,7 +6,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
 
 use std::future::Future;
 
diff --git a/src/test/ui/generator/layout-error.full_tait.stderr b/src/test/ui/generator/layout-error.full_tait.stderr
index bf647d08983..76314611fa2 100644
--- a/src/test/ui/generator/layout-error.full_tait.stderr
+++ b/src/test/ui/generator/layout-error.full_tait.stderr
@@ -1,18 +1,9 @@
 error[E0425]: cannot find value `Foo` in this scope
-  --> $DIR/layout-error.rs:24:17
+  --> $DIR/layout-error.rs:23: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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 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
index ed31c260cbc..09ff1abb832 100644
--- a/src/test/ui/generator/layout-error.min_tait.stderr
+++ b/src/test/ui/generator/layout-error.min_tait.stderr
@@ -1,11 +1,11 @@
 error[E0425]: cannot find value `Foo` in this scope
-  --> $DIR/layout-error.rs:24:17
+  --> $DIR/layout-error.rs:23: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
+  --> $DIR/layout-error.rs:29:27
    |
 LL |     Task::spawn(&POOL, || cb());
    |                           ^
diff --git a/src/test/ui/generator/layout-error.rs b/src/test/ui/generator/layout-error.rs
index a5efc3899dd..e8fd4f807e0 100644
--- a/src/test/ui/generator/layout-error.rs
+++ b/src/test/ui/generator/layout-error.rs
@@ -6,7 +6,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
 use std::future::Future;
 
 pub struct Task<F: Future>(F);
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
index 1e609e83882..4c70dc5e958 100644
--- a/src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr
+++ b/src/test/ui/generator/metadata-sufficient-for-layout.full_tait.stderr
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/metadata-sufficient-for-layout.rs:28:1
+  --> $DIR/metadata-sufficient-for-layout.rs:27:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr b/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr
index 52d42fd59a0..4c70dc5e958 100644
--- a/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.stderr
+++ b/src/test/ui/generator/metadata-sufficient-for-layout.min_tait.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:27:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
diff --git a/src/test/ui/generator/metadata-sufficient-for-layout.rs b/src/test/ui/generator/metadata-sufficient-for-layout.rs
index c01354569f0..50093987e4b 100644
--- a/src/test/ui/generator/metadata-sufficient-for-layout.rs
+++ b/src/test/ui/generator/metadata-sufficient-for-layout.rs
@@ -8,7 +8,6 @@
 // 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(generator_trait)]
 
 extern crate metadata_sufficient_for_layout;
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 174c4c62da9..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 b2dad596ffa..fb816fb39e6 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,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
 // 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 e3dd4a60b4d..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 c101ba22948..57747b286bf 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,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
 // 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 39147b00a34..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 5c28eba2261..39e98ebe665 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,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
 // 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
index 314617748b0..3f25ca4b327 100644
--- a/src/test/ui/impl-trait/auto-trait.full_tait.stderr
+++ b/src/test/ui/impl-trait/auto-trait.full_tait.stderr
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<impl OpaqueTrait>`
-  --> $DIR/auto-trait.rs:24:1
+  --> $DIR/auto-trait.rs:23:1
    |
 LL | impl<T: Send> AnotherTrait for T {}
    | -------------------------------- first implementation here
@@ -16,6 +7,6 @@ LL | impl<T: Send> AnotherTrait for T {}
 LL | impl AnotherTrait for D<OpaqueType> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<impl OpaqueTrait>`
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0119`.
diff --git a/src/test/ui/impl-trait/auto-trait.min_tait.stderr b/src/test/ui/impl-trait/auto-trait.min_tait.stderr
index 75a5b0cb87d..3f25ca4b327 100644
--- a/src/test/ui/impl-trait/auto-trait.min_tait.stderr
+++ b/src/test/ui/impl-trait/auto-trait.min_tait.stderr
@@ -1,5 +1,5 @@
 error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<impl OpaqueTrait>`
-  --> $DIR/auto-trait.rs:24:1
+  --> $DIR/auto-trait.rs:23:1
    |
 LL | impl<T: Send> AnotherTrait for T {}
    | -------------------------------- first implementation here
diff --git a/src/test/ui/impl-trait/auto-trait.rs b/src/test/ui/impl-trait/auto-trait.rs
index c965a34c12b..59bd09e348a 100644
--- a/src/test/ui/impl-trait/auto-trait.rs
+++ b/src/test/ui/impl-trait/auto-trait.rs
@@ -3,7 +3,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
 
 trait OpaqueTrait {}
 impl<T> OpaqueTrait for T {}
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
index 286dd7aafb4..94d73be195c 100644
--- a/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0276]: impl has stricter requirements than trait
-  --> $DIR/issue-55872-1.rs:17:5
+  --> $DIR/issue-55872-1.rs:16:5
    |
 LL |     fn foo<T>() -> Self::E;
    |     ----------------------- definition of `foo` from trait
@@ -17,7 +8,7 @@ LL |     fn foo<T: Default>() -> 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:12:14
    |
 LL |     type E = impl Copy;
    |              ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `S`
@@ -29,7 +20,7 @@ LL | impl<S: Default + std::marker::Copy> 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:12:14
    |
 LL |     type E = impl Copy;
    |              ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `T`
@@ -41,7 +32,7 @@ LL |     fn foo<T: Default + std::marker::Copy>() -> 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:16:37
    |
 LL |       fn foo<T: Default>() -> Self::E {
    |  _____________________________________^
@@ -51,7 +42,7 @@ LL | |         (S::default(), T::default())
 LL | |     }
    | |_____^
 
-error: aborting due to 4 previous errors; 1 warning emitted
+error: aborting due to 4 previous errors
 
 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.min_tait.stderr b/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr
index 653299f4cbc..94d73be195c 100644
--- a/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872-1.min_tait.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:16:5
    |
 LL |     fn foo<T>() -> Self::E;
    |     ----------------------- definition of `foo` from trait
@@ -8,7 +8,7 @@ LL |     fn foo<T: Default>() -> 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:12:14
    |
 LL |     type E = impl Copy;
    |              ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `S`
@@ -20,7 +20,7 @@ LL | impl<S: Default + std::marker::Copy> 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:12:14
    |
 LL |     type E = impl Copy;
    |              ^^^^^^^^^ within `(S, T)`, the trait `Copy` is not implemented for `T`
@@ -32,7 +32,7 @@ LL |     fn foo<T: Default + std::marker::Copy>() -> 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:16:37
    |
 LL |       fn foo<T: Default>() -> Self::E {
    |  _____________________________________^
diff --git a/src/test/ui/impl-trait/issue-55872-1.rs b/src/test/ui/impl-trait/issue-55872-1.rs
index a9e9c9b5beb..c6a331e58fe 100644
--- a/src/test/ui/impl-trait/issue-55872-1.rs
+++ b/src/test/ui/impl-trait/issue-55872-1.rs
@@ -1,7 +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
 
 pub trait Bar {
     type E: Copy;
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
index a8fc681a093..305e916c9a9 100644
--- a/src/test/ui/impl-trait/issue-55872-2.full_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872-2.full_tait.stderr
@@ -1,20 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0277]: the trait bound `impl Future: Copy` is not satisfied
-  --> $DIR/issue-55872-2.rs:16:14
+  --> $DIR/issue-55872-2.rs:15: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:17:28
    |
 LL |       fn foo<T>() -> Self::E {
    |  ____________________________^
@@ -23,6 +14,6 @@ LL | |         async {}
 LL | |     }
    | |_____^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/impl-trait/issue-55872-2.min_tait.stderr b/src/test/ui/impl-trait/issue-55872-2.min_tait.stderr
index 57f81443dcc..305e916c9a9 100644
--- a/src/test/ui/impl-trait/issue-55872-2.min_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872-2.min_tait.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:15: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:17:28
    |
 LL |       fn foo<T>() -> Self::E {
    |  ____________________________^
diff --git a/src/test/ui/impl-trait/issue-55872-2.rs b/src/test/ui/impl-trait/issue-55872-2.rs
index cd72b2eec3c..44839e5e845 100644
--- a/src/test/ui/impl-trait/issue-55872-2.rs
+++ b/src/test/ui/impl-trait/issue-55872-2.rs
@@ -4,7 +4,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
 
 pub trait Bar {
     type E: Copy;
diff --git a/src/test/ui/impl-trait/issue-55872.full_tait.stderr b/src/test/ui/impl-trait/issue-55872.full_tait.stderr
index e549fec1c22..3fffd09836b 100644
--- a/src/test/ui/impl-trait/issue-55872.full_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872.full_tait.stderr
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/issue-55872.rs:15:28
    |
 LL |       fn foo<T>() -> Self::E {
    |  ____________________________^
@@ -17,5 +8,5 @@ LL | |         || ()
 LL | |     }
    | |_____^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/impl-trait/issue-55872.min_tait.stderr b/src/test/ui/impl-trait/issue-55872.min_tait.stderr
index 341dba95cad..3fffd09836b 100644
--- a/src/test/ui/impl-trait/issue-55872.min_tait.stderr
+++ b/src/test/ui/impl-trait/issue-55872.min_tait.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:15:28
    |
 LL |       fn foo<T>() -> Self::E {
    |  ____________________________^
diff --git a/src/test/ui/impl-trait/issue-55872.rs b/src/test/ui/impl-trait/issue-55872.rs
index e3fc523fecc..049d61a425e 100644
--- a/src/test/ui/impl-trait/issue-55872.rs
+++ b/src/test/ui/impl-trait/issue-55872.rs
@@ -2,7 +2,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
 
 pub trait Bar {
     type E: Copy;
@@ -14,7 +13,7 @@ impl<S> Bar for S {
     type E = impl Copy;
 
     fn foo<T>() -> 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/issues/issue-53457.full_tait.stderr b/src/test/ui/impl-trait/issues/issue-53457.full_tait.stderr
deleted file mode 100644
index 906578c291f..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 c44e7f01f25..c6d7be47dfe 100644
--- a/src/test/ui/impl-trait/issues/issue-53457.rs
+++ b/src/test/ui/impl-trait/issues/issue-53457.rs
@@ -3,7 +3,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
 
 type X = impl Clone;
 
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
index 728644f7579..b446eae9c3f 100644
--- a/src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr
+++ b/src/test/ui/impl-trait/issues/issue-78722.full_tait.stderr
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0308]: mismatched types
-  --> $DIR/issue-78722.rs:15:20
+  --> $DIR/issue-78722.rs:14:20
    |
 LL | type F = impl core::future::Future<Output = u8>;
    |          -------------------------------------- the expected opaque type
@@ -23,10 +14,10 @@ LL |         let f: F = async { 1 };
 LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
    |                                           ------------------------------- 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:7: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
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr b/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr
index 221b23ae3d2..b446eae9c3f 100644
--- a/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr
+++ b/src/test/ui/impl-trait/issues/issue-78722.min_tait.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/issue-78722.rs:15:20
+  --> $DIR/issue-78722.rs:14:20
    |
 LL | type F = impl core::future::Future<Output = u8>;
    |          -------------------------------------- the expected opaque type
@@ -14,7 +14,7 @@ LL |         let f: F = async { 1 };
 LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
    |                                           ------------------------------- 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:7: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-78722.rs b/src/test/ui/impl-trait/issues/issue-78722.rs
index 480b55eed21..0b8569b6e5f 100644
--- a/src/test/ui/impl-trait/issues/issue-78722.rs
+++ b/src/test/ui/impl-trait/issues/issue-78722.rs
@@ -3,7 +3,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
 
 type F = impl core::future::Future<Output = u8>;
 
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
index b2ebc7230b9..52ab9baff8b 100644
--- 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
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/error-handling-2.rs:15: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 15:8
+  --> $DIR/error-handling-2.rs:15: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
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0700`.
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.min_tait.stderr
index 53745c290d0..52ab9baff8b 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.min_tait.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:15: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 15:8
+  --> $DIR/error-handling-2.rs:15: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-2.rs b/src/test/ui/impl-trait/multiple-lifetimes/error-handling-2.rs
index 196ddf9b8e4..cfc493928c0 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
@@ -4,7 +4,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
 
 #[derive(Clone)]
 struct CopyIfEq<T, U>(T, U);
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
index ff99d037d19..cdcb7d7c38e 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: lifetime may not live long enough
-  --> $DIR/error-handling.rs:25:16
+  --> $DIR/error-handling.rs:24:16
    |
 LL | fn foo<'a, 'b, 'c>(x: &'static i32, mut y: &'a i32) -> E<'b, 'c> {
    |        --  -- lifetime `'b` defined here
@@ -20,5 +11,5 @@ LL |         let _: &'b i32 = *u.0;
    |
    = help: consider adding the following bound: `'a: 'b`
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 4b23ba81604..cdcb7d7c38e 100644
--- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr
+++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.min_tait.stderr
@@ -1,5 +1,5 @@
 error: lifetime may not live long enough
-  --> $DIR/error-handling.rs:25:16
+  --> $DIR/error-handling.rs:24: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/error-handling.rs b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs
index 1ead78e02ed..23d5c9da311 100644
--- a/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs
+++ b/src/test/ui/impl-trait/multiple-lifetimes/error-handling.rs
@@ -3,7 +3,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
 
 #[derive(Clone)]
 struct CopyIfEq<T, U>(T, U);
diff --git a/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr b/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr
index bccbc8cb36b..edecdd061e1 100644
--- a/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr
+++ b/src/test/ui/impl-trait/negative-reasoning.full_tait.stderr
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<impl OpaqueTrait>`
-  --> $DIR/negative-reasoning.rs:22:1
+  --> $DIR/negative-reasoning.rs:21:1
    |
 LL | impl<T: std::fmt::Debug> AnotherTrait for T {}
    | ------------------------------------------- first implementation here
@@ -18,6 +9,6 @@ LL | impl AnotherTrait for D<OpaqueType> {
    |
    = 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
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0119`.
diff --git a/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr b/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr
index 5727a372ddb..edecdd061e1 100644
--- a/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr
+++ b/src/test/ui/impl-trait/negative-reasoning.min_tait.stderr
@@ -1,5 +1,5 @@
 error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<impl OpaqueTrait>`
-  --> $DIR/negative-reasoning.rs:22:1
+  --> $DIR/negative-reasoning.rs:21:1
    |
 LL | impl<T: std::fmt::Debug> AnotherTrait for T {}
    | ------------------------------------------- first implementation here
diff --git a/src/test/ui/impl-trait/negative-reasoning.rs b/src/test/ui/impl-trait/negative-reasoning.rs
index 7f608cc99db..0838f32b932 100644
--- a/src/test/ui/impl-trait/negative-reasoning.rs
+++ b/src/test/ui/impl-trait/negative-reasoning.rs
@@ -3,7 +3,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
 
 trait OpaqueTrait {}
 impl<T> OpaqueTrait for T {}
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 965e3e4887b..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 733e10e56f8..9cb9a6de2d6 100644
--- a/src/test/ui/impl-trait/type-alias-generic-param.rs
+++ b/src/test/ui/impl-trait/type-alias-generic-param.rs
@@ -6,7 +6,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
 
 trait Meow {
     type MeowType;
@@ -14,7 +13,8 @@ trait Meow {
 }
 
 impl<T, I> Meow for I
-    where I: Iterator<Item = T>
+where
+    I: Iterator<Item = T>,
 {
     type MeowType = impl Iterator<Item = T>;
     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 ec939e5718a..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 32ca4af3043..996840dc196 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
@@ -3,7 +3,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
 
 use std::fmt::Debug;
 
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 a448f85b762..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/issues/issue-60662.rs b/src/test/ui/issues/issue-60662.rs
index 1320d2bbe93..5079e33650f 100644
--- a/src/test/ui/issues/issue-60662.rs
+++ b/src/test/ui/issues/issue-60662.rs
@@ -4,10 +4,8 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
-trait Animal {
-}
+trait Animal {}
 
 fn main() {
     pub type ServeFut = impl Animal;
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
index 65b4631010f..d17c05ef298 100644
--- 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
@@ -1,20 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 warning: `#[inline]` is ignored on constants
-  --> $DIR/inline-trait-and-foreign-items.rs:10:5
+  --> $DIR/inline-trait-and-foreign-items.rs:9: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:6:9
    |
 LL | #![warn(unused_attributes)]
    |         ^^^^^^^^^^^^^^^^^
@@ -22,7 +13,7 @@ LL | #![warn(unused_attributes)]
    = note: see issue #65833 <https://github.com/rust-lang/rust/issues/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:13:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -30,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:20:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -39,7 +30,7 @@ LL |     #[inline]
    = note: see issue #65833 <https://github.com/rust-lang/rust/issues/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:24:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -47,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:27:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -55,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:32:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -63,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:35:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -71,11 +62,11 @@ 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:28:14
    |
 LL |     type U = impl Trait;
    |              ^^^^^^^^^^
 
-error: aborting due to 6 previous errors; 3 warnings emitted
+error: aborting due to 6 previous errors; 2 warnings emitted
 
 For more information about this error, try `rustc --explain E0518`.
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.min_tait.stderr
index b9f123905a7..d17c05ef298 100644
--- a/src/test/ui/lint/inline-trait-and-foreign-items.min_tait.stderr
+++ b/src/test/ui/lint/inline-trait-and-foreign-items.min_tait.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:9: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:6:9
    |
 LL | #![warn(unused_attributes)]
    |         ^^^^^^^^^^^^^^^^^
@@ -13,7 +13,7 @@ LL | #![warn(unused_attributes)]
    = note: see issue #65833 <https://github.com/rust-lang/rust/issues/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:13: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:20:5
    |
 LL |     #[inline]
    |     ^^^^^^^^^
@@ -30,7 +30,7 @@ LL |     #[inline]
    = note: see issue #65833 <https://github.com/rust-lang/rust/issues/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:24: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:27: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:32: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:35: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:28:14
    |
 LL |     type U = impl Trait;
    |              ^^^^^^^^^^
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 3103cc9d31d..9d9579ec26c 100644
--- a/src/test/ui/lint/inline-trait-and-foreign-items.rs
+++ b/src/test/ui/lint/inline-trait-and-foreign-items.rs
@@ -2,7 +2,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
 
 #![warn(unused_attributes)]
 
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
index 619ca15839b..0e02b7bf4d9 100644
--- a/src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-2.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:28: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr
index 479bd574473..0e02b7bf4d9 100644
--- a/src/test/ui/lint/lint-ctypes-73249-2.min_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-2.min_tait.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:28: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/lint-ctypes-73249-2.rs b/src/test/ui/lint/lint-ctypes-73249-2.rs
index f3313f89217..8535307756b 100644
--- a/src/test/ui/lint/lint-ctypes-73249-2.rs
+++ b/src/test/ui/lint/lint-ctypes-73249-2.rs
@@ -1,12 +1,11 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 #![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-3.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr
index af0f26a9f43..60661e96ddf 100644
--- a/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-3.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:22: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr
index 880581ff05d..60661e96ddf 100644
--- a/src/test/ui/lint/lint-ctypes-73249-3.min_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-3.min_tait.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:22: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/lint-ctypes-73249-3.rs b/src/test/ui/lint/lint-ctypes-73249-3.rs
index 966c7d5ce3c..287287d449c 100644
--- a/src/test/ui/lint/lint-ctypes-73249-3.rs
+++ b/src/test/ui/lint/lint-ctypes-73249-3.rs
@@ -1,16 +1,17 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 #![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-5.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr
index b80084fce06..aa1238a7512 100644
--- a/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-5.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:22: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr
index f42549d9096..aa1238a7512 100644
--- a/src/test/ui/lint/lint-ctypes-73249-5.min_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73249-5.min_tait.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:22: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/lint-ctypes-73249-5.rs b/src/test/ui/lint/lint-ctypes-73249-5.rs
index 81979a9b6e6..b877364d9b6 100644
--- a/src/test/ui/lint/lint-ctypes-73249-5.rs
+++ b/src/test/ui/lint/lint-ctypes-73249-5.rs
@@ -1,16 +1,17 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 #![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-73251-1.full_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr
index 5610230380b..33f2ee59577 100644
--- a/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73251-1.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:25:25
    |
 LL |     pub fn lint_me() -> <u32 as Foo>::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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr
index 5b00fc4cce6..33f2ee59577 100644
--- a/src/test/ui/lint/lint-ctypes-73251-1.min_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73251-1.min_tait.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:25:25
    |
 LL |     pub fn lint_me() -> <u32 as Foo>::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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/lint-ctypes-73251-1.rs b/src/test/ui/lint/lint-ctypes-73251-1.rs
index 3f15a2fb42c..042878c9778 100644
--- a/src/test/ui/lint/lint-ctypes-73251-1.rs
+++ b/src/test/ui/lint/lint-ctypes-73251-1.rs
@@ -1,12 +1,11 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 #![deny(improper_ctypes)]
 
-pub trait Baz { }
+pub trait Baz {}
 
-impl Baz for u32 { }
+impl Baz for u32 {}
 
 type Qux = impl Baz;
 
@@ -18,7 +17,9 @@ impl Foo for u32 {
     type Assoc = Qux;
 }
 
-fn assign() -> Qux { 1 }
+fn assign() -> Qux {
+    1
+}
 
 extern "C" {
     pub fn lint_me() -> <u32 as Foo>::Assoc; //~ ERROR: uses type `impl Baz`
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
index 19911264a36..152aaa183e3 100644
--- a/src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73251-2.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:38:25
    |
 LL |     pub fn lint_me() -> <AliasB as TraitB>::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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr b/src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr
index 4130ee7b4cb..152aaa183e3 100644
--- a/src/test/ui/lint/lint-ctypes-73251-2.min_tait.stderr
+++ b/src/test/ui/lint/lint-ctypes-73251-2.min_tait.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:38:25
    |
 LL |     pub fn lint_me() -> <AliasB as TraitB>::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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/lint-ctypes-73251-2.rs b/src/test/ui/lint/lint-ctypes-73251-2.rs
index 888671daca5..5a124b2fea5 100644
--- a/src/test/ui/lint/lint-ctypes-73251-2.rs
+++ b/src/test/ui/lint/lint-ctypes-73251-2.rs
@@ -1,7 +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
 #![deny(improper_ctypes)]
 
 pub trait TraitA {
@@ -16,7 +15,10 @@ pub trait TraitB {
     type Assoc;
 }
 
-impl<T> TraitB for T where T: TraitA {
+impl<T> TraitB for T
+where
+    T: TraitA,
+{
     type Assoc = <T as TraitA>::Assoc;
 }
 
@@ -24,9 +26,13 @@ type AliasA = impl TraitA<Assoc = u32>;
 
 type AliasB = impl TraitB<Assoc = AliasA>;
 
-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() -> <AliasB as TraitB>::Assoc; //~ ERROR: uses type `impl TraitA`
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 577cf6cf545..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 36e541612d1..24742b64f8e 100644
--- a/src/test/ui/lint/lint-ctypes-73251.rs
+++ b/src/test/ui/lint/lint-ctypes-73251.rs
@@ -3,7 +3,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
 #![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
index 5433d6e6ae2..d7b916f8ad5 100644
--- a/src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr
+++ b/src/test/ui/lint/opaque-ty-ffi-unsafe.full_tait.stderr
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:13: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
    = note: opaque types have no C equivalent
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr b/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr
index 2f20912d2a6..d7b916f8ad5 100644
--- a/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.stderr
+++ b/src/test/ui/lint/opaque-ty-ffi-unsafe.min_tait.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:13: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:4:9
    |
 LL | #![deny(improper_ctypes)]
    |         ^^^^^^^^^^^^^^^
diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs b/src/test/ui/lint/opaque-ty-ffi-unsafe.rs
index 0e9df919552..0c9fed8b98c 100644
--- a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs
+++ b/src/test/ui/lint/opaque-ty-ffi-unsafe.rs
@@ -1,7 +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
 #![deny(improper_ctypes)]
 
 type A = impl Fn();
@@ -12,7 +11,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/mir/issue-75053.full_tait.stderr b/src/test/ui/mir/issue-75053.full_tait.stderr
index 543d15fadc6..e2a5b8876e3 100644
--- a/src/test/ui/mir/issue-75053.full_tait.stderr
+++ b/src/test/ui/mir/issue-75053.full_tait.stderr
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-75053.rs:49:1
+  --> $DIR/issue-75053.rs:48:1
    |
 LL | fn main() {
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/mir/issue-75053.min_tait.stderr b/src/test/ui/mir/issue-75053.min_tait.stderr
index c533275c99a..e2a5b8876e3 100644
--- a/src/test/ui/mir/issue-75053.min_tait.stderr
+++ b/src/test/ui/mir/issue-75053.min_tait.stderr
@@ -1,5 +1,5 @@
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-75053.rs:49:1
+  --> $DIR/issue-75053.rs:48:1
    |
 LL | fn main() {
    | ^^^^^^^^^
diff --git a/src/test/ui/mir/issue-75053.rs b/src/test/ui/mir/issue-75053.rs
index b71f84dd9c2..bcd689775a0 100644
--- a/src/test/ui/mir/issue-75053.rs
+++ b/src/test/ui/mir/issue-75053.rs
@@ -3,7 +3,6 @@
 // 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
 
 use std::marker::PhantomData;
 
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
index a74c7c93a2e..f1f95c72150 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public-assoc-ty.rs:20:9
+  --> $DIR/private-in-public-assoc-ty.rs:19:9
    |
 LL |     struct Priv;
    |     ------------ `Priv` declared as private
@@ -17,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:26:9
    |
 LL |         type Alias1: PrivTr;
    |         ^^^^^^^^^^^^^^^^^^^^
@@ -27,7 +18,7 @@ LL |         type Alias1: PrivTr;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:29:9
    |
 LL |         type Alias2: PubTrAux1<Priv> = u8;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -36,7 +27,7 @@ LL |         type Alias2: PubTrAux1<Priv> = u8;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:32:9
    |
 LL |         type Alias3: PubTrAux2<A = Priv> = u8;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -45,7 +36,7 @@ LL |         type Alias3: PubTrAux2<A = Priv> = u8;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:36:9
    |
 LL |     struct Priv;
    |     ------------ `Priv` declared as private
@@ -54,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:43:9
    |
 LL |     struct Priv;
    |     ------------ `Priv` declared as private
@@ -63,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:46:9
    |
 LL |     trait PrivTr {}
    |     ------------ `PrivTr` declared as private
@@ -71,7 +62,7 @@ LL |     trait PrivTr {}
 LL |         type Exist = impl PrivTr;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
 
-error: aborting due to 4 previous errors; 4 warnings emitted
+error: aborting due to 4 previous errors; 3 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.min_tait.stderr b/src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr
index 36230ffd04b..f1f95c72150 100644
--- a/src/test/ui/privacy/private-in-public-assoc-ty.min_tait.stderr
+++ b/src/test/ui/privacy/private-in-public-assoc-ty.min_tait.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:19: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:26:9
    |
 LL |         type Alias1: PrivTr;
    |         ^^^^^^^^^^^^^^^^^^^^
@@ -18,7 +18,7 @@ LL |         type Alias1: PrivTr;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:29:9
    |
 LL |         type Alias2: PubTrAux1<Priv> = u8;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -27,7 +27,7 @@ LL |         type Alias2: PubTrAux1<Priv> = u8;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:32:9
    |
 LL |         type Alias3: PubTrAux2<A = Priv> = u8;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -36,7 +36,7 @@ LL |         type Alias3: PubTrAux2<A = Priv> = u8;
    = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/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:36: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:43: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:46:9
    |
 LL |     trait PrivTr {}
    |     ------------ `PrivTr` declared as private
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 f8fb5659430..dd2dcc6a2ea 100644
--- a/src/test/ui/privacy/private-in-public-assoc-ty.rs
+++ b/src/test/ui/privacy/private-in-public-assoc-ty.rs
@@ -5,7 +5,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
 
 mod m {
     struct Priv;
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 c419c7ee4d4..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 8443631253f..91dade4a2c1 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
@@ -3,7 +3,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
 #![deny(private_in_public)]
 
 pub type Pub = impl Default;
@@ -22,7 +21,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
index 193aed2615c..9206f683450 100644
--- a/src/test/ui/save-analysis/issue-68621.full_tait.stderr
+++ b/src/test/ui/save-analysis/issue-68621.full_tait.stderr
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: could not find defining uses
-  --> $DIR/issue-68621.rs:17:19
+  --> $DIR/issue-68621.rs:16:19
    |
 LL |     type Future = impl Trait;
    |                   ^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
diff --git a/src/test/ui/save-analysis/issue-68621.min_tait.stderr b/src/test/ui/save-analysis/issue-68621.min_tait.stderr
index cccfb3de8fb..9206f683450 100644
--- a/src/test/ui/save-analysis/issue-68621.min_tait.stderr
+++ b/src/test/ui/save-analysis/issue-68621.min_tait.stderr
@@ -1,5 +1,5 @@
 error: could not find defining uses
-  --> $DIR/issue-68621.rs:17:19
+  --> $DIR/issue-68621.rs:16:19
    |
 LL |     type Future = impl Trait;
    |                   ^^^^^^^^^^
diff --git a/src/test/ui/save-analysis/issue-68621.rs b/src/test/ui/save-analysis/issue-68621.rs
index 1f4a9080cc9..33bb55e50e0 100644
--- a/src/test/ui/save-analysis/issue-68621.rs
+++ b/src/test/ui/save-analysis/issue-68621.rs
@@ -3,7 +3,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
 
 trait Trait {}
 
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
index 7b43d1d86bc..ea214e70fc8 100644
--- 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
@@ -1,19 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/assoc-type-const.rs:8:12
    |
 LL | #![feature(const_generics)]
    |            ^^^^^^^^^^^^^^
    |
+   = note: `#[warn(incomplete_features)]` on by default
    = note: see issue #44580 <https://github.com/rust-lang/rust/issues/44580> for more information
 
-warning: 2 warnings emitted
+warning: 1 warning emitted
 
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.min_tait.stderr
index d4b9132cc92..ea214e70fc8 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.min_tait.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:8:12
    |
 LL | #![feature(const_generics)]
    |            ^^^^^^^^^^^^^^
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 be065c3b6be..4db32a3113c 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
@@ -5,7 +5,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(const_generics)]
 //~^ WARN the feature `const_generics` is incomplete
 
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
index 01263cde8bb..aaaeb9bd695 100644
--- 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
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/assoc-type-lifetime-unconstrained.rs:19:6
    |
 LL | impl<'a, I> UnwrapItemsExt for I {
    |      ^^ unconstrained lifetime parameter
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0207`.
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.min_tait.stderr
index afcdab5f479..aaaeb9bd695 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.min_tait.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:19:6
    |
 LL | impl<'a, I> UnwrapItemsExt for I {
    |      ^^ unconstrained lifetime parameter
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 39cc75e688b..cb849e12942 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
@@ -4,7 +4,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
 
 trait UnwrapItemsExt {
     type Iter;
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 31afbf14e65..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 ebbdbb67dbe..28535fe5567 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
@@ -5,7 +5,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
 
 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 2c48d815e0d..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 8d2b1826790..b9324991a5f 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,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
 // 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 94e1fa73de8..64bf96259f0 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
@@ -4,7 +4,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
 
 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 65bc594dcf2..09aa2691804 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
@@ -4,7 +4,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
 
 pub trait View {
     type Tmp: Iterator<Item = u32>;
@@ -18,6 +17,6 @@ impl View for X {
     type Tmp = impl Iterator<Item = u32>;
 
     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_reduction2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/bound_reduction2.full_tait.stderr
index 164564e8516..b16d98ab72b 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/bound_reduction2.rs:18:46
+  --> $DIR/bound_reduction2.rs:17:46
    |
 LL | fn foo_desugared<T: TraitWithAssoc>(_: T) -> Foo<T::Assoc> {
    |                                              ^^^^^^^^^^^^^
    |
 note: used non-generic type `<T as TraitWithAssoc>::Assoc` for generic parameter
-  --> $DIR/bound_reduction2.rs:12:10
+  --> $DIR/bound_reduction2.rs:11:10
    |
 LL | type Foo<V> = impl Trait<V>;
    |          ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index d3520a9bac2..b16d98ab72b 100644
--- a/src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/bound_reduction2.min_tait.stderr
@@ -1,11 +1,11 @@
 error: non-defining opaque type use in defining scope
-  --> $DIR/bound_reduction2.rs:18:46
+  --> $DIR/bound_reduction2.rs:17:46
    |
 LL | fn foo_desugared<T: TraitWithAssoc>(_: T) -> Foo<T::Assoc> {
    |                                              ^^^^^^^^^^^^^
    |
 note: used non-generic type `<T as TraitWithAssoc>::Assoc` for generic parameter
-  --> $DIR/bound_reduction2.rs:12:10
+  --> $DIR/bound_reduction2.rs:11:10
    |
 LL | type Foo<V> = impl Trait<V>;
    |          ^
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 b94b21e4244..3e56d115b47 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,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
 
 fn main() {}
 
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
index cfb1fe9c19a..a0099e343b8 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0277]: the trait bound `T: Clone` is not satisfied
-  --> $DIR/bounds-are-checked-2.rs:9:13
+  --> $DIR/bounds-are-checked-2.rs:8:13
    |
 LL | type X<T> = impl Clone;
    |             ^^^^^^^^^^ the trait `Clone` is not implemented for `T`
@@ -18,6 +9,6 @@ help: consider restricting type parameter `T`
 LL | type X<T: std::clone::Clone> = impl Clone;
    |         ^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr
index 735b96d5df9..a0099e343b8 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.min_tait.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:8:13
    |
 LL | type X<T> = impl Clone;
    |             ^^^^^^^^^^ the trait `Clone` is not implemented for `T`
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 fecc2543bce..5ffcd7ae546 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
@@ -4,7 +4,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
 
 type X<T> = impl Clone;
 //~^ ERROR the trait bound `T: Clone` is not satisfied
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
index ca89421cd8b..ec15474bf84 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 warning: unnecessary lifetime parameter `'a`
-  --> $DIR/bounds-are-checked.rs:12:6
+  --> $DIR/bounds-are-checked.rs:11:6
    |
 LL | fn f<'a: 'static>(t: &'a str) -> X<'a> {
    |      ^^^^^^^^^^^
@@ -16,20 +7,20 @@ 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:8: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 8:8...
+  --> $DIR/bounds-are-checked.rs:8: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
+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/type-alias-impl-trait/bounds-are-checked.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked.min_tait.stderr
index 9a451cb1083..ec15474bf84 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.min_tait.stderr
@@ -1,5 +1,5 @@
 warning: unnecessary lifetime parameter `'a`
-  --> $DIR/bounds-are-checked.rs:12:6
+  --> $DIR/bounds-are-checked.rs:11: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:8: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 8:8...
+  --> $DIR/bounds-are-checked.rs:8:8
    |
 LL | type X<'a> = impl Into<&'static str> + From<&'a str>;
    |        ^^
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 5e1faaa3b08..74c49a9c6c7 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
@@ -4,7 +4,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
 
 type X<'a> = impl Into<&'static str> + From<&'a str>;
 //~^ ERROR mismatched types
@@ -19,8 +18,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/coherence.full_tait.stderr b/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr
index 68de0c961ba..4d7335cd865 100644
--- a/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/coherence.full_tait.stderr
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/coherence.rs:16:6
    |
 LL | impl<T> foreign_crate::ForeignTrait for AliasOfForeignType<T> {}
    |      ^ unconstrained type parameter
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0207`.
diff --git a/src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr b/src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr
index 4da52369fdb..4d7335cd865 100644
--- a/src/test/ui/type-alias-impl-trait/coherence.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/coherence.min_tait.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:16:6
    |
 LL | impl<T> foreign_crate::ForeignTrait for AliasOfForeignType<T> {}
    |      ^ unconstrained type parameter
diff --git a/src/test/ui/type-alias-impl-trait/coherence.rs b/src/test/ui/type-alias-impl-trait/coherence.rs
index 51babb0e61b..998eadeb271 100644
--- a/src/test/ui/type-alias-impl-trait/coherence.rs
+++ b/src/test/ui/type-alias-impl-trait/coherence.rs
@@ -2,7 +2,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
 
 extern crate foreign_crate;
 
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
index 5fc79cf9561..83019772afc 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: could not find defining uses
-  --> $DIR/declared_but_never_defined.rs:9:12
+  --> $DIR/declared_but_never_defined.rs:8:12
    |
 LL | type Bar = impl std::fmt::Debug;
    |            ^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index b731e41b149..83019772afc 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.min_tait.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:8:12
    |
 LL | type Bar = impl std::fmt::Debug;
    |            ^^^^^^^^^^^^^^^^^^^^
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 ac92bea8c47..a62ae2aff70 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,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
 
 fn main() {}
 
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
index eeccc598f52..b3301a0ee4c 100644
--- 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
@@ -1,20 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: could not find defining uses
-  --> $DIR/declared_but_not_defined_in_scope.rs:10:20
+  --> $DIR/declared_but_not_defined_in_scope.rs:9: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:13:5
    |
 LL |     pub type Boo = impl ::std::fmt::Debug;
    |                    ---------------------- the expected opaque type
@@ -27,6 +18,6 @@ LL |     ""
    = note: expected opaque type `impl Debug`
                 found reference `&'static str`
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0308`.
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.min_tait.stderr
index 20057c3aa51..b3301a0ee4c 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.min_tait.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:9: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:13:5
    |
 LL |     pub type Boo = impl ::std::fmt::Debug;
    |                    ---------------------- the expected opaque type
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 2bbae98db44..0ada4a38da3 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,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
 
 fn main() {}
 
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
index 60fa141884d..23c5f9587cc 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/different_defining_uses.rs:15:1
+  --> $DIR/different_defining_uses.rs:14: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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 904ee58685c..23c5f9587cc 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.min_tait.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:14: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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
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 542de6b62e1..bb981959b22 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,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
 
 fn main() {}
 
@@ -12,6 +11,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_never_type.full_tait.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.full_tait.stderr
index 5c5ae7eadcb..7b7906f58ac 100644
--- 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
@@ -1,20 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:14: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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
@@ -26,10 +17,10 @@ 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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
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.min_tait.stderr
index 9cf2c583687..7b7906f58ac 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.min_tait.stderr
@@ -1,11 +1,11 @@
 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:14: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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
@@ -17,7 +17,7 @@ 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:10:1
    |
 LL | fn foo() -> Foo {
    | ^^^^^^^^^^^^^^^
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 72352a74a04..716c7383c61 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,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
 
 fn main() {}
 
@@ -12,10 +11,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_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 b69622b77bf..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 ac9884b3e45..8383f38ddbe 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
@@ -3,7 +3,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
 
 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 9641d756cb0..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 84fec75655f..204dc0496ed 100644
--- a/src/test/ui/type-alias-impl-trait/fallback.rs
+++ b/src/test/ui/type-alias-impl-trait/fallback.rs
@@ -5,7 +5,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
 
 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
index 972e5d94288..749530d8f32 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/generic_different_defining_uses.rs:14:1
+  --> $DIR/generic_different_defining_uses.rs:13:1
    |
 LL | fn my_iter2<T>(t: T) -> MyIter<T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `std::iter::Once<T>`, got `std::option::IntoIter<T>`
    |
 note: previous use here
-  --> $DIR/generic_different_defining_uses.rs:10:1
+  --> $DIR/generic_different_defining_uses.rs:9:1
    |
 LL | fn my_iter<T>(t: T) -> MyIter<T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 911683862c2..749530d8f32 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.min_tait.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:13:1
    |
 LL | fn my_iter2<T>(t: T) -> MyIter<T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `std::iter::Once<T>`, got `std::option::IntoIter<T>`
    |
 note: previous use here
-  --> $DIR/generic_different_defining_uses.rs:10:1
+  --> $DIR/generic_different_defining_uses.rs:9:1
    |
 LL | fn my_iter<T>(t: T) -> MyIter<T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 4eb603df583..adf4c1f8656 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,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
 
 fn main() {}
 
@@ -11,6 +10,7 @@ fn my_iter<T>(t: T) -> MyIter<T> {
     std::iter::once(t)
 }
 
-fn my_iter2<T>(t: T) -> MyIter<T> { //~ ERROR concrete type differs from previous
+fn my_iter2<T>(t: T) -> MyIter<T> {
+    //~^ ERROR concrete type differs from previous
     Some(t).into_iter()
 }
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
index ecf0e39ed6f..3dedb223309 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/generic_duplicate_lifetime_param.rs:10:26
+  --> $DIR/generic_duplicate_lifetime_param.rs:9: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:7:10
    |
 LL | type Two<'a, 'b> = impl std::fmt::Debug;
    |          ^^  ^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 1aad312056b..3dedb223309 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.min_tait.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:9: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:7:10
    |
 LL | type Two<'a, 'b> = impl std::fmt::Debug;
    |          ^^  ^^
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 d838d497238..f0b80db2a83 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,12 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
 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_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 ef7d4f1be4e..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 c7a7ded2127..afd2be26745 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
@@ -2,7 +2,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
 
 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
index 357d477c9f1..44bcdb7bf83 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/generic_duplicate_param_use2.rs:13:27
+  --> $DIR/generic_duplicate_param_use2.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use2.rs:11:10
+  --> $DIR/generic_duplicate_param_use2.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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_use2.min_tait.stderr
index 805ab67816f..44bcdb7bf83 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_use2.min_tait.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_use2.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use2.rs:11:10
+  --> $DIR/generic_duplicate_param_use2.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
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 ff516622823..9627689b15c 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,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
 
 use std::fmt::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
index b2004c8416c..0185afc76bc 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/generic_duplicate_param_use3.rs:13:27
+  --> $DIR/generic_duplicate_param_use3.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use3.rs:11:10
+  --> $DIR/generic_duplicate_param_use3.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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_use3.min_tait.stderr
index 43af9eca63e..0185afc76bc 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_use3.min_tait.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_use3.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use3.rs:11:10
+  --> $DIR/generic_duplicate_param_use3.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
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 f7d1cc1ad4e..04d00600c93 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,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
 
 use std::fmt::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
index f5db77a08d7..504116e87d2 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/generic_duplicate_param_use4.rs:13:27
+  --> $DIR/generic_duplicate_param_use4.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use4.rs:11:10
+  --> $DIR/generic_duplicate_param_use4.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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_use4.min_tait.stderr
index f8e2b510460..504116e87d2 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_use4.min_tait.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_use4.rs:12:27
    |
 LL | fn one<T: Debug>(t: T) -> Two<T, T> {
    |                           ^^^^^^^^^
    |
 note: type used multiple times
-  --> $DIR/generic_duplicate_param_use4.rs:11:10
+  --> $DIR/generic_duplicate_param_use4.rs:10:10
    |
 LL | type Two<T, U> = impl Debug;
    |          ^  ^
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 26583a6ce9b..0d2979626ac 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,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
 
 use std::fmt::Debug;
 
@@ -11,7 +10,7 @@ fn main() {}
 type Two<T, U> = impl Debug;
 
 fn one<T: Debug>(t: T) -> Two<T, T> {
-//~^ 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_use5.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr
index aab64e72b7b..7417112ca8a 100644
--- 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
@@ -1,26 +1,17 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/generic_duplicate_param_use5.rs:19:1
+  --> $DIR/generic_duplicate_param_use5.rs:18:1
    |
 LL | fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, U)`, got `(U, T)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use5.rs:15:1
+  --> $DIR/generic_duplicate_param_use5.rs:14:1
    |
 LL | fn two<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use5.rs:11:18
+  --> $DIR/generic_duplicate_param_use5.rs:10:18
    |
 LL | type Two<T, U> = impl Debug;
    |                  ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -32,7 +23,7 @@ LL | type Two<T: std::fmt::Debug, U> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `U` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use5.rs:11:18
+  --> $DIR/generic_duplicate_param_use5.rs:10:18
    |
 LL | type Two<T, U> = impl Debug;
    |                  ^^^^^^^^^^ `U` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -43,6 +34,6 @@ help: consider restricting type parameter `U`
 LL | type Two<T, U: std::fmt::Debug> = impl Debug;
    |              ^^^^^^^^^^^^^^^^^
 
-error: aborting due to 3 previous errors; 1 warning emitted
+error: aborting due to 3 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index 5c8c5b89779..7417112ca8a 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.min_tait.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:18:1
    |
 LL | fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, U)`, got `(U, T)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use5.rs:15:1
+  --> $DIR/generic_duplicate_param_use5.rs:14:1
    |
 LL | fn two<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use5.rs:11:18
+  --> $DIR/generic_duplicate_param_use5.rs:10:18
    |
 LL | type Two<T, U> = impl Debug;
    |                  ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -23,7 +23,7 @@ LL | type Two<T: std::fmt::Debug, U> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `U` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use5.rs:11:18
+  --> $DIR/generic_duplicate_param_use5.rs:10:18
    |
 LL | type Two<T, U> = 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_use5.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs
index af473e8245a..30ed7557c97 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,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
 
 use std::fmt::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
index a69e99bf8b0..abadba0522c 100644
--- 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
@@ -1,26 +1,17 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/generic_duplicate_param_use6.rs:18:1
+  --> $DIR/generic_duplicate_param_use6.rs:17:1
    |
 LL | fn three<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, T)`, got `(U, T)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use6.rs:14:1
+  --> $DIR/generic_duplicate_param_use6.rs:13:1
    |
 LL | fn two<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use6.rs:11:18
+  --> $DIR/generic_duplicate_param_use6.rs:10:18
    |
 LL | type Two<T, U> = impl Debug;
    |                  ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -31,6 +22,6 @@ help: consider restricting type parameter `T`
 LL | type Two<T: std::fmt::Debug, U> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index a377ef2d873..abadba0522c 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.min_tait.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:17:1
    |
 LL | fn three<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, T)`, got `(U, T)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use6.rs:14:1
+  --> $DIR/generic_duplicate_param_use6.rs:13:1
    |
 LL | fn two<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use6.rs:11:18
+  --> $DIR/generic_duplicate_param_use6.rs:10:18
    |
 LL | type Two<T, U> = 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_use6.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs
index 01afb2f4496..04644f1e18b 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,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
 
 use std::fmt::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 d80c8326ad6..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 184e3a5f926..df12882abad 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
@@ -2,7 +2,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
 
 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
index e73ac88500e..509ee95db30 100644
--- 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
@@ -1,26 +1,17 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/generic_duplicate_param_use8.rs:17:1
+  --> $DIR/generic_duplicate_param_use8.rs:16:1
    |
 LL | fn three<T: Debug, U: Debug>(_: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, u32)`, got `(U, u32)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use8.rs:13:1
+  --> $DIR/generic_duplicate_param_use8.rs:12:1
    |
 LL | fn two<T: Debug, U: Debug>(t: T, _: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use8.rs:10:18
+  --> $DIR/generic_duplicate_param_use8.rs:9:18
    |
 LL | type Two<T, U> = impl Debug;
    |                  ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -31,6 +22,6 @@ help: consider restricting type parameter `T`
 LL | type Two<T: std::fmt::Debug, U> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index d7edce7a491..509ee95db30 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.min_tait.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:16:1
    |
 LL | fn three<T: Debug, U: Debug>(_: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, u32)`, got `(U, u32)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use8.rs:13:1
+  --> $DIR/generic_duplicate_param_use8.rs:12:1
    |
 LL | fn two<T: Debug, U: Debug>(t: T, _: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: `T` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use8.rs:10:18
+  --> $DIR/generic_duplicate_param_use8.rs:9:18
    |
 LL | type Two<T, U> = 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_use8.rs b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs
index ecb8b2cedb4..283e0c1d660 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,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
 
 use std::fmt::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
index 0b3d72d67b2..3454dc44e01 100644
--- 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
@@ -1,26 +1,17 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/generic_duplicate_param_use9.rs:24:1
+  --> $DIR/generic_duplicate_param_use9.rs:23:1
    |
 LL | fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(A, B, <A as Foo>::Bar)`, got `(A, B, i32)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use9.rs:20:1
+  --> $DIR/generic_duplicate_param_use9.rs:19:1
    |
 LL | fn two<T: Debug + Foo, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: the trait bound `A: Foo` is not satisfied in `(A, B, <A as Foo>::Bar)`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ within `(A, B, <A as Foo>::Bar)`, the trait `Foo` is not implemented for `A`
@@ -32,7 +23,7 @@ LL | type Two<A: Foo, B> = impl Debug;
    |           ^^^^^
 
 error[E0277]: `A` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ `A` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -44,7 +35,7 @@ LL | type Two<A: std::fmt::Debug, B> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `B` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ `B` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -55,6 +46,6 @@ help: consider restricting type parameter `B`
 LL | type Two<A, B: std::fmt::Debug> = impl Debug;
    |              ^^^^^^^^^^^^^^^^^
 
-error: aborting due to 4 previous errors; 1 warning emitted
+error: aborting due to 4 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index fd1081d7b71..3454dc44e01 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.min_tait.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:23:1
    |
 LL | fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(A, B, <A as Foo>::Bar)`, got `(A, B, i32)`
    |
 note: previous use here
-  --> $DIR/generic_duplicate_param_use9.rs:20:1
+  --> $DIR/generic_duplicate_param_use9.rs:19:1
    |
 LL | fn two<T: Debug + Foo, U: Debug>(t: T, u: U) -> Two<T, U> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0277]: the trait bound `A: Foo` is not satisfied in `(A, B, <A as Foo>::Bar)`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ within `(A, B, <A as Foo>::Bar)`, the trait `Foo` is not implemented for `A`
@@ -23,7 +23,7 @@ LL | type Two<A: Foo, B> = impl Debug;
    |           ^^^^^
 
 error[E0277]: `A` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ `A` cannot be formatted using `{:?}` because it doesn't implement `Debug`
@@ -35,7 +35,7 @@ LL | type Two<A: std::fmt::Debug, B> = impl Debug;
    |           ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `B` doesn't implement `Debug`
-  --> $DIR/generic_duplicate_param_use9.rs:10:18
+  --> $DIR/generic_duplicate_param_use9.rs:9:18
    |
 LL | type Two<A, B> = impl Debug;
    |                  ^^^^^^^^^^ `B` cannot be formatted using `{:?}` because it doesn't implement `Debug`
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 5eced6cfa5a..4c3b0877d23 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,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
 
 use std::fmt::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 39817757f18..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 dbe7cfd1c81..7274f4f76f8 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
@@ -3,7 +3,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
 
 fn main() {}
 
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
index 819ef7b7712..aa8457cf158 100644
--- 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
@@ -1,20 +1,11 @@
 error: at least one trait must be specified
-  --> $DIR/generic_not_used.rs:8:33
+  --> $DIR/generic_not_used.rs:7:33
    |
 LL | type WrongGeneric<T: 'static> = 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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/generic_not_used.rs:10:73
    |
 LL |   fn wrong_generic<U: 'static, V: 'static>(_: U, v: V) -> WrongGeneric<U> {
    |  _________________________________________________________________________^
@@ -23,5 +14,5 @@ LL | |     v
 LL | | }
    | |_^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
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.min_tait.stderr
index fe7f5f6c71e..aa8457cf158 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.min_tait.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:7:33
    |
 LL | type WrongGeneric<T: 'static> = 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:10:73
    |
 LL |   fn wrong_generic<U: 'static, V: 'static>(_: U, v: V) -> WrongGeneric<U> {
    |  _________________________________________________________________________^
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 68f50b2151f..36fae028d4e 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,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
 
 fn main() {}
 
@@ -9,6 +8,6 @@ type WrongGeneric<T: 'static> = impl 'static;
 //~^ ERROR: at least one trait must be specified
 
 fn wrong_generic<U: 'static, V: 'static>(_: U, v: V) -> WrongGeneric<U> {
-//~^ 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_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
index 90a753b5a6d..f191797c09e 100644
--- 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
@@ -1,20 +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:11:24
    |
 LL | type WrongGeneric<T> = 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0308]: mismatched types
-  --> $DIR/generic_type_does_not_live_long_enough.rs:9:18
+  --> $DIR/generic_type_does_not_live_long_enough.rs:8:18
    |
 LL |     let z: i32 = x;
    |            ---   ^ expected `i32`, found opaque type
@@ -28,7 +19,7 @@ LL | type WrongGeneric<T> = 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:11:24
    |
 LL | type WrongGeneric<T> = impl 'static;
    |                        ^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds
@@ -36,7 +27,7 @@ LL | type WrongGeneric<T> = impl 'static;
 LL | fn wrong_generic<T>(t: T) -> WrongGeneric<T> {
    |                  - help: consider adding an explicit lifetime bound...: `T: 'static`
 
-error: aborting due to 3 previous errors; 1 warning emitted
+error: aborting due to 3 previous errors
 
 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.stderr b/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.min_tait.stderr
index e5028220107..f191797c09e 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.min_tait.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:11:24
    |
 LL | type WrongGeneric<T> = 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:8:18
    |
 LL |     let z: i32 = x;
    |            ---   ^ expected `i32`, found opaque type
@@ -19,7 +19,7 @@ LL | type WrongGeneric<T> = 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:11:24
    |
 LL | type WrongGeneric<T> = impl 'static;
    |                        ^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds
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 9f647d9e737..bd0fc8cbace 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,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
 
 fn main() {
     let y = 42;
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
index c4778a46fb0..be701b0ca90 100644
--- 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
@@ -1,20 +1,11 @@
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained.rs:9:35
+  --> $DIR/generic_underconstrained.rs:8:35
    |
 LL | type Underconstrained<T: Trait> = 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0277]: the trait bound `T: Trait` is not satisfied
-  --> $DIR/generic_underconstrained.rs:13:31
+  --> $DIR/generic_underconstrained.rs:12:31
    |
 LL | type Underconstrained<T: Trait> = impl 'static;
    |                          ----- required by this bound in `Underconstrained`
@@ -27,6 +18,6 @@ help: consider restricting type parameter `T`
 LL | fn underconstrain<T: Trait>(_: T) -> Underconstrained<T> {
    |                    ^^^^^^^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index 6c1d6debee8..be701b0ca90 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained.min_tait.stderr
@@ -1,11 +1,11 @@
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained.rs:9:35
+  --> $DIR/generic_underconstrained.rs:8:35
    |
 LL | type Underconstrained<T: Trait> = impl 'static;
    |                                   ^^^^^^^^^^^^
 
 error[E0277]: the trait bound `T: Trait` is not satisfied
-  --> $DIR/generic_underconstrained.rs:13:31
+  --> $DIR/generic_underconstrained.rs:12:31
    |
 LL | type Underconstrained<T: Trait> = impl 'static;
    |                          ----- required by this bound in `Underconstrained`
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 f4c4a1b72cb..5d723e5bc62 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,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
 
 fn main() {}
 
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
index 7ab73d24274..ab2d9482364 100644
--- 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
@@ -1,26 +1,17 @@
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained2.rs:8:45
+  --> $DIR/generic_underconstrained2.rs:7:45
    |
 LL | type Underconstrained<T: std::fmt::Debug> = impl 'static;
    |                                             ^^^^^^^^^^^^
 
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained2.rs:17:46
+  --> $DIR/generic_underconstrained2.rs:16:46
    |
 LL | type Underconstrained2<T: std::fmt::Debug> = 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0277]: `U` doesn't implement `Debug`
-  --> $DIR/generic_underconstrained2.rs:12:33
+  --> $DIR/generic_underconstrained2.rs:11:33
    |
 LL | type Underconstrained<T: std::fmt::Debug> = impl 'static;
    |                          --------------- required by this bound in `Underconstrained`
@@ -34,7 +25,7 @@ LL | fn underconstrained<U: std::fmt::Debug>(_: U) -> Underconstrained<U> {
    |                      ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `V` doesn't implement `Debug`
-  --> $DIR/generic_underconstrained2.rs:21:43
+  --> $DIR/generic_underconstrained2.rs:20:43
    |
 LL | type Underconstrained2<T: std::fmt::Debug> = impl 'static;
    |                           --------------- required by this bound in `Underconstrained2`
@@ -47,6 +38,6 @@ help: consider restricting type parameter `V`
 LL | fn underconstrained2<U, V: std::fmt::Debug>(_: U, _: V) -> Underconstrained2<V> {
    |                          ^^^^^^^^^^^^^^^^^
 
-error: aborting due to 4 previous errors; 1 warning emitted
+error: aborting due to 4 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
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.min_tait.stderr
index a4f5f4b8645..ab2d9482364 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr
@@ -1,17 +1,17 @@
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained2.rs:8:45
+  --> $DIR/generic_underconstrained2.rs:7:45
    |
 LL | type Underconstrained<T: std::fmt::Debug> = impl 'static;
    |                                             ^^^^^^^^^^^^
 
 error: at least one trait must be specified
-  --> $DIR/generic_underconstrained2.rs:17:46
+  --> $DIR/generic_underconstrained2.rs:16:46
    |
 LL | type Underconstrained2<T: std::fmt::Debug> = impl 'static;
    |                                              ^^^^^^^^^^^^
 
 error[E0277]: `U` doesn't implement `Debug`
-  --> $DIR/generic_underconstrained2.rs:12:33
+  --> $DIR/generic_underconstrained2.rs:11:33
    |
 LL | type Underconstrained<T: std::fmt::Debug> = impl 'static;
    |                          --------------- required by this bound in `Underconstrained`
@@ -25,7 +25,7 @@ LL | fn underconstrained<U: std::fmt::Debug>(_: U) -> Underconstrained<U> {
    |                      ^^^^^^^^^^^^^^^^^
 
 error[E0277]: `V` doesn't implement `Debug`
-  --> $DIR/generic_underconstrained2.rs:21:43
+  --> $DIR/generic_underconstrained2.rs:20:43
    |
 LL | type Underconstrained2<T: std::fmt::Debug> = impl 'static;
    |                           --------------- required by this bound in `Underconstrained2`
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 b3fb0748d2a..01cd1b9b972 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,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
 
 fn main() {}
 
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
index bdd88134290..679f2f73919 100644
--- 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
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/impl-with-unconstrained-param.rs:13:6
    |
 LL | impl<T> X for () {
    |      ^ unconstrained type parameter
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0207`.
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.min_tait.stderr
index eb59766b913..679f2f73919 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.min_tait.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:13:6
    |
 LL | impl<T> X for () {
    |      ^ unconstrained type parameter
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 1aefa2474ff..6759799b37d 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
@@ -4,7 +4,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
 
 trait X {
     type I;
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
index 6d1a59aafed..9435eaace37 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:12:1
    |
 LL | impl<F> FnOnce<()> for &F {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -18,7 +9,7 @@ LL | impl<F> FnOnce<()> for &F {
              where F: Fn<A>, F: ?Sized;
 
 error[E0210]: type parameter `F` must be used as the type parameter for some local type (e.g., `MyStruct<F>`)
-  --> $DIR/incoherent-assoc-imp-trait.rs:13:6
+  --> $DIR/incoherent-assoc-imp-trait.rs:12:6
    |
 LL | impl<F> FnOnce<()> for &F {
    |      ^ type parameter `F` must be used as the type parameter for some local type
@@ -26,7 +17,7 @@ LL | impl<F> FnOnce<()> for &F {
    = 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
+error: aborting due to 2 previous errors
 
 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.min_tait.stderr b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.min_tait.stderr
index 5c02b602d52..9435eaace37 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.min_tait.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:12:1
    |
 LL | impl<F> FnOnce<()> for &F {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -9,7 +9,7 @@ LL | impl<F> FnOnce<()> for &F {
              where F: Fn<A>, F: ?Sized;
 
 error[E0210]: type parameter `F` must be used as the type parameter for some local type (e.g., `MyStruct<F>`)
-  --> $DIR/incoherent-assoc-imp-trait.rs:13:6
+  --> $DIR/incoherent-assoc-imp-trait.rs:12:6
    |
 LL | impl<F> 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/incoherent-assoc-imp-trait.rs b/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs
index b52b9c18f08..f73169d7d08 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
@@ -4,7 +4,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(fn_traits)]
 
 trait MyTrait {}
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
index 4effd87120e..696f887a4d8 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: concrete type differs from previous defining opaque type use
-  --> $DIR/issue-52843-closure-constrain.rs:13:16
+  --> $DIR/issue-52843-closure-constrain.rs:12:16
    |
 LL |     let null = || -> Opaque { 0 };
    |                ^^^^^^^^^^^^^^^^^^ expected `String`, got `i32`
    |
 note: previous use here
-  --> $DIR/issue-52843-closure-constrain.rs:12:5
+  --> $DIR/issue-52843-closure-constrain.rs:11:5
    |
 LL |     fn _unused() -> Opaque { String::new() }
    |     ^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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
index c2cb4829fb7..68231d43f62 100644
--- 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
@@ -1,5 +1,5 @@
 error[E0658]: type alias impl trait is not permitted here
-  --> $DIR/issue-52843-closure-constrain.rs:13:22
+  --> $DIR/issue-52843-closure-constrain.rs:12:22
    |
 LL |     let null = || -> Opaque { 0 };
    |                      ^^^^^^
@@ -8,13 +8,13 @@ LL |     let null = || -> Opaque { 0 };
    = 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
+  --> $DIR/issue-52843-closure-constrain.rs:12:16
    |
 LL |     let null = || -> Opaque { 0 };
    |                ^^^^^^^^^^^^^^^^^^ expected `String`, got `[type error]`
    |
 note: previous use here
-  --> $DIR/issue-52843-closure-constrain.rs:12:5
+  --> $DIR/issue-52843-closure-constrain.rs:11:5
    |
 LL |     fn _unused() -> Opaque { String::new() }
    |     ^^^^^^^^^^^^^^^^^^^^^^
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 01f874155fa..c7deb2e4eac 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
@@ -3,7 +3,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
 
 use std::fmt::Debug;
 
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
index 35ac0993b29..abd18392636 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0277]: the trait bound `T: Default` is not satisfied
-  --> $DIR/issue-52843.rs:6:15
+  --> $DIR/issue-52843.rs:5:15
    |
 LL | type Foo<T> = impl Default;
    |               ^^^^^^^^^^^^ the trait `Default` is not implemented for `T`
@@ -18,6 +9,6 @@ help: consider restricting type parameter `T`
 LL | type Foo<T: std::default::Default> = impl Default;
    |           ^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr
index 9fb760f34c1..abd18392636 100644
--- a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.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:5:15
    |
 LL | type Foo<T> = impl Default;
    |               ^^^^^^^^^^^^ the trait `Default` is not implemented for `T`
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 14f9db6eae2..844bfa3b846 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,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
 
 type Foo<T> = impl Default;
 //~^ ERROR: the trait bound `T: Default` is not satisfied
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
index a8dd6a93d3d..fb70582c31a 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-53096.rs:14:1
+  --> $DIR/issue-53096.rs:13:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 4210d0c1cb1..fb70582c31a 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-53096.min_tait.stderr
@@ -1,5 +1,5 @@
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-53096.rs:14:1
+  --> $DIR/issue-53096.rs:13:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
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 7bb0066b7ef..249055bf26c 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53096.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-53096.rs
@@ -2,7 +2,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
 
 type Foo = impl Fn() -> usize;
 const fn bar() -> Foo {
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
index ee4b7eef0bd..7087aef6768 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/issue-53598.rs:22:42
    |
 LL |       fn foo<T: Debug>(_: T) -> Self::Item {
    |  __________________________________________^
@@ -17,5 +8,5 @@ LL | |         S::<T>(Default::default())
 LL | |     }
    | |_____^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 728721b6dbd..7087aef6768 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53598.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-53598.min_tait.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:22:42
    |
 LL |       fn foo<T: Debug>(_: T) -> Self::Item {
    |  __________________________________________^
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 38067a72223..1680d6e5839 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53598.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-53598.rs
@@ -2,7 +2,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
 
 use std::fmt::Debug;
 
@@ -21,7 +20,7 @@ impl Foo for S2 {
     type Item = impl Debug;
 
     fn foo<T: Debug>(_: 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::<T>(Default::default())
     }
 }
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
index b23fed5dadf..05b7173b80b 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:21:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index fabba218353..05b7173b80b 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.min_tait.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:21:1
    |
 LL | fn main() {}
    | ^^^^^^^^^
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 a8215c41826..9c50a3da95c 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
@@ -2,7 +2,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
 
 use std::ops::Generator;
 
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 98778210bfb..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 2c24e9d744a..fc32d455aaa 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
@@ -6,15 +6,12 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
-trait Future {
-}
+trait Future {}
 
 struct AndThen<F>(F);
 
-impl<F> Future for AndThen<F> {
-}
+impl<F> Future for AndThen<F> {}
 
 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 d31c232fc23..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 645a4c5696d..7207dda90dc 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
@@ -5,7 +5,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
 
 struct Baz<'a> {
     source: &'a str,
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
index 61e8da91bba..70b6f264860 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: implementation of `FnOnce` is not general enough
-  --> $DIR/issue-57611-trait-alias.rs:20:16
+  --> $DIR/issue-57611-trait-alias.rs:19:16
    |
 LL |     type Bar = impl Baz<Self, Self>;
    |                ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough
@@ -16,5 +7,5 @@ LL |     type Bar = impl Baz<Self, Self>;
    = 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
+error: aborting due to previous error
 
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.min_tait.stderr
index f65e91e52c7..70b6f264860 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.min_tait.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:19:16
    |
 LL |     type Bar = impl Baz<Self, Self>;
    |                ^^^^^^^^^^^^^^^^^^^^ 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 508ecdd88a4..fcc3555b231 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
@@ -6,7 +6,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
 
 trait Foo {
     type Bar: Baz<Self, Self>;
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
index 4336532cdbb..2d858626719 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: type parameter `impl Deref<Target = Self>` 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:18:58
    |
 LL |       fn foo(self: impl Deref<Target = Self>) -> Self::Bar {
    |  __________________________________________________________^
@@ -17,5 +8,5 @@ LL | |         self
 LL | |     }
    | |_____^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 47ab31cd797..2d858626719 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-57700.min_tait.stderr
@@ -1,5 +1,5 @@
 error: type parameter `impl Deref<Target = Self>` 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:18:58
    |
 LL |       fn foo(self: impl Deref<Target = Self>) -> Self::Bar {
    |  __________________________________________________________^
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 476a188cde6..19b3d1ce2c7 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57700.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-57700.rs
@@ -3,7 +3,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
 
 use std::ops::Deref;
 
@@ -17,7 +16,7 @@ impl<C> Foo for C {
     type Bar = impl Foo;
 
     fn foo(self: impl Deref<Target = Self>) -> Self::Bar {
-    //~^ Error type parameter `impl Deref<Target = Self>` is part of concrete type but not used in parameter list for the `impl Trait` type alias
+        //~^ Error type parameter `impl Deref<Target = Self>` 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-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 b35361c89a4..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 0a021149e70..9118648fe42 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
@@ -5,7 +5,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
 
 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 f0fd5f2f056..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 f0803a663de..0a09bd50a6e 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58887.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-58887.rs
@@ -3,7 +3,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
 
 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 164b8881714..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 3b1ea0d676b..932684ec089 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58951.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-58951.rs
@@ -3,11 +3,12 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
 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-60407.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-60407.full_tait.stderr
index 9d3f366ad81..adb07f5227b 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-60407.rs:11:1
+  --> $DIR/issue-60407.rs:10:1
    |
 LL | fn main() {
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 1a3ceafa3e2..adb07f5227b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-60407.min_tait.stderr
@@ -1,5 +1,5 @@
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-60407.rs:11:1
+  --> $DIR/issue-60407.rs:10:1
    |
 LL | fn main() {
    | ^^^^^^^^^
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 3c6b873b4ca..7319bcf4cd9 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,6 @@
 // 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
 
 type Debuggable = impl core::fmt::Debug;
 
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
index 72b6b0648f9..738718e770a 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/issue-60564.rs:22:34
+  --> $DIR/issue-60564.rs:21: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:10:25
    |
 LL | type IterBitsIter<T, E, I> = impl std::iter::Iterator<Item = I>;
    |                         ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 72668c8056f..738718e770a 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-60564.min_tait.stderr
@@ -1,11 +1,11 @@
 error: non-defining opaque type use in defining scope
-  --> $DIR/issue-60564.rs:22:34
+  --> $DIR/issue-60564.rs:21: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:10:25
    |
 LL | type IterBitsIter<T, E, I> = impl std::iter::Iterator<Item = I>;
    |                         ^
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 10fbbd2ef29..7f780a253c9 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,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
 
 trait IterBits {
     type BitsIter: Iterator<Item = u8>;
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 1fc38d2f549..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 4d9ca47b947..38370cd008f 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
@@ -5,7 +5,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
 
 trait MyTrait {
     type AssocType: Send;
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 3b8f6afcb00..634ec0f515f 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
@@ -5,7 +5,6 @@
 // check-pass
 
 #![feature(min_type_alias_impl_trait, type_alias_impl_trait)]
-//~^ WARN incomplete
 
 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 e1f4ecd3b98..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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
index 53a0016c08e..409cca865d1 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/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
+error[E0271]: type mismatch resolving `<[closure@$DIR/issue-63279.rs:10:5: 10:28] as FnOnce<()>>::Output == ()`
+  --> $DIR/issue-63279.rs:7:16
    |
 LL | type Closure = impl FnOnce();
    |                ^^^^^^^^^^^^^ expected `()`, found opaque type
@@ -16,6 +7,6 @@ LL | type Closure = impl FnOnce();
    = note: expected unit type `()`
             found opaque type `impl FnOnce<()>`
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0271`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-63279.min_tait.stderr
index be386ab90ea..a93d2dfcee5 100644
--- 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
@@ -1,5 +1,5 @@
 error[E0658]: type alias impl trait is not permitted here
-  --> $DIR/issue-63279.rs:11:11
+  --> $DIR/issue-63279.rs:10:11
    |
 LL |     || -> Closure { || () }
    |           ^^^^^^^
@@ -7,8 +7,8 @@ LL |     || -> Closure { || () }
    = note: see issue #63063 <https://github.com/rust-lang/rust/issues/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
+error[E0271]: type mismatch resolving `<[closure@$DIR/issue-63279.rs:10:5: 10:28] as FnOnce<()>>::Output == ()`
+  --> $DIR/issue-63279.rs:7:16
    |
 LL | type Closure = impl FnOnce();
    |                ^^^^^^^^^^^^^ expected `()`, found opaque type
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 086715626bc..4c9c26a343c 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63279.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-63279.rs
@@ -3,7 +3,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
 
 type Closure = impl FnOnce(); //~ ERROR: type mismatch resolving
 
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 fc8d8147167..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 62d11ad38d6..b477fea41b7 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
@@ -5,7 +5,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
 
 pub trait Trait {}
 pub struct S1<T>(T);
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
index ee26789d204..6b4ea787ea8 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: fatal error triggered by #[rustc_error]
-  --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:18:1
+  --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:17:1
    |
 LL | fn main() {
    | ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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
index 5b6c4b5cda1..6798ecb9489 100644
--- 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
@@ -1,5 +1,5 @@
 error[E0658]: type alias impl trait is not permitted here
-  --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:20:13
+  --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:19:13
    |
 LL |     take(|| {});
    |             ^
@@ -8,7 +8,7 @@ LL |     take(|| {});
    = 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
+  --> $DIR/issue-65679-inst-opaque-ty-from-val-twice.rs:21:13
    |
 LL |     take(|| {});
    |             ^
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 d37be640e0b..f181b3d06a6 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
@@ -3,7 +3,6 @@
 // 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
 
 type T = impl Sized;
 // The concrete type referred by impl-trait-type-alias(`T`) is guaranteed
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 ab05e4b1cbe..b15bff57a0d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-65918.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-65918.rs
@@ -5,7 +5,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
 
 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 2fc46574512..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 7b3ddc78868..7fdaa7fb99b 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
@@ -5,7 +5,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
 
 type Closure = impl FnOnce();
 
@@ -13,7 +12,9 @@ fn closure() -> Closure {
     || {}
 }
 
-struct Wrap<T> { f: T }
+struct Wrap<T> {
+    f: T,
+}
 
 impl Wrap<Closure> {}
 
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 81e27da0949..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 b9e29a01cdd..f47f0cdba88 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
@@ -6,9 +6,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
 
-trait WithAssoc { type AssocType; }
+trait WithAssoc {
+    type AssocType;
+}
 
 trait WithParam<A> {}
 
@@ -23,7 +24,6 @@ impl WithAssoc for MyStruct {
     type AssocType = MyParam;
 }
 
-
 fn my_fun<A>() -> Return<A> {
     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
index 8b1ad19ac0c..db3b89bc699 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:10: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:9:16
    |
 LL | type Alias<'a, U> = impl Trait<U>;
    |                ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 01ae457851f..db3b89bc699 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.min_tait.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:10: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:9:16
    |
 LL | type Alias<'a, U> = impl Trait<U>;
    |                ^
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 92465076733..b31c79b8b2b 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
@@ -5,7 +5,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
 trait Trait<T> {}
 type Alias<'a, U> = impl Trait<U>;
 fn f<'a>() -> Alias<'a, ()> {}
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
index 7f120af2408..150bfbaef59 100644
--- 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
@@ -1,20 +1,11 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:19:65
    |
 LL | type Return<A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
    |             -                                                   ^^ undeclared lifetime
    |             |
    |             help: consider introducing lifetime `'a` here: `'a,`
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0261`.
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.min_tait.stderr
index e1fc94c3472..150bfbaef59 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.min_tait.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:19:65
    |
 LL | type Return<A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
    |             -                                                   ^^ undeclared lifetime
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 61161d44e51..ae89cdd1c08 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
@@ -3,7 +3,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
 
 trait SomeTrait {}
 
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 61e2e20dfd0..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 01df967a4a5..05d50f0f1bf 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
@@ -5,7 +5,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
 
 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 71cc6f61c37..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 824558c1b34..9c4b4433f9f 100644
--- a/src/test/ui/type-alias-impl-trait/issue-69323.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-69323.rs
@@ -3,7 +3,6 @@
 // revisions: min full
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full, feature(type_alias_impl_trait))]
-//[full]~^ WARN incomplete
 
 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 9fe2e2cf88e..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 150eca46975..1eb33c805bb 100644
--- a/src/test/ui/type-alias-impl-trait/issue-70121.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-70121.rs
@@ -3,7 +3,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
 
 pub type Successors<'a> = impl Iterator<Item = &'a ()>;
 
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
index e7729e47c36..83c37001a45 100644
--- 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
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/issue-74244.rs:11:6
    |
 LL | impl<T> Allocator for DefaultAllocator {
    |      ^ unconstrained type parameter
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0207`.
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.min_tait.stderr
index 6ee8c58826d..83c37001a45 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74244.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-74244.min_tait.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:11:6
    |
 LL | impl<T> Allocator for DefaultAllocator {
    |      ^ unconstrained type parameter
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 890eb23ef95..d9845a9b62c 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,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
 
 trait Allocator {
     type Buffer;
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 4b0f2afee54..8e7ff45a72d 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;
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 4506a6e23d5..505e6436f5b 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,5 +1,5 @@
 error[E0658]: `impl Trait` in type aliases is unstable
-  --> $DIR/issue-74761-2.rs:12:14
+  --> $DIR/issue-74761-2.rs:11:14
    |
 LL |     type B = impl core::fmt::Debug;
    |              ^^^^^^^^^^^^^^^^^^^^^
@@ -7,28 +7,19 @@ LL |     type B = impl core::fmt::Debug;
    = note: see issue #63063 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 3 previous errors
 
 Some errors have detailed explanations: E0207, E0658.
 For more information about an 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
index 05b63a00dfb..112fc2ec719 100644
--- 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
@@ -1,24 +1,15 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/issue-74761.rs:9: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:9:10
    |
 LL | impl<'a, 'b> A for () {
    |          ^^ unconstrained lifetime parameter
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0207`.
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.min_tait.stderr
index ad111e23b15..112fc2ec719 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74761.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/issue-74761.min_tait.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:9: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:9:10
    |
 LL | impl<'a, 'b> A for () {
    |          ^^ unconstrained lifetime parameter
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 bbc67ecc97a..4f0db7aedc7 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,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
 
 pub trait A {
     type B;
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
index 8fb4a3b6625..fb063800bdb 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:18: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:11:10
    |
 LL | type F = impl Dummy;
    |          ^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 3754553772c..fb063800bdb 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.min_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:18: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:11:10
    |
 LL | type F = impl Dummy;
    |          ^^^^^^^^^^
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 276c770fe48..527fbd4bb2f 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
@@ -4,7 +4,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
 
 trait Dummy {}
 impl Dummy for () {}
@@ -16,7 +15,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-78450.rs b/src/test/ui/type-alias-impl-trait/issue-78450.rs
index 640f929f8f1..bcc16a5b2ab 100644
--- a/src/test/ui/type-alias-impl-trait/issue-78450.rs
+++ b/src/test/ui/type-alias-impl-trait/issue-78450.rs
@@ -2,7 +2,6 @@
 
 #![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 efccf6241fb..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
-warning: 1 warning emitted
-
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 5e4307be17a..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 f03563dfed6..3c059fcf7d4 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,20 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 // 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
index 45c95469e95..725958358a1 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0308]: mismatched types
-  --> $DIR/never_reveal_concrete_type.rs:16:27
+  --> $DIR/never_reveal_concrete_type.rs:15:27
    |
 LL | type NoReveal = impl std::fmt::Debug;
    |                 -------------------- the found opaque type
@@ -22,12 +13,12 @@ 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:16: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
+error: aborting due to 2 previous errors
 
 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.min_tait.stderr b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.min_tait.stderr
index 530f8876cf2..725958358a1 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.min_tait.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/never_reveal_concrete_type.rs:16:27
+  --> $DIR/never_reveal_concrete_type.rs:15: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:16: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/never_reveal_concrete_type.rs b/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs
index c555b9cdded..1672c49c604 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,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
 
 fn main() {}
 
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
index faddecb2176..917830c6a09 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: could not find defining uses
-  --> $DIR/no_inferrable_concrete_type.rs:9:12
+  --> $DIR/no_inferrable_concrete_type.rs:8:12
    |
 LL | type Foo = impl Copy;
    |            ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 3194bd76107..917830c6a09 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.min_tait.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:8:12
    |
 LL | type Foo = impl Copy;
    |            ^^^^^^^^^
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 409eec7250f..520954b50ab 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
@@ -4,7 +4,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
 
 type Foo = impl Copy; //~ could not find defining uses
 
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
index 8699b21929f..0f0141dcb99 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0308]: mismatched types
-  --> $DIR/no_revealing_outside_defining_module.rs:18:19
+  --> $DIR/no_revealing_outside_defining_module.rs:17:19
    |
 LL |     pub type Boo = impl ::std::fmt::Debug;
    |                    ---------------------- the found opaque type
@@ -22,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:21:5
    |
 LL |     pub type Boo = impl ::std::fmt::Debug;
    |                    ---------------------- the expected opaque type
@@ -35,6 +26,6 @@ LL |     ""
    = note: expected opaque type `impl Debug`
                 found reference `&'static str`
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0308`.
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.min_tait.stderr
index faaab439352..0f0141dcb99 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.min_tait.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:17: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:21:5
    |
 LL |     pub type Boo = impl ::std::fmt::Debug;
    |                    ---------------------- the expected opaque type
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 566c311b9bd..5ab793c0119 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,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
 
 fn main() {}
 
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
index 76e3500e8a9..d7f8d04ff80 100644
--- 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
@@ -1,23 +1,14 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: non-defining opaque type use in defining scope
-  --> $DIR/not_a_defining_use.rs:12:27
+  --> $DIR/not_a_defining_use.rs:11:27
    |
 LL | fn two<T: Debug>(t: T) -> Two<T, u32> {
    |                           ^^^^^^^^^^^
    |
 note: used non-generic type `u32` for generic parameter
-  --> $DIR/not_a_defining_use.rs:10:13
+  --> $DIR/not_a_defining_use.rs:9:13
    |
 LL | type Two<T, U> = impl Debug;
    |             ^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index f5dbfecc742..d7f8d04ff80 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.min_tait.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:11:27
    |
 LL | fn two<T: Debug>(t: T) -> Two<T, u32> {
    |                           ^^^^^^^^^^^
    |
 note: used non-generic type `u32` for generic parameter
-  --> $DIR/not_a_defining_use.rs:10:13
+  --> $DIR/not_a_defining_use.rs:9:13
    |
 LL | type Two<T, U> = impl Debug;
    |             ^
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 e58f33fcff4..57ccb58acc9 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,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
 
 use std::fmt::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
index 38f086ec45d..59f07482ddb 100644
--- 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
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0220]: associated type `Assoc` not found for `V`
-  --> $DIR/not_well_formed.rs:13:29
+  --> $DIR/not_well_formed.rs:11:29
    |
 LL | type Foo<V> = impl Trait<V::Assoc>;
    |                             ^^^^^ associated type `Assoc` not found
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0220`.
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.min_tait.stderr
index 3bac38cef7d..59f07482ddb 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.min_tait.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:11:29
    |
 LL | type Foo<V> = impl Trait<V::Assoc>;
    |                             ^^^^^ associated type `Assoc` not found
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 6d511c58188..c3e9895524e 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,8 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
-fn main() {
-}
+fn main() {}
 
 trait TraitWithAssoc {
     type Assoc;
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
index d5a4fa52dfb..ce0827d94f9 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: `impl Send` cannot be used in patterns
-  --> $DIR/structural-match-no-leak.rs:18:9
+  --> $DIR/structural-match-no-leak.rs:17:9
    |
 LL |         LEAK_FREE => (),
    |         ^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index b7caf8ed298..ce0827d94f9 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.min_tait.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:17:9
    |
 LL |         LEAK_FREE => (),
    |         ^^^^^^^^^
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 e2b10e7355f..7a067c6f2d7 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
@@ -2,7 +2,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
 
 type Bar = impl Send;
 
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
index d394c99df80..cb2cf59774b 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error: `impl Send` cannot be used in patterns
-  --> $DIR/structural-match.rs:19:9
+  --> $DIR/structural-match.rs:18:9
    |
 LL |         VALUE => (),
    |         ^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index f63b1fb23df..cb2cf59774b 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr
+++ b/src/test/ui/type-alias-impl-trait/structural-match.min_tait.stderr
@@ -1,5 +1,5 @@
 error: `impl Send` cannot be used in patterns
-  --> $DIR/structural-match.rs:19:9
+  --> $DIR/structural-match.rs:18:9
    |
 LL |         VALUE => (),
    |         ^^^^^
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 aed9334b3cc..c30cd5f5958 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match.rs
+++ b/src/test/ui/type-alias-impl-trait/structural-match.rs
@@ -2,7 +2,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
 
 type Foo = impl Send;
 
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
index 6f817757cc4..2a40ccc074b 100644
--- 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
@@ -1,14 +1,5 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 error[E0308]: mismatched types
-  --> $DIR/type-alias-impl-trait-const.rs:13:19
+  --> $DIR/type-alias-impl-trait-const.rs:12:19
    |
 LL | pub type Foo = impl Debug;
    |                ---------- the expected opaque type
@@ -20,11 +11,11 @@ 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:9:16
    |
 LL | pub type Foo = impl Debug;
    |                ^^^^^^^^^^
 
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0308`.
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.min_tait.stderr
index ce98318333b..2a40ccc074b 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.min_tait.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:12: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:9:16
    |
 LL | pub type Foo = impl Debug;
    |                ^^^^^^^^^^
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 751512c5dfc..4432807916e 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,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
 
 // Ensures that `const` items can constrain an opaque `impl Trait`.
 
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 fb88c2043bd..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 a6b00220084..e3debedbde3 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
@@ -3,7 +3,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
 
 // Regression test for issue #61863
 
@@ -11,20 +10,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 cbecd0bb3d4..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 b062739921f..b0f6a5a2db3 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
@@ -3,18 +3,25 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
 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 1a351867bff..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 ad2c11d4f99..5f228ec03f7 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
@@ -3,7 +3,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
 #![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
index b16d9c2c143..c4bd4deaa06 100644
--- 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
@@ -1,18 +1,9 @@
-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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/type-alias-impl-trait-unconstrained-lifetime.rs:12:6
    |
 LL | impl<'a, I: Iterator<Item = i32>> Trait for (i32, I) {
    |      ^^ unconstrained lifetime parameter
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
 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.min_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.min_tait.stderr
index 7d4abb0fafb..c4bd4deaa06 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.min_tait.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:12:6
    |
 LL | impl<'a, I: Iterator<Item = i32>> Trait for (i32, I) {
    |      ^^ unconstrained lifetime parameter
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 97294e81dca..63bbbaa707c 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
@@ -3,7 +3,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
 
 trait Trait {
     type Associated;
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
index e3fd076fc49..f1b9f23f066 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:5:12
    |
 LL | type Foo = impl Fn() -> Foo;
    |            ^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 556779574e4..f1b9f23f066 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.min_tait.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:5:12
    |
 LL | type Foo = impl Fn() -> Foo;
    |            ^^^^^^^^^^^^^^^^
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 dba0d2c2cdf..2b3694d5010 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,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
 
 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-error2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.full_tait.stderr
index eccf08b4a12..2df29d72c1e 100644
--- 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
@@ -1,17 +1,8 @@
-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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
 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:9:12
    |
 LL | type Foo = impl Bar<Foo, Item = Foo>;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to previous error; 1 warning emitted
+error: aborting due to previous error
 
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.min_tait.stderr
index 44d279cad17..2df29d72c1e 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.min_tait.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:9:12
    |
 LL | type Foo = impl Bar<Foo, Item = Foo>;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
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 f2044037125..2d7e2139707 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,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
 
 pub trait Bar<T> {
     type Item;
@@ -14,6 +13,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-no-traits.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.full_tait.stderr
index 6ada4b2fdff..4c32549ce30 100644
--- 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
@@ -1,23 +1,14 @@
 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:5: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:12: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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/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.min_tait.stderr
index 5fd8aac5507..4c32549ce30 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.min_tait.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:5: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:12:13
    |
 LL | fn bar() -> impl 'static {
    |             ^^^^^^^^^^^^
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 7efc7900588..469f3875a8d 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,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
 
 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.full_tait.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.full_tait.stderr
deleted file mode 100644
index 8c0f7758dae..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 6176595534a..934acb0d9af 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
@@ -6,7 +6,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
 
 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 ed4fe41da3e..00000000000
--- 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 <https://github.com/rust-lang/rust/issues/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 3023bf06562..8bdac325cd7 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
@@ -3,7 +3,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
 
 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
index b70f36b67ab..995a6dfbf87 100644
--- 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
@@ -1,23 +1,14 @@
 error: at least one trait must be specified
-  --> $DIR/unused_generic_param.rs:9:28
+  --> $DIR/unused_generic_param.rs:7:28
    |
 LL | type PartiallyDefined<T> = impl 'static;
    |                            ^^^^^^^^^^^^
 
 error: at least one trait must be specified
-  --> $DIR/unused_generic_param.rs:16:29
+  --> $DIR/unused_generic_param.rs:14:29
    |
 LL | type PartiallyDefined2<T> = 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 <https://github.com/rust-lang/rust/issues/63063> for more information
-
-error: aborting due to 2 previous errors; 1 warning emitted
+error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr b/src/test/ui/type-alias-impl-trait/unused_generic_param.min_tait.stderr
index 561025c88f8..995a6dfbf87 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.min_tait.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:7:28
    |
 LL | type PartiallyDefined<T> = impl 'static;
    |                            ^^^^^^^^^^^^
 
 error: at least one trait must be specified
-  --> $DIR/unused_generic_param.rs:16:29
+  --> $DIR/unused_generic_param.rs:14:29
    |
 LL | type PartiallyDefined2<T> = impl 'static;
    |                             ^^^^^^^^^^^^
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 59c7646ade2..8c946238362 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,8 @@
 // revisions: min_tait full_tait
 #![feature(min_type_alias_impl_trait)]
 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
-//[full_tait]~^ WARN incomplete
 
-fn main() {
-}
+fn main() {}
 
 type PartiallyDefined<T> = impl 'static;
 //~^ ERROR: at least one trait must be specified
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
index b6aea9586b8..3427dc0e622 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item.full_tait.stderr
+++ b/src/test/ui/typeck/typeck_type_placeholder_item.full_tait.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:156: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:159: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:169: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:169: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:174: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:207:5
    |
 LL |     const C: _;
    |     ^^^^^^^^^^-
@@ -37,24 +37,15 @@ LL |     const C: _;
    |               help: provide a definition for the constant: `= <expr>;`
 
 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:169: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 <https://github.com/rust-lang/rust/issues/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
+  --> $DIR/typeck_type_placeholder_item.rs:9:14
    |
 LL | fn test() -> _ { 5 }
    |              ^
@@ -63,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:12:16
    |
 LL | fn test2() -> (_, _) { (5, 5) }
    |               -^--^-
@@ -73,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:15:15
    |
 LL | static TEST3: _ = "test";
    |               ^
@@ -82,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:18:15
    |
 LL | static TEST4: _ = 145;
    |               ^
@@ -91,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:21: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:24:13
    |
 LL | fn test6(_: _) { }
    |             ^ not allowed in type signatures
@@ -108,7 +99,7 @@ LL | fn test6<T>(_: 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:27:18
    |
 LL | fn test6_b<T>(_: _, _: T) { }
    |                  ^ not allowed in type signatures
@@ -119,7 +110,7 @@ LL | fn test6_b<T, U>(_: 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:30:30
    |
 LL | fn test6_c<T, K, L, A, B>(_: _, _: (T, K, L, A, B)) { }
    |                              ^ not allowed in type signatures
@@ -130,7 +121,7 @@ LL | fn test6_c<T, K, L, A, B, U>(_: 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:33:13
    |
 LL | fn test7(x: _) { let _x: usize = x; }
    |             ^ not allowed in type signatures
@@ -141,7 +132,7 @@ LL | fn test7<T>(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:36:22
    |
 LL | fn test8(_f: fn() -> _) { }
    |                      ^
@@ -150,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:36:22
    |
 LL | fn test8(_f: fn() -> _) { }
    |                      ^ not allowed in type signatures
@@ -161,7 +152,7 @@ LL | fn test8<T>(_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:50:26
    |
 LL | fn test11(x: &usize) -> &_ {
    |                         -^
@@ -170,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:55:52
    |
 LL | unsafe fn test12(x: *const usize) -> *const *const _ {
    |                                      --------------^
@@ -179,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:69:8
    |
 LL |     a: _,
    |        ^ not allowed in type signatures
@@ -198,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:75: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:77:15
    |
 LL |     static B: _ = 42;
    |               ^
@@ -213,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:79: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:81:21
    |
 LL |     fn fn_test() -> _ { 5 }
    |                     ^
@@ -228,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:84:23
    |
 LL |     fn fn_test2() -> (_, _) { (5, 5) }
    |                      -^--^-
@@ -238,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:87:22
    |
 LL |     static FN_TEST3: _ = "test";
    |                      ^
@@ -247,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:90:22
    |
 LL |     static FN_TEST4: _ = 145;
    |                      ^
@@ -256,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:93: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:96:20
    |
 LL |     fn fn_test6(_: _) { }
    |                    ^ not allowed in type signatures
@@ -273,7 +264,7 @@ LL |     fn fn_test6<T>(_: 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:99:20
    |
 LL |     fn fn_test7(x: _) { let _x: usize = x; }
    |                    ^ not allowed in type signatures
@@ -284,7 +275,7 @@ LL |     fn fn_test7<T>(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:102:29
    |
 LL |     fn fn_test8(_f: fn() -> _) { }
    |                             ^
@@ -293,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:102:29
    |
 LL |     fn fn_test8(_f: fn() -> _) { }
    |                             ^ not allowed in type signatures
@@ -304,7 +295,7 @@ LL |     fn fn_test8<T>(_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:125:12
    |
 LL |         a: _,
    |            ^ not allowed in type signatures
@@ -323,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:130: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:130:28
    |
 LL |     fn fn_test11(_: _) -> (_, _) { panic!() }
    |                            ^  ^ not allowed in type signatures
@@ -337,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:134:30
    |
 LL |     fn fn_test12(x: i32) -> (_, _) { (x, x) }
    |                             -^--^-
@@ -347,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:137:33
    |
 LL |     fn fn_test13(x: _) -> (i32, _) { (x, x) }
    |                           ------^-
@@ -356,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:156:21
    |
 LL | struct BadStruct<_>(_);
    |                     ^ not allowed in type signatures
@@ -367,7 +358,7 @@ LL | struct BadStruct<T>(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:161:15
    |
 LL | impl BadTrait<_> for BadStruct<_> {}
    |               ^                ^ not allowed in type signatures
@@ -380,13 +371,13 @@ LL | impl<T> BadTrait<T> for BadStruct<T> {}
    |     ^^^          ^                ^
 
 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:164: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:169:25
    |
 LL | struct BadStruct1<_, _>(_);
    |                         ^ not allowed in type signatures
@@ -397,7 +388,7 @@ LL | struct BadStruct1<T, _>(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:174:25
    |
 LL | struct BadStruct2<_, T>(_, T);
    |                         ^ not allowed in type signatures
@@ -408,19 +399,19 @@ LL | struct BadStruct2<U, T>(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:178: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:184: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:218:31
    |
 LL | fn value() -> Option<&'static _> {
    |               ----------------^-
@@ -429,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:223:10
    |
 LL | const _: Option<_> = map(value);
    |          ^^^^^^^^^
@@ -438,7 +429,7 @@ LL | const _: Option<_> = map(value);
    |          help: replace with the correct type: `Option<u8>`
 
 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:142:31
    |
 LL |     fn method_test1(&self, x: _);
    |                               ^ not allowed in type signatures
@@ -449,7 +440,7 @@ LL |     fn method_test1<T>(&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:144:31
    |
 LL |     fn method_test2(&self, x: _) -> _;
    |                               ^     ^ not allowed in type signatures
@@ -462,7 +453,7 @@ LL |     fn method_test2<T>(&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:146:31
    |
 LL |     fn method_test3(&self) -> _;
    |                               ^ not allowed in type signatures
@@ -473,7 +464,7 @@ LL |     fn method_test3<T>(&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:148:26
    |
 LL |     fn assoc_fn_test1(x: _);
    |                          ^ not allowed in type signatures
@@ -484,7 +475,7 @@ LL |     fn assoc_fn_test1<T>(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:150:26
    |
 LL |     fn assoc_fn_test2(x: _) -> _;
    |                          ^     ^ not allowed in type signatures
@@ -497,7 +488,7 @@ LL |     fn assoc_fn_test2<T>(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:152:28
    |
 LL |     fn assoc_fn_test3() -> _;
    |                            ^ not allowed in type signatures
@@ -508,19 +499,19 @@ LL |     fn assoc_fn_test3<T>() -> 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:192: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:194: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:196:14
    |
 LL |     const D: _ = 42;
    |              ^
@@ -529,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:199: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:43:24
    |
 LL |     fn test9(&self) -> _ { () }
    |                        ^
@@ -544,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:46:27
    |
 LL |     fn test10(&self, _x : _) { }
    |                           ^ not allowed in type signatures
@@ -555,7 +546,7 @@ LL |     fn test10<T>(&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:61:24
    |
 LL |     fn clone(&self) -> _ { Test9 }
    |                        ^
@@ -564,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:64:37
    |
 LL |     fn clone_from(&mut self, other: _) { *self = Test9; }
    |                                     ^ not allowed in type signatures
@@ -575,7 +566,7 @@ LL |     fn clone_from<T>(&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:109:31
    |
 LL |         fn fn_test9(&self) -> _ { () }
    |                               ^
@@ -584,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:112:34
    |
 LL |         fn fn_test10(&self, _x : _) { }
    |                                  ^ not allowed in type signatures
@@ -595,7 +586,7 @@ LL |         fn fn_test10<T>(&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:117:28
    |
 LL |         fn clone(&self) -> _ { FnTest9 }
    |                            ^
@@ -604,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:120:41
    |
 LL |         fn clone_from(&mut self, other: _) { *self = FnTest9; }
    |                                         ^ not allowed in type signatures
@@ -615,25 +606,25 @@ LL |         fn clone_from<T>(&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:203: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:205: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:207: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:210:14
    |
 LL |     const D: _ = 42;
    |              ^
@@ -641,7 +632,7 @@ 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
+error: aborting due to 69 previous errors
 
 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.min_tait.stderr b/src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr
index 88cc3bfc7f8..3427dc0e622 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item.min_tait.stderr
+++ b/src/test/ui/typeck/typeck_type_placeholder_item.min_tait.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:156: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:159: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:169: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:169: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:174: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:207:5
    |
 LL |     const C: _;
    |     ^^^^^^^^^^-
@@ -37,7 +37,7 @@ LL |     const C: _;
    |               help: provide a definition for the constant: `= <expr>;`
 
 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:169: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:9: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:12: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:15: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:18: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:21: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:24:13
    |
 LL | fn test6(_: _) { }
    |             ^ not allowed in type signatures
@@ -99,7 +99,7 @@ LL | fn test6<T>(_: 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:27:18
    |
 LL | fn test6_b<T>(_: _, _: T) { }
    |                  ^ not allowed in type signatures
@@ -110,7 +110,7 @@ LL | fn test6_b<T, U>(_: 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:30:30
    |
 LL | fn test6_c<T, K, L, A, B>(_: _, _: (T, K, L, A, B)) { }
    |                              ^ not allowed in type signatures
@@ -121,7 +121,7 @@ LL | fn test6_c<T, K, L, A, B, U>(_: 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:33:13
    |
 LL | fn test7(x: _) { let _x: usize = x; }
    |             ^ not allowed in type signatures
@@ -132,7 +132,7 @@ LL | fn test7<T>(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:36: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:36:22
    |
 LL | fn test8(_f: fn() -> _) { }
    |                      ^ not allowed in type signatures
@@ -152,7 +152,7 @@ LL | fn test8<T>(_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:50: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:55: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:69: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:75: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:77: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:79: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:81: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:84: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:87: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:90: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:93: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:96:20
    |
 LL |     fn fn_test6(_: _) { }
    |                    ^ not allowed in type signatures
@@ -264,7 +264,7 @@ LL |     fn fn_test6<T>(_: 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:99:20
    |
 LL |     fn fn_test7(x: _) { let _x: usize = x; }
    |                    ^ not allowed in type signatures
@@ -275,7 +275,7 @@ LL |     fn fn_test7<T>(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:102: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:102:29
    |
 LL |     fn fn_test8(_f: fn() -> _) { }
    |                             ^ not allowed in type signatures
@@ -295,7 +295,7 @@ LL |     fn fn_test8<T>(_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:125: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:130: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:130: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:134: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:137: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:156:21
    |
 LL | struct BadStruct<_>(_);
    |                     ^ not allowed in type signatures
@@ -358,7 +358,7 @@ LL | struct BadStruct<T>(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:161:15
    |
 LL | impl BadTrait<_> for BadStruct<_> {}
    |               ^                ^ not allowed in type signatures
@@ -371,13 +371,13 @@ LL | impl<T> BadTrait<T> for BadStruct<T> {}
    |     ^^^          ^                ^
 
 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:164: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:169:25
    |
 LL | struct BadStruct1<_, _>(_);
    |                         ^ not allowed in type signatures
@@ -388,7 +388,7 @@ LL | struct BadStruct1<T, _>(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:174:25
    |
 LL | struct BadStruct2<_, T>(_, T);
    |                         ^ not allowed in type signatures
@@ -399,19 +399,19 @@ LL | struct BadStruct2<U, T>(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:178: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:184: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:218: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:223:10
    |
 LL | const _: Option<_> = map(value);
    |          ^^^^^^^^^
@@ -429,7 +429,7 @@ LL | const _: Option<_> = map(value);
    |          help: replace with the correct type: `Option<u8>`
 
 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:142:31
    |
 LL |     fn method_test1(&self, x: _);
    |                               ^ not allowed in type signatures
@@ -440,7 +440,7 @@ LL |     fn method_test1<T>(&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:144:31
    |
 LL |     fn method_test2(&self, x: _) -> _;
    |                               ^     ^ not allowed in type signatures
@@ -453,7 +453,7 @@ LL |     fn method_test2<T>(&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:146:31
    |
 LL |     fn method_test3(&self) -> _;
    |                               ^ not allowed in type signatures
@@ -464,7 +464,7 @@ LL |     fn method_test3<T>(&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:148:26
    |
 LL |     fn assoc_fn_test1(x: _);
    |                          ^ not allowed in type signatures
@@ -475,7 +475,7 @@ LL |     fn assoc_fn_test1<T>(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:150:26
    |
 LL |     fn assoc_fn_test2(x: _) -> _;
    |                          ^     ^ not allowed in type signatures
@@ -488,7 +488,7 @@ LL |     fn assoc_fn_test2<T>(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:152:28
    |
 LL |     fn assoc_fn_test3() -> _;
    |                            ^ not allowed in type signatures
@@ -499,19 +499,19 @@ LL |     fn assoc_fn_test3<T>() -> 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:192: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:194: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:196: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:199: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:43: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:46:27
    |
 LL |     fn test10(&self, _x : _) { }
    |                           ^ not allowed in type signatures
@@ -546,7 +546,7 @@ LL |     fn test10<T>(&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:61: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:64:37
    |
 LL |     fn clone_from(&mut self, other: _) { *self = Test9; }
    |                                     ^ not allowed in type signatures
@@ -566,7 +566,7 @@ LL |     fn clone_from<T>(&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:109: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:112:34
    |
 LL |         fn fn_test10(&self, _x : _) { }
    |                                  ^ not allowed in type signatures
@@ -586,7 +586,7 @@ LL |         fn fn_test10<T>(&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:117: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:120:41
    |
 LL |         fn clone_from(&mut self, other: _) { *self = FnTest9; }
    |                                         ^ not allowed in type signatures
@@ -606,25 +606,25 @@ LL |         fn clone_from<T>(&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:203: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:205: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:207: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:210:14
    |
 LL |     const D: _ = 42;
    |              ^
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.rs b/src/test/ui/typeck/typeck_type_placeholder_item.rs
index 55f5d44d46b..3d30ab32bac 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item.rs
+++ b/src/test/ui/typeck/typeck_type_placeholder_item.rs
@@ -3,7 +3,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
 // This test checks that it is not possible to enable global type
 // inference by using the `_` type placeholder.