diff options
Diffstat (limited to '')
-rw-r--r-- | tests/ui/traits/alias/ambiguous.rs (renamed from src/test/ui/traits/alias/ambiguous.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/ambiguous.stderr (renamed from src/test/ui/traits/alias/ambiguous.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/auxiliary/greeter.rs (renamed from src/test/ui/traits/alias/auxiliary/greeter.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/auxiliary/send_sync.rs (renamed from src/test/ui/traits/alias/auxiliary/send_sync.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/basic.rs (renamed from src/test/ui/traits/alias/basic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/bounds.rs (renamed from src/test/ui/traits/alias/bounds.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/cross-crate.rs (renamed from src/test/ui/traits/alias/cross-crate.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/cross-crate.stderr (renamed from src/test/ui/traits/alias/cross-crate.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/generic-default-in-dyn.rs (renamed from src/test/ui/traits/alias/generic-default-in-dyn.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/generic-default-in-dyn.stderr (renamed from src/test/ui/traits/alias/generic-default-in-dyn.stderr) | 12 | ||||
-rw-r--r-- | tests/ui/traits/alias/impl.rs (renamed from src/test/ui/traits/alias/impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/impl.stderr (renamed from src/test/ui/traits/alias/impl.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/import-cross-crate.rs (renamed from src/test/ui/traits/alias/import-cross-crate.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/import.rs (renamed from src/test/ui/traits/alias/import.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/issue-60021-assoc-method-resolve.rs (renamed from src/test/ui/traits/alias/issue-60021-assoc-method-resolve.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/issue-72415-assoc-const-resolve.rs (renamed from src/test/ui/traits/alias/issue-72415-assoc-const-resolve.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/issue-75983.rs (renamed from src/test/ui/traits/alias/issue-75983.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/issue-83613.rs (renamed from src/test/ui/traits/alias/issue-83613.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/issue-83613.stderr (renamed from src/test/ui/traits/alias/issue-83613.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/maybe-bound.rs (renamed from src/test/ui/traits/alias/maybe-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/no-duplicates.rs (renamed from src/test/ui/traits/alias/no-duplicates.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/no-duplicates.stderr (renamed from src/test/ui/traits/alias/no-duplicates.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/no-extra-traits.rs (renamed from src/test/ui/traits/alias/no-extra-traits.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/no-extra-traits.stderr (renamed from src/test/ui/traits/alias/no-extra-traits.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/object-fail.rs (renamed from src/test/ui/traits/alias/object-fail.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/object-fail.stderr (renamed from src/test/ui/traits/alias/object-fail.stderr) | 3 | ||||
-rw-r--r-- | tests/ui/traits/alias/object-wf.rs (renamed from src/test/ui/traits/alias/object-wf.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/object.rs (renamed from src/test/ui/traits/alias/object.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/only-maybe-bound.rs (renamed from src/test/ui/traits/alias/only-maybe-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/only-maybe-bound.stderr (renamed from src/test/ui/traits/alias/only-maybe-bound.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/self-in-const-generics.rs (renamed from src/test/ui/traits/alias/self-in-const-generics.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/self-in-const-generics.stderr (renamed from src/test/ui/traits/alias/self-in-const-generics.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/self-in-generics.rs (renamed from src/test/ui/traits/alias/self-in-generics.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/self-in-generics.stderr (renamed from src/test/ui/traits/alias/self-in-generics.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/style_lint.rs (renamed from src/test/ui/traits/alias/style_lint.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/style_lint.stderr (renamed from src/test/ui/traits/alias/style_lint.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed (renamed from src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/suggest-trait-alias-instead-of-type.rs (renamed from src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr (renamed from src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/syntax-fail.rs (renamed from src/test/ui/traits/alias/syntax-fail.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/syntax-fail.stderr (renamed from src/test/ui/traits/alias/syntax-fail.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/syntax.rs (renamed from src/test/ui/traits/alias/syntax.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/wf.rs (renamed from src/test/ui/traits/alias/wf.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alias/wf.stderr (renamed from src/test/ui/traits/alias/wf.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/alignment-gep-tup-like-1.rs (renamed from src/test/ui/traits/alignment-gep-tup-like-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/anon-static-method.rs (renamed from src/test/ui/traits/anon-static-method.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/anon_trait_static_method_exe.rs (renamed from src/test/ui/traits/anon_trait_static_method_exe.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/as-struct-constructor.rs (renamed from src/test/ui/traits/as-struct-constructor.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/as-struct-constructor.stderr (renamed from src/test/ui/traits/as-struct-constructor.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/assignability-trait.rs (renamed from src/test/ui/traits/assignability-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/assoc-type-in-superbad.rs | 16 | ||||
-rw-r--r-- | tests/ui/traits/assoc-type-in-superbad.stderr (renamed from src/test/ui/traits/assoc-type-in-superbad.stderr) | 2 | ||||
-rw-r--r-- | tests/ui/traits/assoc-type-in-supertrait.rs (renamed from src/test/ui/traits/assoc-type-in-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs (renamed from src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr (renamed from src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr) | 30 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr (renamed from src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/associated_type_bound/issue-51446.rs (renamed from src/test/ui/traits/associated_type_bound/issue-51446.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/astconv-cycle-between-and-type.rs (renamed from src/test/ui/traits/astconv-cycle-between-and-type.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/augmented-assignments-trait.rs (renamed from src/test/ui/traits/augmented-assignments-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/auxiliary/anon_trait_static_method_lib.rs (renamed from src/test/ui/traits/auxiliary/anon_trait_static_method_lib.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/auxiliary/go_trait.rs (renamed from src/test/ui/traits/auxiliary/go_trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/auxiliary/issue_89119_intercrate_caching.rs (renamed from src/test/ui/traits/auxiliary/issue_89119_intercrate_caching.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/auxiliary/trait_safety_lib.rs (renamed from src/test/ui/traits/auxiliary/trait_safety_lib.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/auxiliary/traitimpl.rs (renamed from src/test/ui/traits/auxiliary/traitimpl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bad-method-typaram-kind.rs (renamed from src/test/ui/traits/bad-method-typaram-kind.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bad-method-typaram-kind.stderr (renamed from src/test/ui/traits/bad-method-typaram-kind.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bad-sized.rs (renamed from src/test/ui/traits/bad-sized.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bad-sized.stderr (renamed from src/test/ui/traits/bad-sized.stderr) | 9 | ||||
-rw-r--r-- | tests/ui/traits/bound/assoc-fn-bound-root-obligation.rs (renamed from src/test/ui/traits/bound/assoc-fn-bound-root-obligation.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/assoc-fn-bound-root-obligation.stderr (renamed from src/test/ui/traits/bound/assoc-fn-bound-root-obligation.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/auxiliary/crate_a1.rs (renamed from src/test/ui/traits/bound/auxiliary/crate_a1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/auxiliary/crate_a2.rs (renamed from src/test/ui/traits/bound/auxiliary/crate_a2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs (renamed from src/test/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/basic.rs (renamed from src/test/ui/traits/bound/basic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/generic_trait.rs (renamed from src/test/ui/traits/bound/generic_trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/impl-comparison-duplicates.rs (renamed from src/test/ui/traits/bound/impl-comparison-duplicates.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/in-arc.rs (renamed from src/test/ui/traits/bound/in-arc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/multiple.rs (renamed from src/test/ui/traits/bound/multiple.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/not-on-bare-trait.rs (renamed from src/test/ui/traits/bound/not-on-bare-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/not-on-bare-trait.stderr (renamed from src/test/ui/traits/bound/not-on-bare-trait.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/bound/not-on-struct.rs (renamed from src/test/ui/traits/bound/not-on-struct.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/not-on-struct.stderr (renamed from src/test/ui/traits/bound/not-on-struct.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-in-fns.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-in-fns.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-in-fns.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-in-fns.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-in-impls.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-in-impls.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-in-impls.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-in-impls.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-locals.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-locals.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-locals.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-locals.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-rpass.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-rpass.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-static.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-static.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-static.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-static.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-xc.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-xc.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-xc.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-xc1.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums-xc1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums-xc1.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums-xc1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums.rs (renamed from src/test/ui/traits/bound/on-structs-and-enums.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums.stderr (renamed from src/test/ui/traits/bound/on-structs-and-enums.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/recursion.rs (renamed from src/test/ui/traits/bound/recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/same-crate-name.rs (renamed from src/test/ui/traits/bound/same-crate-name.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/same-crate-name.stderr (renamed from src/test/ui/traits/bound/same-crate-name.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/sugar.rs (renamed from src/test/ui/traits/bound/sugar.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bound/sugar.stderr (renamed from src/test/ui/traits/bound/sugar.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bug-7183-generics.rs (renamed from src/test/ui/traits/bug-7183-generics.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/bug-7295.rs (renamed from src/test/ui/traits/bug-7295.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/cache-issue-18209.rs (renamed from src/test/ui/traits/cache-issue-18209.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/cache-reached-depth-ice.rs (renamed from src/test/ui/traits/cache-reached-depth-ice.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/cache-reached-depth-ice.stderr (renamed from src/test/ui/traits/cache-reached-depth-ice.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion-generic-bad.rs (renamed from src/test/ui/traits/coercion-generic-bad.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion-generic-bad.stderr (renamed from src/test/ui/traits/coercion-generic-bad.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion-generic-regions.rs (renamed from src/test/ui/traits/coercion-generic-regions.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion-generic-regions.stderr (renamed from src/test/ui/traits/coercion-generic-regions.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion-generic.rs (renamed from src/test/ui/traits/coercion-generic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/coercion.rs (renamed from src/test/ui/traits/coercion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/composition-trivial.rs (renamed from src/test/ui/traits/composition-trivial.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/conditional-dispatch.rs (renamed from src/test/ui/traits/conditional-dispatch.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/conditional-model-fn.rs (renamed from src/test/ui/traits/conditional-model-fn.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/conservative_impl_trait.rs (renamed from src/test/ui/traits/conservative_impl_trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/copy-guessing.rs (renamed from src/test/ui/traits/copy-guessing.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/copy-impl-cannot-normalize.rs (renamed from src/test/ui/traits/copy-impl-cannot-normalize.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/copy-impl-cannot-normalize.stderr | 24 | ||||
-rw-r--r-- | tests/ui/traits/copy-is-not-modulo-regions.not_static.stderr | 22 | ||||
-rw-r--r-- | tests/ui/traits/copy-is-not-modulo-regions.rs | 19 | ||||
-rw-r--r-- | tests/ui/traits/copy-requires-self-wf.rs | 14 | ||||
-rw-r--r-- | tests/ui/traits/cycle-cache-err-60010.rs (renamed from src/test/ui/traits/cycle-cache-err-60010.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/cycle-cache-err-60010.stderr (renamed from src/test/ui/traits/cycle-cache-err-60010.stderr) | 6 | ||||
-rw-r--r-- | tests/ui/traits/cycle-generic-bound.rs (renamed from src/test/ui/traits/cycle-generic-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/cycle-type-trait.rs (renamed from src/test/ui/traits/cycle-type-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/auxiliary/xc.rs (renamed from src/test/ui/traits/default-method/auxiliary/xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/auxiliary/xc_2.rs (renamed from src/test/ui/traits/default-method/auxiliary/xc_2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/bound-subst.rs (renamed from src/test/ui/traits/default-method/bound-subst.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/bound-subst2.rs (renamed from src/test/ui/traits/default-method/bound-subst2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/bound-subst3.rs (renamed from src/test/ui/traits/default-method/bound-subst3.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/bound-subst4.rs (renamed from src/test/ui/traits/default-method/bound-subst4.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/bound.rs (renamed from src/test/ui/traits/default-method/bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/macro.rs (renamed from src/test/ui/traits/default-method/macro.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/mut.rs (renamed from src/test/ui/traits/default-method/mut.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of.rs (renamed from src/test/ui/traits/default-method/rustc_must_implement_one_of.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of.stderr (renamed from src/test/ui/traits/default-method/rustc_must_implement_one_of.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.rs | 19 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.stderr | 34 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_gated.rs (renamed from src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr (renamed from src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.rs | 46 | ||||
-rw-r--r-- | tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr (renamed from src/test/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr) | 18 | ||||
-rw-r--r-- | tests/ui/traits/default-method/self.rs (renamed from src/test/ui/traits/default-method/self.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/supervtable.rs (renamed from src/test/ui/traits/default-method/supervtable.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/trivial.rs (renamed from src/test/ui/traits/default-method/trivial.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/xc-2.rs (renamed from src/test/ui/traits/default-method/xc-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/default-method/xc.rs (renamed from src/test/ui/traits/default-method/xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs (renamed from src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr (renamed from src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/duplicate-methods.rs (renamed from src/test/ui/traits/duplicate-methods.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/duplicate-methods.stderr (renamed from src/test/ui/traits/duplicate-methods.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/dyn-trait.rs (renamed from src/test/ui/traits/dyn-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/early-vtbl-resolution.rs (renamed from src/test/ui/traits/early-vtbl-resolution.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/elaborate-type-region.rs (renamed from src/test/ui/traits/elaborate-type-region.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs (renamed from src/test/ui/traits/false-ambiguity-where-clause-builtin-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/fmt-pointer-trait.rs (renamed from src/test/ui/traits/fmt-pointer-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/fn-trait-cast-diagnostic.rs | 26 | ||||
-rw-r--r-- | tests/ui/traits/fn-trait-cast-diagnostic.stderr | 43 | ||||
-rw-r--r-- | tests/ui/traits/generic.rs (renamed from src/test/ui/traits/generic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/ignore-err-impls.rs | 9 | ||||
-rw-r--r-- | tests/ui/traits/ignore-err-impls.stderr | 14 | ||||
-rw-r--r-- | tests/ui/traits/impl-1.rs (renamed from src/test/ui/traits/impl-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-1.stderr (renamed from src/test/ui/traits/impl-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-2.rs (renamed from src/test/ui/traits/impl-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-bounds-checking.rs (renamed from src/test/ui/traits/impl-bounds-checking.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-bounds-checking.stderr (renamed from src/test/ui/traits/impl-bounds-checking.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/impl-can-not-have-untraitful-items.rs (renamed from src/test/ui/traits/impl-can-not-have-untraitful-items.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-can-not-have-untraitful-items.stderr (renamed from src/test/ui/traits/impl-can-not-have-untraitful-items.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-different-num-params.rs (renamed from src/test/ui/traits/impl-different-num-params.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-different-num-params.stderr (renamed from src/test/ui/traits/impl-different-num-params.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-evaluation-order.rs (renamed from src/test/ui/traits/impl-evaluation-order.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-for-module.rs (renamed from src/test/ui/traits/impl-for-module.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-for-module.stderr (renamed from src/test/ui/traits/impl-for-module.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-implicit-trait.rs (renamed from src/test/ui/traits/impl-implicit-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-inherent-prefer-over-trait.rs (renamed from src/test/ui/traits/impl-inherent-prefer-over-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-method-mismatch.rs (renamed from src/test/ui/traits/impl-method-mismatch.rs) | 4 | ||||
-rw-r--r-- | tests/ui/traits/impl-method-mismatch.stderr (renamed from src/test/ui/traits/impl-method-mismatch.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/impl-object-overlap-issue-23853.rs (renamed from src/test/ui/traits/impl-object-overlap-issue-23853.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs (renamed from src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr (renamed from src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr) | 8 | ||||
-rw-r--r-- | tests/ui/traits/impl.rs (renamed from src/test/ui/traits/impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/impl_trait_as_trait_return_position.rs (renamed from src/test/ui/traits/impl_trait_as_trait_return_position.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/lifetime.rs (renamed from src/test/ui/traits/inductive-overflow/lifetime.rs) | 1 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/lifetime.stderr (renamed from src/test/ui/traits/inductive-overflow/lifetime.stderr) | 8 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/simultaneous.rs (renamed from src/test/ui/traits/inductive-overflow/simultaneous.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/simultaneous.stderr (renamed from src/test/ui/traits/inductive-overflow/simultaneous.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/supertrait-auto-trait.rs (renamed from src/test/ui/traits/inductive-overflow/supertrait-auto-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/supertrait-auto-trait.stderr (renamed from src/test/ui/traits/inductive-overflow/supertrait-auto-trait.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/supertrait.rs (renamed from src/test/ui/traits/inductive-overflow/supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/supertrait.stderr (renamed from src/test/ui/traits/inductive-overflow/supertrait.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/two-traits.rs (renamed from src/test/ui/traits/inductive-overflow/two-traits.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inductive-overflow/two-traits.stderr (renamed from src/test/ui/traits/inductive-overflow/two-traits.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/infer-from-object-issue-26952.rs (renamed from src/test/ui/traits/infer-from-object-issue-26952.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inherent-method-order.rs (renamed from src/test/ui/traits/inherent-method-order.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auto-xc-2.rs (renamed from src/test/ui/traits/inheritance/auto-xc-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auto-xc.rs (renamed from src/test/ui/traits/inheritance/auto-xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auto.rs (renamed from src/test/ui/traits/inheritance/auto.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auxiliary/auto_xc.rs (renamed from src/test/ui/traits/inheritance/auxiliary/auto_xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auxiliary/auto_xc_2.rs (renamed from src/test/ui/traits/inheritance/auxiliary/auto_xc_2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auxiliary/overloading_xc.rs (renamed from src/test/ui/traits/inheritance/auxiliary/overloading_xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/auxiliary/xc_call.rs (renamed from src/test/ui/traits/inheritance/auxiliary/xc_call.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/basic.rs (renamed from src/test/ui/traits/inheritance/basic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/call-bound-inherited.rs (renamed from src/test/ui/traits/inheritance/call-bound-inherited.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/call-bound-inherited2.rs (renamed from src/test/ui/traits/inheritance/call-bound-inherited2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/cast-without-call-to-supertrait.rs (renamed from src/test/ui/traits/inheritance/cast-without-call-to-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/cast.rs (renamed from src/test/ui/traits/inheritance/cast.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/cross-trait-call-xc.rs (renamed from src/test/ui/traits/inheritance/cross-trait-call-xc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/cross-trait-call.rs (renamed from src/test/ui/traits/inheritance/cross-trait-call.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/diamond.rs (renamed from src/test/ui/traits/inheritance/diamond.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/multiple-inheritors.rs (renamed from src/test/ui/traits/inheritance/multiple-inheritors.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/multiple-params.rs (renamed from src/test/ui/traits/inheritance/multiple-params.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num.rs (renamed from src/test/ui/traits/inheritance/num.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num0.rs (renamed from src/test/ui/traits/inheritance/num0.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num1.rs (renamed from src/test/ui/traits/inheritance/num1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num2.rs (renamed from src/test/ui/traits/inheritance/num2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num3.rs (renamed from src/test/ui/traits/inheritance/num3.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/num5.rs (renamed from src/test/ui/traits/inheritance/num5.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/overloading-simple.rs (renamed from src/test/ui/traits/inheritance/overloading-simple.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/overloading-xc-exe.rs (renamed from src/test/ui/traits/inheritance/overloading-xc-exe.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/overloading.rs (renamed from src/test/ui/traits/inheritance/overloading.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/repeated-supertrait-ambig.rs (renamed from src/test/ui/traits/inheritance/repeated-supertrait-ambig.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/repeated-supertrait-ambig.stderr (renamed from src/test/ui/traits/inheritance/repeated-supertrait-ambig.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/repeated-supertrait.rs (renamed from src/test/ui/traits/inheritance/repeated-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/self-in-supertype.rs (renamed from src/test/ui/traits/inheritance/self-in-supertype.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/self.rs (renamed from src/test/ui/traits/inheritance/self.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/simple.rs (renamed from src/test/ui/traits/inheritance/simple.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/static.rs (renamed from src/test/ui/traits/inheritance/static.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/static2.rs (renamed from src/test/ui/traits/inheritance/static2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/subst.rs (renamed from src/test/ui/traits/inheritance/subst.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/subst2.rs (renamed from src/test/ui/traits/inheritance/subst2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/inheritance/visibility.rs (renamed from src/test/ui/traits/inheritance/visibility.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/invalid_operator_trait.rs (renamed from src/test/ui/traits/invalid_operator_trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/invalid_operator_trait.stderr (renamed from src/test/ui/traits/invalid_operator_trait.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-102989.rs (renamed from src/test/ui/traits/issue-102989.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-102989.stderr (renamed from src/test/ui/traits/issue-102989.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-104322.rs (renamed from src/test/ui/traits/issue-104322.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-106072.rs | 5 | ||||
-rw-r--r-- | tests/ui/traits/issue-106072.stderr | 30 | ||||
-rw-r--r-- | tests/ui/traits/issue-18400.rs (renamed from src/test/ui/traits/issue-18400.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-18400.stderr (renamed from src/test/ui/traits/issue-18400.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/issue-18412.rs (renamed from src/test/ui/traits/issue-18412.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-20692.rs (renamed from src/test/ui/traits/issue-20692.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-20692.stderr (renamed from src/test/ui/traits/issue-20692.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-22019.rs (renamed from src/test/ui/traits/issue-22019.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-22110.rs (renamed from src/test/ui/traits/issue-22110.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-22655.rs (renamed from src/test/ui/traits/issue-22655.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-23003-overflow.rs (renamed from src/test/ui/traits/issue-23003-overflow.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-23003.rs (renamed from src/test/ui/traits/issue-23003.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-23825.rs (renamed from src/test/ui/traits/issue-23825.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-24010.rs (renamed from src/test/ui/traits/issue-24010.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-26339.rs (renamed from src/test/ui/traits/issue-26339.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-28576.rs (renamed from src/test/ui/traits/issue-28576.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-28576.stderr (renamed from src/test/ui/traits/issue-28576.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-32963.rs (renamed from src/test/ui/traits/issue-32963.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-32963.stderr (renamed from src/test/ui/traits/issue-32963.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-33140-hack-boundaries.rs (renamed from src/test/ui/traits/issue-33140-hack-boundaries.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-33140-hack-boundaries.stderr (renamed from src/test/ui/traits/issue-33140-hack-boundaries.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-33140.rs (renamed from src/test/ui/traits/issue-33140.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-33140.stderr (renamed from src/test/ui/traits/issue-33140.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-35869.rs (renamed from src/test/ui/traits/issue-35869.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-35869.stderr (renamed from src/test/ui/traits/issue-35869.stderr) | 16 | ||||
-rw-r--r-- | tests/ui/traits/issue-3683.rs (renamed from src/test/ui/traits/issue-3683.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-38033.rs (renamed from src/test/ui/traits/issue-38033.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-38404.rs (renamed from src/test/ui/issues/issue-38404.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-38404.stderr (renamed from src/test/ui/issues/issue-38404.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-38604.rs (renamed from src/test/ui/traits/issue-38604.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-38604.stderr (renamed from src/test/ui/traits/issue-38604.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-3973.rs (renamed from src/test/ui/traits/issue-3973.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-3973.stderr (renamed from src/test/ui/traits/issue-3973.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-4107.rs (renamed from src/test/ui/traits/issue-4107.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-43132.rs (renamed from src/test/ui/traits/issue-43132.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-43784-supertrait.rs (renamed from src/test/ui/traits/issue-43784-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-43784-supertrait.stderr | 24 | ||||
-rw-r--r-- | tests/ui/traits/issue-50480.rs (renamed from src/test/ui/issues/issue-50480.rs) | 2 | ||||
-rw-r--r-- | tests/ui/traits/issue-50480.stderr | 92 | ||||
-rw-r--r-- | tests/ui/traits/issue-52893.rs (renamed from src/test/ui/traits/issue-52893.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-52893.stderr | 29 | ||||
-rw-r--r-- | tests/ui/traits/issue-56202.rs (renamed from src/test/ui/traits/issue-56202.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-56488.rs (renamed from src/test/ui/traits/issue-56488.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-59029-1.rs (renamed from src/test/ui/traits/issue-59029-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-59029-1.stderr (renamed from src/test/ui/traits/issue-59029-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-59029-2.rs (renamed from src/test/ui/traits/issue-59029-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-6128.rs (renamed from src/test/ui/traits/issue-6128.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-6334.rs (renamed from src/test/ui/traits/issue-6334.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-65284-suggest-generic-trait-bound.rs (renamed from src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-65284-suggest-generic-trait-bound.stderr (renamed from src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-65673.rs (renamed from src/test/ui/traits/issue-65673.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-65673.stderr (renamed from src/test/ui/traits/issue-65673.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-68295.rs (renamed from src/test/ui/traits/issue-68295.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-68295.stderr (renamed from src/test/ui/traits/issue-68295.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-7013.rs (renamed from src/test/ui/traits/issue-7013.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-7013.stderr (renamed from src/test/ui/traits/issue-7013.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-70944.rs (renamed from src/test/ui/traits/issue-70944.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-71036.rs (renamed from src/test/ui/traits/issue-71036.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-71036.stderr (renamed from src/test/ui/traits/issue-71036.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-71136.rs (renamed from src/test/ui/traits/issue-71136.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-71136.stderr (renamed from src/test/ui/traits/issue-71136.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-72410.rs (renamed from src/test/ui/traits/issue-72410.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-72410.stderr (renamed from src/test/ui/traits/issue-72410.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-72455.rs (renamed from src/test/ui/traits/issue-72455.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-75627.rs (renamed from src/test/ui/traits/issue-75627.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-75627.stderr | 14 | ||||
-rw-r--r-- | tests/ui/traits/issue-77982.rs (renamed from src/test/ui/traits/issue-77982.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-77982.stderr (renamed from src/test/ui/traits/issue-77982.stderr) | 13 | ||||
-rw-r--r-- | tests/ui/traits/issue-78372.rs (renamed from src/test/ui/traits/issue-78372.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-78372.stderr (renamed from src/test/ui/traits/issue-78372.stderr) | 9 | ||||
-rw-r--r-- | tests/ui/traits/issue-78632.rs (renamed from src/test/ui/traits/issue-78632.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-79458.rs (renamed from src/test/ui/traits/issue-79458.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-79458.stderr (renamed from src/test/ui/traits/issue-79458.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-8153.rs (renamed from src/test/ui/traits/issue-8153.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-8153.stderr (renamed from src/test/ui/traits/issue-8153.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-82830.rs (renamed from src/test/ui/traits/issue-82830.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-83538-tainted-cache-after-cycle.rs (renamed from src/test/ui/traits/issue-83538-tainted-cache-after-cycle.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-83538-tainted-cache-after-cycle.stderr (renamed from src/test/ui/traits/issue-83538-tainted-cache-after-cycle.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-84399-bad-fresh-caching.rs (renamed from src/test/ui/traits/issue-84399-bad-fresh-caching.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-85360-eval-obligation-ice.rs (renamed from src/test/ui/traits/issue-85360-eval-obligation-ice.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-85360-eval-obligation-ice.stderr (renamed from src/test/ui/traits/issue-85360-eval-obligation-ice.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-85735.rs (renamed from src/test/ui/traits/issue-85735.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-85735.stderr | 18 | ||||
-rw-r--r-- | tests/ui/traits/issue-87558.rs (renamed from src/test/ui/traits/issue-87558.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-87558.stderr (renamed from src/test/ui/traits/issue-87558.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-89119.rs (renamed from src/test/ui/traits/issue-89119.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-90195-2.rs (renamed from src/test/ui/traits/issue-90195-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-90195.rs (renamed from src/test/ui/traits/issue-90195.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-90662-projection-caching.rs (renamed from src/test/ui/traits/issue-90662-projection-caching.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-91594.rs (renamed from src/test/ui/traits/issue-91594.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-91594.stderr | 18 | ||||
-rw-r--r-- | tests/ui/traits/issue-91949-hangs-on-recursion.rs (renamed from src/test/ui/traits/issue-91949-hangs-on-recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-91949-hangs-on-recursion.stderr (renamed from src/test/ui/traits/issue-91949-hangs-on-recursion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-92292.rs (renamed from src/test/ui/traits/issue-92292.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-9394-inherited-calls.rs (renamed from src/test/ui/traits/issue-9394-inherited-calls.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-95311.rs (renamed from src/test/ui/traits/issue-95311.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-95898.rs (renamed from src/test/ui/traits/issue-95898.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-95898.stderr (renamed from src/test/ui/traits/issue-95898.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-96664.rs (renamed from src/test/ui/traits/issue-96664.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-96665.rs (renamed from src/test/ui/traits/issue-96665.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-97576.rs (renamed from src/test/ui/traits/issue-97576.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-97576.stderr | 11 | ||||
-rw-r--r-- | tests/ui/traits/issue-97695-double-trivial-bound.rs (renamed from src/test/ui/traits/issue-97695-double-trivial-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-99875.rs (renamed from src/test/ui/issues/issue-99875.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/issue-99875.stderr (renamed from src/test/ui/issues/issue-99875.stderr) | 5 | ||||
-rw-r--r-- | tests/ui/traits/item-inside-macro.rs (renamed from src/test/ui/traits/item-inside-macro.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/item-privacy.rs (renamed from src/test/ui/traits/item-privacy.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/item-privacy.stderr (renamed from src/test/ui/traits/item-privacy.stderr) | 11 | ||||
-rw-r--r-- | tests/ui/traits/kindck-owned-contains-1.rs (renamed from src/test/ui/traits/kindck-owned-contains-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/map-types.rs (renamed from src/test/ui/traits/map-types.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/map-types.stderr (renamed from src/test/ui/traits/map-types.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/matching-lifetimes.rs (renamed from src/test/ui/traits/matching-lifetimes.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/matching-lifetimes.stderr (renamed from src/test/ui/traits/matching-lifetimes.stderr) | 8 | ||||
-rw-r--r-- | tests/ui/traits/method-private.rs (renamed from src/test/ui/traits/method-private.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/method-private.stderr (renamed from src/test/ui/traits/method-private.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/monad.rs (renamed from src/test/ui/traits/monad.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/monomorphized-callees-with-ty-params-3314.rs (renamed from src/test/ui/traits/monomorphized-callees-with-ty-params-3314.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-bad.rs (renamed from src/test/ui/traits/multidispatch-bad.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-bad.stderr (renamed from src/test/ui/traits/multidispatch-bad.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-conditional-impl-not-considered.rs (renamed from src/test/ui/traits/multidispatch-conditional-impl-not-considered.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-convert-ambig-dest.rs (renamed from src/test/ui/traits/multidispatch-convert-ambig-dest.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-convert-ambig-dest.stderr (renamed from src/test/ui/traits/multidispatch-convert-ambig-dest.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch-infer-convert-target.rs (renamed from src/test/ui/traits/multidispatch-infer-convert-target.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch1.rs (renamed from src/test/ui/traits/multidispatch1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/multidispatch2.rs (renamed from src/test/ui/traits/multidispatch2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/mutual-recursion-issue-75860.rs (renamed from src/test/ui/traits/mutual-recursion-issue-75860.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/mutual-recursion-issue-75860.stderr (renamed from src/test/ui/traits/mutual-recursion-issue-75860.stderr) | 3 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/auxiliary/foreign_trait.rs (renamed from src/test/ui/traits/negative-impls/auxiliary/foreign_trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/eager-mono.rs (renamed from src/test/ui/traits/negative-impls/eager-mono.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs (renamed from src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr (renamed from src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/feature-gate-negative_impls.rs (renamed from src/test/ui/traits/negative-impls/feature-gate-negative_impls.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/feature-gate-negative_impls.stderr (renamed from src/test/ui/traits/negative-impls/feature-gate-negative_impls.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negated-auto-traits-error.rs (renamed from src/test/ui/traits/negative-impls/negated-auto-traits-error.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negated-auto-traits-error.stderr (renamed from src/test/ui/traits/negative-impls/negated-auto-traits-error.stderr) | 12 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs (renamed from src/test/ui/traits/negative-impls/negated-auto-traits-rpass.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-default-impls.rs (renamed from src/test/ui/traits/negative-impls/negative-default-impls.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-default-impls.stderr (renamed from src/test/ui/traits/negative-impls/negative-default-impls.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-impls-basic.rs (renamed from src/test/ui/traits/negative-impls/negative-impls-basic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-negative.rs (renamed from src/test/ui/traits/negative-impls/negative-specializes-negative.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-negative.stderr (renamed from src/test/ui/traits/negative-impls/negative-specializes-negative.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-positive-item.rs (renamed from src/test/ui/traits/negative-impls/negative-specializes-positive-item.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-positive-item.stderr (renamed from src/test/ui/traits/negative-impls/negative-specializes-positive-item.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-positive.rs (renamed from src/test/ui/traits/negative-impls/negative-specializes-positive.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/negative-specializes-positive.stderr (renamed from src/test/ui/traits/negative-impls/negative-specializes-positive.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/no-items.rs (renamed from src/test/ui/traits/negative-impls/no-items.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/no-items.stderr (renamed from src/test/ui/traits/negative-impls/no-items.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs (renamed from src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr (renamed from src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs (renamed from src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr (renamed from src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/positive-specializes-negative.rs (renamed from src/test/ui/traits/negative-impls/positive-specializes-negative.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/positive-specializes-negative.stderr (renamed from src/test/ui/traits/negative-impls/positive-specializes-negative.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs (renamed from src/test/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/new-solver/fn-trait-closure.rs | 15 | ||||
-rw-r--r-- | tests/ui/traits/new-solver/fn-trait.rs | 13 | ||||
-rw-r--r-- | tests/ui/traits/new-solver/pointer-sized.rs | 12 | ||||
-rw-r--r-- | tests/ui/traits/new-solver/pointer-sized.stderr | 24 | ||||
-rw-r--r-- | tests/ui/traits/no-fallback-multiple-impls.rs (renamed from src/test/ui/traits/no-fallback-multiple-impls.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/no-fallback-multiple-impls.stderr (renamed from src/test/ui/traits/no-fallback-multiple-impls.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/no_send-struct.rs (renamed from src/test/ui/traits/no_send-struct.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/no_send-struct.stderr (renamed from src/test/ui/traits/no_send-struct.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/normalize-supertrait.rs (renamed from src/test/ui/traits/normalize-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/not-suggest-non-existing-fully-qualified-path.rs (renamed from src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr (renamed from src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr) | 3 | ||||
-rw-r--r-- | tests/ui/traits/object-does-not-impl-trait.rs (renamed from src/test/ui/traits/object-does-not-impl-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object-does-not-impl-trait.stderr (renamed from src/test/ui/traits/object-does-not-impl-trait.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object-one-type-two-traits.rs (renamed from src/test/ui/traits/object-one-type-two-traits.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/auto-dedup-in-impl.rs (renamed from src/test/ui/traits/object/auto-dedup-in-impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/auto-dedup-in-impl.stderr (renamed from src/test/ui/traits/object/auto-dedup-in-impl.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/auto-dedup.rs (renamed from src/test/ui/traits/object/auto-dedup.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/bounds-cycle-1.rs (renamed from src/test/ui/traits/object/bounds-cycle-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/bounds-cycle-2.rs (renamed from src/test/ui/traits/object/bounds-cycle-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/bounds-cycle-3.rs (renamed from src/test/ui/traits/object/bounds-cycle-3.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/bounds-cycle-4.rs (renamed from src/test/ui/traits/object/bounds-cycle-4.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/enforce-supertrait-projection.rs (renamed from src/test/ui/traits/object/enforce-supertrait-projection.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/enforce-supertrait-projection.stderr (renamed from src/test/ui/traits/object/enforce-supertrait-projection.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/exclusion.rs (renamed from src/test/ui/traits/object/exclusion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/generics.rs (renamed from src/test/ui/traits/object/generics.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-33140-traitobject-crate.rs (renamed from src/test/ui/traits/object/issue-33140-traitobject-crate.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-33140-traitobject-crate.stderr (renamed from src/test/ui/traits/object/issue-33140-traitobject-crate.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-1.rs | 22 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-1.stderr | 10 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-2.rs | 22 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-2.stderr | 17 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-3.rs | 33 | ||||
-rw-r--r-- | tests/ui/traits/object/issue-44454-3.stderr | 11 | ||||
-rw-r--r-- | tests/ui/traits/object/lifetime-first.rs (renamed from src/test/ui/traits/object/lifetime-first.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/macro-matcher.rs (renamed from src/test/ui/traits/object/macro-matcher.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/macro-matcher.stderr (renamed from src/test/ui/traits/object/macro-matcher.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/safety.rs (renamed from src/test/ui/traits/object/safety.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/safety.stderr (renamed from src/test/ui/traits/object/safety.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/supertrait-lifetime-bound.rs (renamed from src/test/ui/traits/object/supertrait-lifetime-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/supertrait-lifetime-bound.stderr (renamed from src/test/ui/traits/object/supertrait-lifetime-bound.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/vs-lifetime-2.rs (renamed from src/test/ui/traits/object/vs-lifetime-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/vs-lifetime-2.stderr (renamed from src/test/ui/traits/object/vs-lifetime-2.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/vs-lifetime.rs (renamed from src/test/ui/traits/object/vs-lifetime.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/vs-lifetime.stderr (renamed from src/test/ui/traits/object/vs-lifetime.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/with-lifetime-bound.rs (renamed from src/test/ui/traits/object/with-lifetime-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/with-self-in-projection-output-bad.rs (renamed from src/test/ui/traits/object/with-self-in-projection-output-bad.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/with-self-in-projection-output-bad.stderr (renamed from src/test/ui/traits/object/with-self-in-projection-output-bad.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/with-self-in-projection-output-good.rs (renamed from src/test/ui/traits/object/with-self-in-projection-output-good.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs (renamed from src/test/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs (renamed from src/test/ui/traits/objects-owned-object-borrowed-method-headerless.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/operator-overloading-issue-52025.rs (renamed from src/test/ui/traits/operator-overloading-issue-52025.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/overlap-not-permitted-for-builtin-trait.rs (renamed from src/test/ui/traits/overlap-not-permitted-for-builtin-trait.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/overlap-not-permitted-for-builtin-trait.stderr (renamed from src/test/ui/traits/overlap-not-permitted-for-builtin-trait.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/overlap-permitted-for-marker-traits.rs (renamed from src/test/ui/traits/overlap-permitted-for-marker-traits.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/param-without-lifetime-constraint.rs (renamed from src/test/ui/traits/param-without-lifetime-constraint.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/param-without-lifetime-constraint.stderr (renamed from src/test/ui/traits/param-without-lifetime-constraint.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/parameterized-with-bounds.rs (renamed from src/test/ui/traits/parameterized-with-bounds.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/pointee-deduction.rs (renamed from src/test/ui/traits/pointee-deduction.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/pointee-tail-is-generic-errors.rs (renamed from src/test/ui/traits/pointee-tail-is-generic-errors.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/pointee-tail-is-generic-errors.stderr (renamed from src/test/ui/traits/pointee-tail-is-generic-errors.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/pointee-tail-is-generic.rs (renamed from src/test/ui/traits/pointee-tail-is-generic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/principal-less-objects.rs (renamed from src/test/ui/traits/principal-less-objects.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/privacy.rs (renamed from src/test/ui/traits/privacy.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/project-modulo-regions.rs (renamed from src/test/ui/traits/project-modulo-regions.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/project-modulo-regions.with_clause.stderr (renamed from src/test/ui/traits/project-modulo-regions.with_clause.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/project-modulo-regions.without_clause.stderr (renamed from src/test/ui/traits/project-modulo-regions.without_clause.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/region-pointer-simple.rs (renamed from src/test/ui/traits/region-pointer-simple.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/coherence-conflict.rs (renamed from src/test/ui/traits/reservation-impl/coherence-conflict.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/coherence-conflict.stderr (renamed from src/test/ui/traits/reservation-impl/coherence-conflict.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/no-use.rs (renamed from src/test/ui/traits/reservation-impl/no-use.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/no-use.stderr (renamed from src/test/ui/traits/reservation-impl/no-use.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/non-lattice-ok.rs (renamed from src/test/ui/traits/reservation-impl/non-lattice-ok.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/reservation-impl/ok.rs (renamed from src/test/ui/traits/reservation-impl/ok.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/resolution-in-overloaded-op.rs (renamed from src/test/ui/traits/resolution-in-overloaded-op.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/resolution-in-overloaded-op.stderr (renamed from src/test/ui/traits/resolution-in-overloaded-op.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-fn-body.mir.stderr (renamed from src/test/ui/traits/safety-fn-body.mir.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-fn-body.rs (renamed from src/test/ui/traits/safety-fn-body.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-fn-body.thir.stderr (renamed from src/test/ui/traits/safety-fn-body.thir.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-inherent-impl.rs (renamed from src/test/ui/traits/safety-inherent-impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-inherent-impl.stderr (renamed from src/test/ui/traits/safety-inherent-impl.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-ok-cc.rs (renamed from src/test/ui/traits/safety-ok-cc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-ok.rs (renamed from src/test/ui/traits/safety-ok.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-trait-impl-cc.rs (renamed from src/test/ui/traits/safety-trait-impl-cc.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-trait-impl-cc.stderr (renamed from src/test/ui/traits/safety-trait-impl-cc.stderr) | 8 | ||||
-rw-r--r-- | tests/ui/traits/safety-trait-impl.rs (renamed from src/test/ui/traits/safety-trait-impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/safety-trait-impl.stderr (renamed from src/test/ui/traits/safety-trait-impl.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/self-without-lifetime-constraint.rs (renamed from src/test/ui/traits/self-without-lifetime-constraint.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/self-without-lifetime-constraint.stderr (renamed from src/test/ui/traits/self-without-lifetime-constraint.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/solver-cycles/inductive-canonical-cycle.rs | 69 | ||||
-rw-r--r-- | tests/ui/traits/static-method-generic-inference.rs (renamed from src/test/ui/traits/static-method-generic-inference.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/static-method-generic-inference.stderr (renamed from src/test/ui/traits/static-method-generic-inference.stderr) | 4 | ||||
-rw-r--r-- | tests/ui/traits/static-method-overwriting.rs (renamed from src/test/ui/traits/static-method-overwriting.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/static-outlives-a-where-clause.rs (renamed from src/test/ui/traits/static-outlives-a-where-clause.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/staticness-mismatch.rs (renamed from src/test/ui/traits/staticness-mismatch.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/staticness-mismatch.stderr (renamed from src/test/ui/traits/staticness-mismatch.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-39029.fixed (renamed from src/test/ui/traits/suggest-deferences/issue-39029.fixed) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-39029.rs (renamed from src/test/ui/traits/suggest-deferences/issue-39029.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-39029.stderr (renamed from src/test/ui/traits/suggest-deferences/issue-39029.stderr) | 3 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-62530.fixed (renamed from src/test/ui/traits/suggest-deferences/issue-62530.fixed) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-62530.rs (renamed from src/test/ui/traits/suggest-deferences/issue-62530.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/issue-62530.stderr (renamed from src/test/ui/traits/suggest-deferences/issue-62530.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/multiple-0.fixed (renamed from src/test/ui/traits/suggest-deferences/multiple-0.fixed) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/multiple-0.rs (renamed from src/test/ui/traits/suggest-deferences/multiple-0.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/multiple-0.stderr (renamed from src/test/ui/traits/suggest-deferences/multiple-0.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/multiple-1.rs (renamed from src/test/ui/traits/suggest-deferences/multiple-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/multiple-1.stderr (renamed from src/test/ui/traits/suggest-deferences/multiple-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/root-obligation.fixed (renamed from src/test/ui/traits/suggest-deferences/root-obligation.fixed) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/root-obligation.rs (renamed from src/test/ui/traits/suggest-deferences/root-obligation.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/root-obligation.stderr (renamed from src/test/ui/traits/suggest-deferences/root-obligation.stderr) | 3 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.fixed | 14 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.rs | 14 | ||||
-rw-r--r-- | tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.stderr | 15 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-closure.rs (renamed from src/test/ui/traits/suggest-fully-qualified-closure.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-closure.stderr (renamed from src/test/ui/traits/suggest-fully-qualified-closure.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-path-with-adjustment.rs (renamed from src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr (renamed from src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-path-without-adjustment.rs (renamed from src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr (renamed from src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-where-clause.rs (renamed from src/test/ui/traits/suggest-where-clause.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/suggest-where-clause.stderr (renamed from src/test/ui/traits/suggest-where-clause.stderr) | 12 | ||||
-rw-r--r-- | tests/ui/traits/superdefault-generics.rs (renamed from src/test/ui/traits/superdefault-generics.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/syntax-polarity.rs (renamed from src/test/ui/traits/syntax-polarity.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/syntax-trait-polarity.rs (renamed from src/test/ui/traits/syntax-trait-polarity.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/syntax-trait-polarity.stderr (renamed from src/test/ui/traits/syntax-trait-polarity.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/test-2.rs (renamed from src/test/ui/traits/test-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/test-2.stderr (renamed from src/test/ui/traits/test-2.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/test.rs (renamed from src/test/ui/traits/test.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/test.stderr (renamed from src/test/ui/traits/test.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/to-str.rs (renamed from src/test/ui/traits/to-str.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/track-obligations.rs | 88 | ||||
-rw-r--r-- | tests/ui/traits/track-obligations.stderr | 76 | ||||
-rw-r--r-- | tests/ui/traits/trait-or-new-type-instead.rs (renamed from src/test/ui/traits/trait-or-new-type-instead.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-or-new-type-instead.stderr (renamed from src/test/ui/traits/trait-or-new-type-instead.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/basic.rs (renamed from src/test/ui/traits/trait-upcasting/basic.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/correct-supertrait-substitution.rs (renamed from src/test/ui/traits/trait-upcasting/correct-supertrait-substitution.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/cyclic-trait-resolution.rs (renamed from src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr (renamed from src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/diamond.rs (renamed from src/test/ui/traits/trait-upcasting/diamond.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/invalid-upcast.rs (renamed from src/test/ui/traits/trait-upcasting/invalid-upcast.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/invalid-upcast.stderr (renamed from src/test/ui/traits/trait-upcasting/invalid-upcast.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs (renamed from src/test/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/lifetime.rs (renamed from src/test/ui/traits/trait-upcasting/lifetime.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/migrate-lint-deny.rs (renamed from src/test/ui/traits/trait-upcasting/migrate-lint-deny.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/migrate-lint-deny.stderr (renamed from src/test/ui/traits/trait-upcasting/migrate-lint-deny.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs (renamed from src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr (renamed from src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/replace-vptr.rs (renamed from src/test/ui/traits/trait-upcasting/replace-vptr.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/struct.rs (renamed from src/test/ui/traits/trait-upcasting/struct.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/subtrait-method.rs (renamed from src/test/ui/traits/trait-upcasting/subtrait-method.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/subtrait-method.stderr (renamed from src/test/ui/traits/trait-upcasting/subtrait-method.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-1.rs (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-1.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-1.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-2.rs (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-2.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-2.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-3.rs (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-3.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-3.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-3.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-4.rs (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-4.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/trait-upcasting/type-checking-test-4.stderr (renamed from src/test/ui/traits/trait-upcasting/type-checking-test-4.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/typeclasses-eq-example-static.rs (renamed from src/test/ui/traits/typeclasses-eq-example-static.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/typeclasses-eq-example.rs (renamed from src/test/ui/traits/typeclasses-eq-example.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/ufcs-object.rs (renamed from src/test/ui/traits/ufcs-object.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/unspecified-self-in-trait-ref.rs (renamed from src/test/ui/traits/unspecified-self-in-trait-ref.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/unspecified-self-in-trait-ref.stderr (renamed from src/test/ui/traits/unspecified-self-in-trait-ref.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/use-before-def.rs (renamed from src/test/ui/traits/use-before-def.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable-res-trait-param.rs (renamed from src/test/ui/traits/vtable-res-trait-param.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable-res-trait-param.stderr (renamed from src/test/ui/traits/vtable-res-trait-param.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/issue-91807.rs (renamed from src/test/ui/traits/vtable/issue-91807.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/issue-97381.rs (renamed from src/test/ui/traits/vtable/issue-97381.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/issue-97381.stderr (renamed from src/test/ui/traits/vtable/issue-97381.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-diamond.rs (renamed from src/test/ui/traits/vtable/vtable-diamond.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-diamond.stderr (renamed from src/test/ui/traits/vtable/vtable-diamond.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-multi-level.rs (renamed from src/test/ui/traits/vtable/vtable-multi-level.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-multi-level.stderr (renamed from src/test/ui/traits/vtable/vtable-multi-level.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-multiple.rs (renamed from src/test/ui/traits/vtable/vtable-multiple.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-multiple.stderr (renamed from src/test/ui/traits/vtable/vtable-multiple.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-non-object-safe.rs (renamed from src/test/ui/traits/vtable/vtable-non-object-safe.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-non-object-safe.stderr (renamed from src/test/ui/traits/vtable/vtable-non-object-safe.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-vacant.rs (renamed from src/test/ui/traits/vtable/vtable-vacant.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/vtable/vtable-vacant.stderr (renamed from src/test/ui/traits/vtable/vtable-vacant.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/maybe-bound.rs (renamed from src/test/ui/traits/wf-object/maybe-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/maybe-bound.stderr (renamed from src/test/ui/traits/wf-object/maybe-bound.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/no-duplicates.rs (renamed from src/test/ui/traits/wf-object/no-duplicates.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/no-duplicates.stderr (renamed from src/test/ui/traits/wf-object/no-duplicates.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/only-maybe-bound.rs (renamed from src/test/ui/traits/wf-object/only-maybe-bound.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/only-maybe-bound.stderr (renamed from src/test/ui/traits/wf-object/only-maybe-bound.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/traits/wf-object/reverse-order.rs (renamed from src/test/ui/traits/wf-object/reverse-order.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/where-clause-vs-impl.rs (renamed from src/test/ui/traits/where-clause-vs-impl.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/with-bounds-default.rs (renamed from src/test/ui/traits/with-bounds-default.rs) | 0 | ||||
-rw-r--r-- | tests/ui/traits/with-dst.rs (renamed from src/test/ui/traits/with-dst.rs) | 0 |
595 files changed, 1101 insertions, 130 deletions
diff --git a/src/test/ui/traits/alias/ambiguous.rs b/tests/ui/traits/alias/ambiguous.rs index 28409e0c6..28409e0c6 100644 --- a/src/test/ui/traits/alias/ambiguous.rs +++ b/tests/ui/traits/alias/ambiguous.rs diff --git a/src/test/ui/traits/alias/ambiguous.stderr b/tests/ui/traits/alias/ambiguous.stderr index 0fe1a7967..0fe1a7967 100644 --- a/src/test/ui/traits/alias/ambiguous.stderr +++ b/tests/ui/traits/alias/ambiguous.stderr diff --git a/src/test/ui/traits/alias/auxiliary/greeter.rs b/tests/ui/traits/alias/auxiliary/greeter.rs index 9e4122155..9e4122155 100644 --- a/src/test/ui/traits/alias/auxiliary/greeter.rs +++ b/tests/ui/traits/alias/auxiliary/greeter.rs diff --git a/src/test/ui/traits/alias/auxiliary/send_sync.rs b/tests/ui/traits/alias/auxiliary/send_sync.rs index 9e56b87e0..9e56b87e0 100644 --- a/src/test/ui/traits/alias/auxiliary/send_sync.rs +++ b/tests/ui/traits/alias/auxiliary/send_sync.rs diff --git a/src/test/ui/traits/alias/basic.rs b/tests/ui/traits/alias/basic.rs index d8168f299..d8168f299 100644 --- a/src/test/ui/traits/alias/basic.rs +++ b/tests/ui/traits/alias/basic.rs diff --git a/src/test/ui/traits/alias/bounds.rs b/tests/ui/traits/alias/bounds.rs index b97eb38c5..b97eb38c5 100644 --- a/src/test/ui/traits/alias/bounds.rs +++ b/tests/ui/traits/alias/bounds.rs diff --git a/src/test/ui/traits/alias/cross-crate.rs b/tests/ui/traits/alias/cross-crate.rs index 8919c6434..8919c6434 100644 --- a/src/test/ui/traits/alias/cross-crate.rs +++ b/tests/ui/traits/alias/cross-crate.rs diff --git a/src/test/ui/traits/alias/cross-crate.stderr b/tests/ui/traits/alias/cross-crate.stderr index ae9d7d0a9..ae9d7d0a9 100644 --- a/src/test/ui/traits/alias/cross-crate.stderr +++ b/tests/ui/traits/alias/cross-crate.stderr diff --git a/src/test/ui/traits/alias/generic-default-in-dyn.rs b/tests/ui/traits/alias/generic-default-in-dyn.rs index d44e1c2a9..d44e1c2a9 100644 --- a/src/test/ui/traits/alias/generic-default-in-dyn.rs +++ b/tests/ui/traits/alias/generic-default-in-dyn.rs diff --git a/src/test/ui/traits/alias/generic-default-in-dyn.stderr b/tests/ui/traits/alias/generic-default-in-dyn.stderr index 76a068e86..0d3f794aa 100644 --- a/src/test/ui/traits/alias/generic-default-in-dyn.stderr +++ b/tests/ui/traits/alias/generic-default-in-dyn.stderr @@ -12,11 +12,9 @@ error[E0393]: the type parameter `Rhs` must be explicitly specified | LL | struct Foo<T>(dyn SendEqAlias<T>); | ^^^^^^^^^^^^^^ missing reference to `Rhs` + --> $SRC_DIR/core/src/cmp.rs:LL:COL | - ::: $SRC_DIR/core/src/cmp.rs:LL:COL - | -LL | pub trait PartialEq<Rhs: ?Sized = Self> { - | --------------------------------------- type parameter `Rhs` must be specified for this + = note: type parameter `Rhs` must be specified for this | = note: because of the default `Self` reference, type parameters must be specified on object types @@ -25,11 +23,9 @@ error[E0393]: the type parameter `Rhs` must be explicitly specified | LL | struct Bar<T>(dyn SendEqAlias<T>, T); | ^^^^^^^^^^^^^^ missing reference to `Rhs` + --> $SRC_DIR/core/src/cmp.rs:LL:COL | - ::: $SRC_DIR/core/src/cmp.rs:LL:COL - | -LL | pub trait PartialEq<Rhs: ?Sized = Self> { - | --------------------------------------- type parameter `Rhs` must be specified for this + = note: type parameter `Rhs` must be specified for this | = note: because of the default `Self` reference, type parameters must be specified on object types diff --git a/src/test/ui/traits/alias/impl.rs b/tests/ui/traits/alias/impl.rs index 6e35793a0..6e35793a0 100644 --- a/src/test/ui/traits/alias/impl.rs +++ b/tests/ui/traits/alias/impl.rs diff --git a/src/test/ui/traits/alias/impl.stderr b/tests/ui/traits/alias/impl.stderr index cedcd1021..cedcd1021 100644 --- a/src/test/ui/traits/alias/impl.stderr +++ b/tests/ui/traits/alias/impl.stderr diff --git a/src/test/ui/traits/alias/import-cross-crate.rs b/tests/ui/traits/alias/import-cross-crate.rs index 868585cd0..868585cd0 100644 --- a/src/test/ui/traits/alias/import-cross-crate.rs +++ b/tests/ui/traits/alias/import-cross-crate.rs diff --git a/src/test/ui/traits/alias/import.rs b/tests/ui/traits/alias/import.rs index 802a8f156..802a8f156 100644 --- a/src/test/ui/traits/alias/import.rs +++ b/tests/ui/traits/alias/import.rs diff --git a/src/test/ui/traits/alias/issue-60021-assoc-method-resolve.rs b/tests/ui/traits/alias/issue-60021-assoc-method-resolve.rs index 5e27ed3c6..5e27ed3c6 100644 --- a/src/test/ui/traits/alias/issue-60021-assoc-method-resolve.rs +++ b/tests/ui/traits/alias/issue-60021-assoc-method-resolve.rs diff --git a/src/test/ui/traits/alias/issue-72415-assoc-const-resolve.rs b/tests/ui/traits/alias/issue-72415-assoc-const-resolve.rs index e49125d10..e49125d10 100644 --- a/src/test/ui/traits/alias/issue-72415-assoc-const-resolve.rs +++ b/tests/ui/traits/alias/issue-72415-assoc-const-resolve.rs diff --git a/src/test/ui/traits/alias/issue-75983.rs b/tests/ui/traits/alias/issue-75983.rs index f9a7f36de..f9a7f36de 100644 --- a/src/test/ui/traits/alias/issue-75983.rs +++ b/tests/ui/traits/alias/issue-75983.rs diff --git a/src/test/ui/traits/alias/issue-83613.rs b/tests/ui/traits/alias/issue-83613.rs index 2462e703a..2462e703a 100644 --- a/src/test/ui/traits/alias/issue-83613.rs +++ b/tests/ui/traits/alias/issue-83613.rs diff --git a/src/test/ui/traits/alias/issue-83613.stderr b/tests/ui/traits/alias/issue-83613.stderr index a78294da6..a78294da6 100644 --- a/src/test/ui/traits/alias/issue-83613.stderr +++ b/tests/ui/traits/alias/issue-83613.stderr diff --git a/src/test/ui/traits/alias/maybe-bound.rs b/tests/ui/traits/alias/maybe-bound.rs index 284baa481..284baa481 100644 --- a/src/test/ui/traits/alias/maybe-bound.rs +++ b/tests/ui/traits/alias/maybe-bound.rs diff --git a/src/test/ui/traits/alias/no-duplicates.rs b/tests/ui/traits/alias/no-duplicates.rs index 88feb8917..88feb8917 100644 --- a/src/test/ui/traits/alias/no-duplicates.rs +++ b/tests/ui/traits/alias/no-duplicates.rs diff --git a/src/test/ui/traits/alias/no-duplicates.stderr b/tests/ui/traits/alias/no-duplicates.stderr index bf244b97e..bf244b97e 100644 --- a/src/test/ui/traits/alias/no-duplicates.stderr +++ b/tests/ui/traits/alias/no-duplicates.stderr diff --git a/src/test/ui/traits/alias/no-extra-traits.rs b/tests/ui/traits/alias/no-extra-traits.rs index 4dad8c0f8..4dad8c0f8 100644 --- a/src/test/ui/traits/alias/no-extra-traits.rs +++ b/tests/ui/traits/alias/no-extra-traits.rs diff --git a/src/test/ui/traits/alias/no-extra-traits.stderr b/tests/ui/traits/alias/no-extra-traits.stderr index 4b1ddf684..4b1ddf684 100644 --- a/src/test/ui/traits/alias/no-extra-traits.stderr +++ b/tests/ui/traits/alias/no-extra-traits.stderr diff --git a/src/test/ui/traits/alias/object-fail.rs b/tests/ui/traits/alias/object-fail.rs index 5c753ff20..5c753ff20 100644 --- a/src/test/ui/traits/alias/object-fail.rs +++ b/tests/ui/traits/alias/object-fail.rs diff --git a/src/test/ui/traits/alias/object-fail.stderr b/tests/ui/traits/alias/object-fail.stderr index 325bc6d28..048a150df 100644 --- a/src/test/ui/traits/alias/object-fail.stderr +++ b/tests/ui/traits/alias/object-fail.stderr @@ -7,8 +7,7 @@ LL | let _: &dyn EqAlias = &123; note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> --> $SRC_DIR/core/src/cmp.rs:LL:COL | -LL | pub trait Eq: PartialEq<Self> { - | ^^^^^^^^^^^^^^^ the trait cannot be made into an object because it uses `Self` as a type parameter + = note: the trait cannot be made into an object because it uses `Self` as a type parameter error[E0191]: the value of the associated type `Item` (from trait `Iterator`) must be specified --> $DIR/object-fail.rs:9:17 diff --git a/src/test/ui/traits/alias/object-wf.rs b/tests/ui/traits/alias/object-wf.rs index 1440f02df..1440f02df 100644 --- a/src/test/ui/traits/alias/object-wf.rs +++ b/tests/ui/traits/alias/object-wf.rs diff --git a/src/test/ui/traits/alias/object.rs b/tests/ui/traits/alias/object.rs index 12177cd82..12177cd82 100644 --- a/src/test/ui/traits/alias/object.rs +++ b/tests/ui/traits/alias/object.rs diff --git a/src/test/ui/traits/alias/only-maybe-bound.rs b/tests/ui/traits/alias/only-maybe-bound.rs index e4abf314e..e4abf314e 100644 --- a/src/test/ui/traits/alias/only-maybe-bound.rs +++ b/tests/ui/traits/alias/only-maybe-bound.rs diff --git a/src/test/ui/traits/alias/only-maybe-bound.stderr b/tests/ui/traits/alias/only-maybe-bound.stderr index 175ec8120..175ec8120 100644 --- a/src/test/ui/traits/alias/only-maybe-bound.stderr +++ b/tests/ui/traits/alias/only-maybe-bound.stderr diff --git a/src/test/ui/traits/alias/self-in-const-generics.rs b/tests/ui/traits/alias/self-in-const-generics.rs index b0de8ccd6..b0de8ccd6 100644 --- a/src/test/ui/traits/alias/self-in-const-generics.rs +++ b/tests/ui/traits/alias/self-in-const-generics.rs diff --git a/src/test/ui/traits/alias/self-in-const-generics.stderr b/tests/ui/traits/alias/self-in-const-generics.stderr index 61cc217cf..61cc217cf 100644 --- a/src/test/ui/traits/alias/self-in-const-generics.stderr +++ b/tests/ui/traits/alias/self-in-const-generics.stderr diff --git a/src/test/ui/traits/alias/self-in-generics.rs b/tests/ui/traits/alias/self-in-generics.rs index 0bb6335f9..0bb6335f9 100644 --- a/src/test/ui/traits/alias/self-in-generics.rs +++ b/tests/ui/traits/alias/self-in-generics.rs diff --git a/src/test/ui/traits/alias/self-in-generics.stderr b/tests/ui/traits/alias/self-in-generics.stderr index 110d60e6e..110d60e6e 100644 --- a/src/test/ui/traits/alias/self-in-generics.stderr +++ b/tests/ui/traits/alias/self-in-generics.stderr diff --git a/src/test/ui/traits/alias/style_lint.rs b/tests/ui/traits/alias/style_lint.rs index 33be20054..33be20054 100644 --- a/src/test/ui/traits/alias/style_lint.rs +++ b/tests/ui/traits/alias/style_lint.rs diff --git a/src/test/ui/traits/alias/style_lint.stderr b/tests/ui/traits/alias/style_lint.stderr index 91e2ea90e..91e2ea90e 100644 --- a/src/test/ui/traits/alias/style_lint.stderr +++ b/tests/ui/traits/alias/style_lint.stderr diff --git a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed index 8a94abaeb..8a94abaeb 100644 --- a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed +++ b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.fixed diff --git a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.rs b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.rs index 40c678c28..40c678c28 100644 --- a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.rs +++ b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.rs diff --git a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr index 6e03eeada..6e03eeada 100644 --- a/src/test/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr +++ b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr diff --git a/src/test/ui/traits/alias/syntax-fail.rs b/tests/ui/traits/alias/syntax-fail.rs index 039bbce8c..039bbce8c 100644 --- a/src/test/ui/traits/alias/syntax-fail.rs +++ b/tests/ui/traits/alias/syntax-fail.rs diff --git a/src/test/ui/traits/alias/syntax-fail.stderr b/tests/ui/traits/alias/syntax-fail.stderr index 748b92056..748b92056 100644 --- a/src/test/ui/traits/alias/syntax-fail.stderr +++ b/tests/ui/traits/alias/syntax-fail.stderr diff --git a/src/test/ui/traits/alias/syntax.rs b/tests/ui/traits/alias/syntax.rs index 17557a51a..17557a51a 100644 --- a/src/test/ui/traits/alias/syntax.rs +++ b/tests/ui/traits/alias/syntax.rs diff --git a/src/test/ui/traits/alias/wf.rs b/tests/ui/traits/alias/wf.rs index d10e2abb0..d10e2abb0 100644 --- a/src/test/ui/traits/alias/wf.rs +++ b/tests/ui/traits/alias/wf.rs diff --git a/src/test/ui/traits/alias/wf.stderr b/tests/ui/traits/alias/wf.stderr index 7172008d3..7172008d3 100644 --- a/src/test/ui/traits/alias/wf.stderr +++ b/tests/ui/traits/alias/wf.stderr diff --git a/src/test/ui/traits/alignment-gep-tup-like-1.rs b/tests/ui/traits/alignment-gep-tup-like-1.rs index eb503dcf3..eb503dcf3 100644 --- a/src/test/ui/traits/alignment-gep-tup-like-1.rs +++ b/tests/ui/traits/alignment-gep-tup-like-1.rs diff --git a/src/test/ui/traits/anon-static-method.rs b/tests/ui/traits/anon-static-method.rs index ede01afae..ede01afae 100644 --- a/src/test/ui/traits/anon-static-method.rs +++ b/tests/ui/traits/anon-static-method.rs diff --git a/src/test/ui/traits/anon_trait_static_method_exe.rs b/tests/ui/traits/anon_trait_static_method_exe.rs index b49302954..b49302954 100644 --- a/src/test/ui/traits/anon_trait_static_method_exe.rs +++ b/tests/ui/traits/anon_trait_static_method_exe.rs diff --git a/src/test/ui/traits/as-struct-constructor.rs b/tests/ui/traits/as-struct-constructor.rs index 13ebf9d8d..13ebf9d8d 100644 --- a/src/test/ui/traits/as-struct-constructor.rs +++ b/tests/ui/traits/as-struct-constructor.rs diff --git a/src/test/ui/traits/as-struct-constructor.stderr b/tests/ui/traits/as-struct-constructor.stderr index d06e85f3a..d06e85f3a 100644 --- a/src/test/ui/traits/as-struct-constructor.stderr +++ b/tests/ui/traits/as-struct-constructor.stderr diff --git a/src/test/ui/traits/assignability-trait.rs b/tests/ui/traits/assignability-trait.rs index a8547c1d2..a8547c1d2 100644 --- a/src/test/ui/traits/assignability-trait.rs +++ b/tests/ui/traits/assignability-trait.rs diff --git a/tests/ui/traits/assoc-type-in-superbad.rs b/tests/ui/traits/assoc-type-in-superbad.rs new file mode 100644 index 000000000..65340b2a2 --- /dev/null +++ b/tests/ui/traits/assoc-type-in-superbad.rs @@ -0,0 +1,16 @@ +// Test case where an associated type is referenced from within the +// supertrait definition, and the impl makes the wrong +// associations. Issue #20220. + +use std::vec::IntoIter; + +pub trait Foo: Iterator<Item = <Self as Foo>::Key> { + type Key; +} + +impl Foo for IntoIter<i32> { + type Key = u32; + //~^ ERROR expected `IntoIter<i32>` to be an iterator that yields `u32`, but it yields `i32` +} + +fn main() {} diff --git a/src/test/ui/traits/assoc-type-in-superbad.stderr b/tests/ui/traits/assoc-type-in-superbad.stderr index 3e2d9d903..7fa1d2c2e 100644 --- a/src/test/ui/traits/assoc-type-in-superbad.stderr +++ b/tests/ui/traits/assoc-type-in-superbad.stderr @@ -1,4 +1,4 @@ -error[E0271]: expected `std::vec::IntoIter<i32>` to be an iterator that yields `u32`, but it yields `i32` +error[E0271]: expected `IntoIter<i32>` to be an iterator that yields `u32`, but it yields `i32` --> $DIR/assoc-type-in-superbad.rs:12:16 | LL | type Key = u32; diff --git a/src/test/ui/traits/assoc-type-in-supertrait.rs b/tests/ui/traits/assoc-type-in-supertrait.rs index 7d6a754cc..7d6a754cc 100644 --- a/src/test/ui/traits/assoc-type-in-supertrait.rs +++ b/tests/ui/traits/assoc-type-in-supertrait.rs diff --git a/src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs index 471a6b836..471a6b836 100644 --- a/src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs +++ b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs diff --git a/src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr index 9ca446a0a..5be334986 100644 --- a/src/test/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr +++ b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr @@ -9,11 +9,9 @@ error[E0404]: expected trait, found struct `String` | LL | struct Foo<T> where T: Bar, <T as Bar>::Baz: String { | ^^^^^^ not a trait + --> $SRC_DIR/alloc/src/string.rs:LL:COL | - ::: $SRC_DIR/alloc/src/string.rs:LL:COL - | -LL | pub trait ToString { - | ------------------ similarly named trait `ToString` defined here + = note: similarly named trait `ToString` defined here | help: constrain the associated type to `String` | @@ -29,11 +27,9 @@ error[E0404]: expected trait, found struct `String` | LL | struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: String { | ^^^^^^ not a trait + --> $SRC_DIR/alloc/src/string.rs:LL:COL | - ::: $SRC_DIR/alloc/src/string.rs:LL:COL - | -LL | pub trait ToString { - | ------------------ similarly named trait `ToString` defined here + = note: similarly named trait `ToString` defined here | help: constrain the associated type to `String` | @@ -49,11 +45,9 @@ error[E0404]: expected trait, found struct `String` | LL | fn foo<T: Bar>(_: T) where <T as Bar>::Baz: String { | ^^^^^^ not a trait + --> $SRC_DIR/alloc/src/string.rs:LL:COL | - ::: $SRC_DIR/alloc/src/string.rs:LL:COL - | -LL | pub trait ToString { - | ------------------ similarly named trait `ToString` defined here + = note: similarly named trait `ToString` defined here | help: constrain the associated type to `String` | @@ -69,11 +63,9 @@ error[E0404]: expected trait, found struct `String` | LL | fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: String { | ^^^^^^ not a trait + --> $SRC_DIR/alloc/src/string.rs:LL:COL | - ::: $SRC_DIR/alloc/src/string.rs:LL:COL - | -LL | pub trait ToString { - | ------------------ similarly named trait `ToString` defined here + = note: similarly named trait `ToString` defined here | help: constrain the associated type to `String` | @@ -89,11 +81,9 @@ error[E0404]: expected trait, found struct `String` | LL | fn issue_95327() where <u8 as Unresolved>::Assoc: String {} | ^^^^^^ help: a trait with a similar name exists: `ToString` + --> $SRC_DIR/alloc/src/string.rs:LL:COL | - ::: $SRC_DIR/alloc/src/string.rs:LL:COL - | -LL | pub trait ToString { - | ------------------ similarly named trait `ToString` defined here + = note: similarly named trait `ToString` defined here error: aborting due to 6 previous errors diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs index b1f124c7e..b1f124c7e 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr index fa7a8a2a0..fa7a8a2a0 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-1.stderr diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs index 1422dda27..1422dda27 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs index eb2fb6e84..eb2fb6e84 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr index 10e82c54e..10e82c54e 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-2.stderr diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs index ba04fd93a..ba04fd93a 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr index ade552c4b..ade552c4b 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-3.stderr diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs index e9ca1563f..e9ca1563f 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr index 4891ee9c2..4891ee9c2 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-4.stderr diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs index 7d733ad26..7d733ad26 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr index 00fdb3753..00fdb3753 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-5.stderr diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs index cb196d67f..cb196d67f 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.rs diff --git a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr index 9b0975e5e..9b0975e5e 100644 --- a/src/test/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr +++ b/tests/ui/traits/associated_type_bound/check-trait-object-bounds-6.stderr diff --git a/src/test/ui/traits/associated_type_bound/issue-51446.rs b/tests/ui/traits/associated_type_bound/issue-51446.rs index 7dd95de73..7dd95de73 100644 --- a/src/test/ui/traits/associated_type_bound/issue-51446.rs +++ b/tests/ui/traits/associated_type_bound/issue-51446.rs diff --git a/src/test/ui/traits/astconv-cycle-between-and-type.rs b/tests/ui/traits/astconv-cycle-between-and-type.rs index cc8f9dc51..cc8f9dc51 100644 --- a/src/test/ui/traits/astconv-cycle-between-and-type.rs +++ b/tests/ui/traits/astconv-cycle-between-and-type.rs diff --git a/src/test/ui/traits/augmented-assignments-trait.rs b/tests/ui/traits/augmented-assignments-trait.rs index 747a5393f..747a5393f 100644 --- a/src/test/ui/traits/augmented-assignments-trait.rs +++ b/tests/ui/traits/augmented-assignments-trait.rs diff --git a/src/test/ui/traits/auxiliary/anon_trait_static_method_lib.rs b/tests/ui/traits/auxiliary/anon_trait_static_method_lib.rs index dceec7e3e..dceec7e3e 100644 --- a/src/test/ui/traits/auxiliary/anon_trait_static_method_lib.rs +++ b/tests/ui/traits/auxiliary/anon_trait_static_method_lib.rs diff --git a/src/test/ui/traits/auxiliary/go_trait.rs b/tests/ui/traits/auxiliary/go_trait.rs index aa0ec2289..aa0ec2289 100644 --- a/src/test/ui/traits/auxiliary/go_trait.rs +++ b/tests/ui/traits/auxiliary/go_trait.rs diff --git a/src/test/ui/traits/auxiliary/issue_89119_intercrate_caching.rs b/tests/ui/traits/auxiliary/issue_89119_intercrate_caching.rs index 769e89731..769e89731 100644 --- a/src/test/ui/traits/auxiliary/issue_89119_intercrate_caching.rs +++ b/tests/ui/traits/auxiliary/issue_89119_intercrate_caching.rs diff --git a/src/test/ui/traits/auxiliary/trait_safety_lib.rs b/tests/ui/traits/auxiliary/trait_safety_lib.rs index 6fc432ed4..6fc432ed4 100644 --- a/src/test/ui/traits/auxiliary/trait_safety_lib.rs +++ b/tests/ui/traits/auxiliary/trait_safety_lib.rs diff --git a/src/test/ui/traits/auxiliary/traitimpl.rs b/tests/ui/traits/auxiliary/traitimpl.rs index fda5314cd..fda5314cd 100644 --- a/src/test/ui/traits/auxiliary/traitimpl.rs +++ b/tests/ui/traits/auxiliary/traitimpl.rs diff --git a/src/test/ui/traits/bad-method-typaram-kind.rs b/tests/ui/traits/bad-method-typaram-kind.rs index b088eae1c..b088eae1c 100644 --- a/src/test/ui/traits/bad-method-typaram-kind.rs +++ b/tests/ui/traits/bad-method-typaram-kind.rs diff --git a/src/test/ui/traits/bad-method-typaram-kind.stderr b/tests/ui/traits/bad-method-typaram-kind.stderr index 56acfbe80..56acfbe80 100644 --- a/src/test/ui/traits/bad-method-typaram-kind.stderr +++ b/tests/ui/traits/bad-method-typaram-kind.stderr diff --git a/src/test/ui/traits/bad-sized.rs b/tests/ui/traits/bad-sized.rs index a15219679..a15219679 100644 --- a/src/test/ui/traits/bad-sized.rs +++ b/tests/ui/traits/bad-sized.rs diff --git a/src/test/ui/traits/bad-sized.stderr b/tests/ui/traits/bad-sized.stderr index 6f9113fff..fb9900bc5 100644 --- a/src/test/ui/traits/bad-sized.stderr +++ b/tests/ui/traits/bad-sized.stderr @@ -18,9 +18,6 @@ LL | let x: Vec<dyn Trait + Sized> = Vec::new(); = help: the trait `Sized` is not implemented for `dyn Trait` note: required by a bound in `Vec` --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL - | -LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> { - | ^ required by this bound in `Vec` error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time --> $DIR/bad-sized.rs:4:37 @@ -31,9 +28,6 @@ LL | let x: Vec<dyn Trait + Sized> = Vec::new(); = help: the trait `Sized` is not implemented for `dyn Trait` note: required by a bound in `Vec::<T>::new` --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL - | -LL | impl<T> Vec<T> { - | ^ required by this bound in `Vec::<T>::new` error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time --> $DIR/bad-sized.rs:4:37 @@ -44,9 +38,6 @@ LL | let x: Vec<dyn Trait + Sized> = Vec::new(); = help: the trait `Sized` is not implemented for `dyn Trait` note: required by a bound in `Vec` --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL - | -LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> { - | ^ required by this bound in `Vec` error: aborting due to 4 previous errors diff --git a/src/test/ui/traits/bound/assoc-fn-bound-root-obligation.rs b/tests/ui/traits/bound/assoc-fn-bound-root-obligation.rs index f9a934764..f9a934764 100644 --- a/src/test/ui/traits/bound/assoc-fn-bound-root-obligation.rs +++ b/tests/ui/traits/bound/assoc-fn-bound-root-obligation.rs diff --git a/src/test/ui/traits/bound/assoc-fn-bound-root-obligation.stderr b/tests/ui/traits/bound/assoc-fn-bound-root-obligation.stderr index ce9ab2d81..ce9ab2d81 100644 --- a/src/test/ui/traits/bound/assoc-fn-bound-root-obligation.stderr +++ b/tests/ui/traits/bound/assoc-fn-bound-root-obligation.stderr diff --git a/src/test/ui/traits/bound/auxiliary/crate_a1.rs b/tests/ui/traits/bound/auxiliary/crate_a1.rs index 6aa010258..6aa010258 100644 --- a/src/test/ui/traits/bound/auxiliary/crate_a1.rs +++ b/tests/ui/traits/bound/auxiliary/crate_a1.rs diff --git a/src/test/ui/traits/bound/auxiliary/crate_a2.rs b/tests/ui/traits/bound/auxiliary/crate_a2.rs index d6057db5e..d6057db5e 100644 --- a/src/test/ui/traits/bound/auxiliary/crate_a2.rs +++ b/tests/ui/traits/bound/auxiliary/crate_a2.rs diff --git a/src/test/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs b/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs index 7e9592eee..7e9592eee 100644 --- a/src/test/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs +++ b/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs diff --git a/src/test/ui/traits/bound/basic.rs b/tests/ui/traits/bound/basic.rs index 8c8a7eb7d..8c8a7eb7d 100644 --- a/src/test/ui/traits/bound/basic.rs +++ b/tests/ui/traits/bound/basic.rs diff --git a/src/test/ui/traits/bound/generic_trait.rs b/tests/ui/traits/bound/generic_trait.rs index 18382bb59..18382bb59 100644 --- a/src/test/ui/traits/bound/generic_trait.rs +++ b/tests/ui/traits/bound/generic_trait.rs diff --git a/src/test/ui/traits/bound/impl-comparison-duplicates.rs b/tests/ui/traits/bound/impl-comparison-duplicates.rs index de6c2afa2..de6c2afa2 100644 --- a/src/test/ui/traits/bound/impl-comparison-duplicates.rs +++ b/tests/ui/traits/bound/impl-comparison-duplicates.rs diff --git a/src/test/ui/traits/bound/in-arc.rs b/tests/ui/traits/bound/in-arc.rs index a1492c0b9..a1492c0b9 100644 --- a/src/test/ui/traits/bound/in-arc.rs +++ b/tests/ui/traits/bound/in-arc.rs diff --git a/src/test/ui/traits/bound/multiple.rs b/tests/ui/traits/bound/multiple.rs index 868b33407..868b33407 100644 --- a/src/test/ui/traits/bound/multiple.rs +++ b/tests/ui/traits/bound/multiple.rs diff --git a/src/test/ui/traits/bound/not-on-bare-trait.rs b/tests/ui/traits/bound/not-on-bare-trait.rs index daf18c670..daf18c670 100644 --- a/src/test/ui/traits/bound/not-on-bare-trait.rs +++ b/tests/ui/traits/bound/not-on-bare-trait.rs diff --git a/src/test/ui/traits/bound/not-on-bare-trait.stderr b/tests/ui/traits/bound/not-on-bare-trait.stderr index 8da0b6d6b..36b08a7d3 100644 --- a/src/test/ui/traits/bound/not-on-bare-trait.stderr +++ b/tests/ui/traits/bound/not-on-bare-trait.stderr @@ -20,6 +20,10 @@ LL | fn foo(_x: Foo + Send) { | = help: the trait `Sized` is not implemented for `(dyn Foo + Send + 'static)` = help: unsized fn params are gated as an unstable feature +help: you can use `impl Trait` as the argument type + | +LL | fn foo(_x: impl Foo + Send) { + | ++++ help: function arguments must have a statically known size, borrowed types always have a known size | LL | fn foo(_x: &Foo + Send) { diff --git a/src/test/ui/traits/bound/not-on-struct.rs b/tests/ui/traits/bound/not-on-struct.rs index 8633e9d7a..8633e9d7a 100644 --- a/src/test/ui/traits/bound/not-on-struct.rs +++ b/tests/ui/traits/bound/not-on-struct.rs diff --git a/src/test/ui/traits/bound/not-on-struct.stderr b/tests/ui/traits/bound/not-on-struct.stderr index 2de35dc7f..2de35dc7f 100644 --- a/src/test/ui/traits/bound/not-on-struct.stderr +++ b/tests/ui/traits/bound/not-on-struct.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-in-fns.rs b/tests/ui/traits/bound/on-structs-and-enums-in-fns.rs index 6a6fcf530..6a6fcf530 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-in-fns.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-in-fns.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-in-fns.stderr b/tests/ui/traits/bound/on-structs-and-enums-in-fns.stderr index 61237a63e..61237a63e 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-in-fns.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-in-fns.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-in-impls.rs b/tests/ui/traits/bound/on-structs-and-enums-in-impls.rs index d37949952..d37949952 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-in-impls.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-in-impls.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-in-impls.stderr b/tests/ui/traits/bound/on-structs-and-enums-in-impls.stderr index 8a4374226..8a4374226 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-in-impls.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-in-impls.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-locals.rs b/tests/ui/traits/bound/on-structs-and-enums-locals.rs index 60ba343bb..60ba343bb 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-locals.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-locals.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-locals.stderr b/tests/ui/traits/bound/on-structs-and-enums-locals.stderr index 20bbe69c0..20bbe69c0 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-locals.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-locals.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-rpass.rs b/tests/ui/traits/bound/on-structs-and-enums-rpass.rs index 4dc4fecc9..4dc4fecc9 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-rpass.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-rpass.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-static.rs b/tests/ui/traits/bound/on-structs-and-enums-static.rs index df3f8b8a5..df3f8b8a5 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-static.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-static.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-static.stderr b/tests/ui/traits/bound/on-structs-and-enums-static.stderr index fda734e85..fda734e85 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-static.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-static.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-xc.rs b/tests/ui/traits/bound/on-structs-and-enums-xc.rs index 94316d240..94316d240 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-xc.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-xc.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-xc.stderr b/tests/ui/traits/bound/on-structs-and-enums-xc.stderr index 5064b60bf..5064b60bf 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-xc.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-xc.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums-xc1.rs b/tests/ui/traits/bound/on-structs-and-enums-xc1.rs index 5ef35b513..5ef35b513 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-xc1.rs +++ b/tests/ui/traits/bound/on-structs-and-enums-xc1.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums-xc1.stderr b/tests/ui/traits/bound/on-structs-and-enums-xc1.stderr index 3fb5decb7..3fb5decb7 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums-xc1.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums-xc1.stderr diff --git a/src/test/ui/traits/bound/on-structs-and-enums.rs b/tests/ui/traits/bound/on-structs-and-enums.rs index 024084fa7..024084fa7 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums.rs +++ b/tests/ui/traits/bound/on-structs-and-enums.rs diff --git a/src/test/ui/traits/bound/on-structs-and-enums.stderr b/tests/ui/traits/bound/on-structs-and-enums.stderr index fe05b8634..fe05b8634 100644 --- a/src/test/ui/traits/bound/on-structs-and-enums.stderr +++ b/tests/ui/traits/bound/on-structs-and-enums.stderr diff --git a/src/test/ui/traits/bound/recursion.rs b/tests/ui/traits/bound/recursion.rs index 0023ff654..0023ff654 100644 --- a/src/test/ui/traits/bound/recursion.rs +++ b/tests/ui/traits/bound/recursion.rs diff --git a/src/test/ui/traits/bound/same-crate-name.rs b/tests/ui/traits/bound/same-crate-name.rs index 8d646a414..8d646a414 100644 --- a/src/test/ui/traits/bound/same-crate-name.rs +++ b/tests/ui/traits/bound/same-crate-name.rs diff --git a/src/test/ui/traits/bound/same-crate-name.stderr b/tests/ui/traits/bound/same-crate-name.stderr index f66cad77f..f66cad77f 100644 --- a/src/test/ui/traits/bound/same-crate-name.stderr +++ b/tests/ui/traits/bound/same-crate-name.stderr diff --git a/src/test/ui/traits/bound/sugar.rs b/tests/ui/traits/bound/sugar.rs index 65b6f6faa..65b6f6faa 100644 --- a/src/test/ui/traits/bound/sugar.rs +++ b/tests/ui/traits/bound/sugar.rs diff --git a/src/test/ui/traits/bound/sugar.stderr b/tests/ui/traits/bound/sugar.stderr index b67648c7b..b67648c7b 100644 --- a/src/test/ui/traits/bound/sugar.stderr +++ b/tests/ui/traits/bound/sugar.stderr diff --git a/src/test/ui/traits/bug-7183-generics.rs b/tests/ui/traits/bug-7183-generics.rs index f53a17361..f53a17361 100644 --- a/src/test/ui/traits/bug-7183-generics.rs +++ b/tests/ui/traits/bug-7183-generics.rs diff --git a/src/test/ui/traits/bug-7295.rs b/tests/ui/traits/bug-7295.rs index 156ff2ee8..156ff2ee8 100644 --- a/src/test/ui/traits/bug-7295.rs +++ b/tests/ui/traits/bug-7295.rs diff --git a/src/test/ui/traits/cache-issue-18209.rs b/tests/ui/traits/cache-issue-18209.rs index 15676e455..15676e455 100644 --- a/src/test/ui/traits/cache-issue-18209.rs +++ b/tests/ui/traits/cache-issue-18209.rs diff --git a/src/test/ui/traits/cache-reached-depth-ice.rs b/tests/ui/traits/cache-reached-depth-ice.rs index c36ac0857..c36ac0857 100644 --- a/src/test/ui/traits/cache-reached-depth-ice.rs +++ b/tests/ui/traits/cache-reached-depth-ice.rs diff --git a/src/test/ui/traits/cache-reached-depth-ice.stderr b/tests/ui/traits/cache-reached-depth-ice.stderr index 082aa0f5c..082aa0f5c 100644 --- a/src/test/ui/traits/cache-reached-depth-ice.stderr +++ b/tests/ui/traits/cache-reached-depth-ice.stderr diff --git a/src/test/ui/traits/coercion-generic-bad.rs b/tests/ui/traits/coercion-generic-bad.rs index 2e115c732..2e115c732 100644 --- a/src/test/ui/traits/coercion-generic-bad.rs +++ b/tests/ui/traits/coercion-generic-bad.rs diff --git a/src/test/ui/traits/coercion-generic-bad.stderr b/tests/ui/traits/coercion-generic-bad.stderr index 93d6770eb..93d6770eb 100644 --- a/src/test/ui/traits/coercion-generic-bad.stderr +++ b/tests/ui/traits/coercion-generic-bad.stderr diff --git a/src/test/ui/traits/coercion-generic-regions.rs b/tests/ui/traits/coercion-generic-regions.rs index af478df6d..af478df6d 100644 --- a/src/test/ui/traits/coercion-generic-regions.rs +++ b/tests/ui/traits/coercion-generic-regions.rs diff --git a/src/test/ui/traits/coercion-generic-regions.stderr b/tests/ui/traits/coercion-generic-regions.stderr index 5cfb64901..5cfb64901 100644 --- a/src/test/ui/traits/coercion-generic-regions.stderr +++ b/tests/ui/traits/coercion-generic-regions.stderr diff --git a/src/test/ui/traits/coercion-generic.rs b/tests/ui/traits/coercion-generic.rs index bf4dda495..bf4dda495 100644 --- a/src/test/ui/traits/coercion-generic.rs +++ b/tests/ui/traits/coercion-generic.rs diff --git a/src/test/ui/traits/coercion.rs b/tests/ui/traits/coercion.rs index e62742bac..e62742bac 100644 --- a/src/test/ui/traits/coercion.rs +++ b/tests/ui/traits/coercion.rs diff --git a/src/test/ui/traits/composition-trivial.rs b/tests/ui/traits/composition-trivial.rs index 90e5dcd68..90e5dcd68 100644 --- a/src/test/ui/traits/composition-trivial.rs +++ b/tests/ui/traits/composition-trivial.rs diff --git a/src/test/ui/traits/conditional-dispatch.rs b/tests/ui/traits/conditional-dispatch.rs index dd882dce6..dd882dce6 100644 --- a/src/test/ui/traits/conditional-dispatch.rs +++ b/tests/ui/traits/conditional-dispatch.rs diff --git a/src/test/ui/traits/conditional-model-fn.rs b/tests/ui/traits/conditional-model-fn.rs index ba8867003..ba8867003 100644 --- a/src/test/ui/traits/conditional-model-fn.rs +++ b/tests/ui/traits/conditional-model-fn.rs diff --git a/src/test/ui/traits/conservative_impl_trait.rs b/tests/ui/traits/conservative_impl_trait.rs index 4f25e57be..4f25e57be 100644 --- a/src/test/ui/traits/conservative_impl_trait.rs +++ b/tests/ui/traits/conservative_impl_trait.rs diff --git a/src/test/ui/traits/copy-guessing.rs b/tests/ui/traits/copy-guessing.rs index f031dd9ca..f031dd9ca 100644 --- a/src/test/ui/traits/copy-guessing.rs +++ b/tests/ui/traits/copy-guessing.rs diff --git a/src/test/ui/traits/copy-impl-cannot-normalize.rs b/tests/ui/traits/copy-impl-cannot-normalize.rs index a78ff046e..a78ff046e 100644 --- a/src/test/ui/traits/copy-impl-cannot-normalize.rs +++ b/tests/ui/traits/copy-impl-cannot-normalize.rs diff --git a/tests/ui/traits/copy-impl-cannot-normalize.stderr b/tests/ui/traits/copy-impl-cannot-normalize.stderr new file mode 100644 index 000000000..86c511c08 --- /dev/null +++ b/tests/ui/traits/copy-impl-cannot-normalize.stderr @@ -0,0 +1,24 @@ +error[E0277]: the trait bound `T: TraitFoo` is not satisfied + --> $DIR/copy-impl-cannot-normalize.rs:22:18 + | +LL | impl<T> Copy for Foo<T> {} + | ^^^^^^ the trait `TraitFoo` is not implemented for `T` + | +note: required for `Foo<T>` to implement `Clone` + --> $DIR/copy-impl-cannot-normalize.rs:12:9 + | +LL | impl<T> Clone for Foo<T> + | ^^^^^ ^^^^^^ +LL | where +LL | T: TraitFoo, + | -------- unsatisfied trait bound introduced here +note: required by a bound in `Copy` + --> $SRC_DIR/core/src/marker.rs:LL:COL +help: consider restricting type parameter `T` + | +LL | impl<T: TraitFoo> Copy for Foo<T> {} + | ++++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/tests/ui/traits/copy-is-not-modulo-regions.not_static.stderr b/tests/ui/traits/copy-is-not-modulo-regions.not_static.stderr new file mode 100644 index 000000000..edd94d201 --- /dev/null +++ b/tests/ui/traits/copy-is-not-modulo-regions.not_static.stderr @@ -0,0 +1,22 @@ +error[E0204]: the trait `Copy` may not be implemented for this type + --> $DIR/copy-is-not-modulo-regions.rs:13:21 + | +LL | struct Bar<'lt>(Foo<'lt>); + | -------- this field does not implement `Copy` +... +LL | impl<'any> Copy for Bar<'any> {} + | ^^^^^^^^^ + | +note: the `Copy` impl for `Foo<'any>` requires that `'any: 'static` + --> $DIR/copy-is-not-modulo-regions.rs:10:17 + | +LL | struct Bar<'lt>(Foo<'lt>); + | ^^^^^^^^ +help: consider restricting type parameter `'any` + | +LL | impl<'any: 'static> Copy for Bar<'any> {} + | +++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0204`. diff --git a/tests/ui/traits/copy-is-not-modulo-regions.rs b/tests/ui/traits/copy-is-not-modulo-regions.rs new file mode 100644 index 000000000..adb870237 --- /dev/null +++ b/tests/ui/traits/copy-is-not-modulo-regions.rs @@ -0,0 +1,19 @@ +// revisions: not_static yes_static +//[yes_static] check-pass + +#[derive(Clone)] +struct Foo<'lt>(&'lt ()); + +impl Copy for Foo<'static> {} + +#[derive(Clone)] +struct Bar<'lt>(Foo<'lt>); + +#[cfg(not_static)] +impl<'any> Copy for Bar<'any> {} +//[not_static]~^ the trait `Copy` may not be implemented for this type + +#[cfg(yes_static)] +impl<'any> Copy for Bar<'static> {} + +fn main() {} diff --git a/tests/ui/traits/copy-requires-self-wf.rs b/tests/ui/traits/copy-requires-self-wf.rs new file mode 100644 index 000000000..9abfdfab9 --- /dev/null +++ b/tests/ui/traits/copy-requires-self-wf.rs @@ -0,0 +1,14 @@ +// check-pass + +#[derive(Clone)] +struct A<'a, T>(&'a T); + +impl<'a, T: Copy + 'a> Copy for A<'a, T> {} + +#[derive(Clone)] +struct B<'a, T>(A<'a, T>); + +// `T: '_` should be implied by `WF(B<'_, T>)`. +impl<T: Copy> Copy for B<'_, T> {} + +fn main() {} diff --git a/src/test/ui/traits/cycle-cache-err-60010.rs b/tests/ui/traits/cycle-cache-err-60010.rs index 94e718317..94e718317 100644 --- a/src/test/ui/traits/cycle-cache-err-60010.rs +++ b/tests/ui/traits/cycle-cache-err-60010.rs diff --git a/src/test/ui/traits/cycle-cache-err-60010.stderr b/tests/ui/traits/cycle-cache-err-60010.stderr index 2478eb354..eeee99760 100644 --- a/src/test/ui/traits/cycle-cache-err-60010.stderr +++ b/tests/ui/traits/cycle-cache-err-60010.stderr @@ -22,11 +22,17 @@ note: required for `RootDatabase` to implement `SourceDatabase` | LL | impl<T> SourceDatabase for T | ^^^^^^^^^^^^^^ ^ +LL | where +LL | T: RefUnwindSafe, + | ------------- unsatisfied trait bound introduced here note: required for `ParseQuery` to implement `Query<RootDatabase>` --> $DIR/cycle-cache-err-60010.rs:37:10 | LL | impl<DB> Query<DB> for ParseQuery | ^^^^^^^^^ ^^^^^^^^^^ +LL | where +LL | DB: SourceDatabase, + | -------------- unsatisfied trait bound introduced here error: aborting due to previous error diff --git a/src/test/ui/traits/cycle-generic-bound.rs b/tests/ui/traits/cycle-generic-bound.rs index 9241f3789..9241f3789 100644 --- a/src/test/ui/traits/cycle-generic-bound.rs +++ b/tests/ui/traits/cycle-generic-bound.rs diff --git a/src/test/ui/traits/cycle-type-trait.rs b/tests/ui/traits/cycle-type-trait.rs index c62d01403..c62d01403 100644 --- a/src/test/ui/traits/cycle-type-trait.rs +++ b/tests/ui/traits/cycle-type-trait.rs diff --git a/src/test/ui/traits/default-method/auxiliary/xc.rs b/tests/ui/traits/default-method/auxiliary/xc.rs index 0fb26af80..0fb26af80 100644 --- a/src/test/ui/traits/default-method/auxiliary/xc.rs +++ b/tests/ui/traits/default-method/auxiliary/xc.rs diff --git a/src/test/ui/traits/default-method/auxiliary/xc_2.rs b/tests/ui/traits/default-method/auxiliary/xc_2.rs index 979233820..979233820 100644 --- a/src/test/ui/traits/default-method/auxiliary/xc_2.rs +++ b/tests/ui/traits/default-method/auxiliary/xc_2.rs diff --git a/src/test/ui/traits/default-method/bound-subst.rs b/tests/ui/traits/default-method/bound-subst.rs index 6a5d5c8ba..6a5d5c8ba 100644 --- a/src/test/ui/traits/default-method/bound-subst.rs +++ b/tests/ui/traits/default-method/bound-subst.rs diff --git a/src/test/ui/traits/default-method/bound-subst2.rs b/tests/ui/traits/default-method/bound-subst2.rs index 78eabba2d..78eabba2d 100644 --- a/src/test/ui/traits/default-method/bound-subst2.rs +++ b/tests/ui/traits/default-method/bound-subst2.rs diff --git a/src/test/ui/traits/default-method/bound-subst3.rs b/tests/ui/traits/default-method/bound-subst3.rs index dd39dec4b..dd39dec4b 100644 --- a/src/test/ui/traits/default-method/bound-subst3.rs +++ b/tests/ui/traits/default-method/bound-subst3.rs diff --git a/src/test/ui/traits/default-method/bound-subst4.rs b/tests/ui/traits/default-method/bound-subst4.rs index ef1330645..ef1330645 100644 --- a/src/test/ui/traits/default-method/bound-subst4.rs +++ b/tests/ui/traits/default-method/bound-subst4.rs diff --git a/src/test/ui/traits/default-method/bound.rs b/tests/ui/traits/default-method/bound.rs index 0855a9db8..0855a9db8 100644 --- a/src/test/ui/traits/default-method/bound.rs +++ b/tests/ui/traits/default-method/bound.rs diff --git a/src/test/ui/traits/default-method/macro.rs b/tests/ui/traits/default-method/macro.rs index 2b50ee9b4..2b50ee9b4 100644 --- a/src/test/ui/traits/default-method/macro.rs +++ b/tests/ui/traits/default-method/macro.rs diff --git a/src/test/ui/traits/default-method/mut.rs b/tests/ui/traits/default-method/mut.rs index 5f8e983b0..5f8e983b0 100644 --- a/src/test/ui/traits/default-method/mut.rs +++ b/tests/ui/traits/default-method/mut.rs diff --git a/src/test/ui/traits/default-method/rustc_must_implement_one_of.rs b/tests/ui/traits/default-method/rustc_must_implement_one_of.rs index 5ba2f5ce3..5ba2f5ce3 100644 --- a/src/test/ui/traits/default-method/rustc_must_implement_one_of.rs +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of.rs diff --git a/src/test/ui/traits/default-method/rustc_must_implement_one_of.stderr b/tests/ui/traits/default-method/rustc_must_implement_one_of.stderr index 5a4dd1388..5a4dd1388 100644 --- a/src/test/ui/traits/default-method/rustc_must_implement_one_of.stderr +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of.stderr diff --git a/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.rs b/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.rs new file mode 100644 index 000000000..8db5fa615 --- /dev/null +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.rs @@ -0,0 +1,19 @@ +#![feature(rustc_attrs)] + +#[rustc_must_implement_one_of(a, a)] +//~^ functions names are duplicated +trait Trait { + fn a() {} +} + +#[rustc_must_implement_one_of(b, a, a, c, b, c)] +//~^ functions names are duplicated +//~| functions names are duplicated +//~| functions names are duplicated +trait Trait1 { + fn a() {} + fn b() {} + fn c() {} +} + +fn main() {} diff --git a/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.stderr b/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.stderr new file mode 100644 index 000000000..cd1476a6e --- /dev/null +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_duplicates.stderr @@ -0,0 +1,34 @@ +error: functions names are duplicated + --> $DIR/rustc_must_implement_one_of_duplicates.rs:3:31 + | +LL | #[rustc_must_implement_one_of(a, a)] + | ^ ^ + | + = note: all `#[rustc_must_implement_one_of]` arguments must be unique + +error: functions names are duplicated + --> $DIR/rustc_must_implement_one_of_duplicates.rs:9:34 + | +LL | #[rustc_must_implement_one_of(b, a, a, c, b, c)] + | ^ ^ + | + = note: all `#[rustc_must_implement_one_of]` arguments must be unique + +error: functions names are duplicated + --> $DIR/rustc_must_implement_one_of_duplicates.rs:9:31 + | +LL | #[rustc_must_implement_one_of(b, a, a, c, b, c)] + | ^ ^ + | + = note: all `#[rustc_must_implement_one_of]` arguments must be unique + +error: functions names are duplicated + --> $DIR/rustc_must_implement_one_of_duplicates.rs:9:40 + | +LL | #[rustc_must_implement_one_of(b, a, a, c, b, c)] + | ^ ^ + | + = note: all `#[rustc_must_implement_one_of]` arguments must be unique + +error: aborting due to 4 previous errors + diff --git a/src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.rs b/tests/ui/traits/default-method/rustc_must_implement_one_of_gated.rs index ec2995872..ec2995872 100644 --- a/src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.rs +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_gated.rs diff --git a/src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr b/tests/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr index 228bc3e35..228bc3e35 100644 --- a/src/test/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_gated.stderr diff --git a/tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.rs b/tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.rs new file mode 100644 index 000000000..b1b91966c --- /dev/null +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.rs @@ -0,0 +1,46 @@ +#![feature(rustc_attrs)] + +#[rustc_must_implement_one_of(a, b)] +//~^ function not found in this trait +//~| function not found in this trait +trait Tr0 {} + +#[rustc_must_implement_one_of(a, b)] +//~^ function not found in this trait +trait Tr1 { + fn a() {} +} + +#[rustc_must_implement_one_of(a)] +//~^ the `#[rustc_must_implement_one_of]` attribute must be used with at least 2 args +trait Tr2 { + fn a() {} +} + +#[rustc_must_implement_one_of] +//~^ malformed `rustc_must_implement_one_of` attribute input +trait Tr3 {} + +#[rustc_must_implement_one_of(A, B)] +trait Tr4 { + const A: u8 = 1; //~ not a function + + type B; //~ not a function +} + +#[rustc_must_implement_one_of(a, b)] +trait Tr5 { + fn a(); //~ function doesn't have a default implementation + + fn b(); //~ function doesn't have a default implementation +} + +#[rustc_must_implement_one_of(abc, xyz)] +//~^ attribute should be applied to a trait +fn function() {} + +#[rustc_must_implement_one_of(abc, xyz)] +//~^ attribute should be applied to a trait +struct Struct {} + +fn main() {} diff --git a/src/test/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr b/tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr index 869184f0d..38e692521 100644 --- a/src/test/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr +++ b/tests/ui/traits/default-method/rustc_must_implement_one_of_misuse.stderr @@ -22,19 +22,19 @@ LL | LL | struct Struct {} | ---------------- not a trait -error: Function not found in this trait +error: function not found in this trait --> $DIR/rustc_must_implement_one_of_misuse.rs:3:31 | LL | #[rustc_must_implement_one_of(a, b)] | ^ -error: Function not found in this trait +error: function not found in this trait --> $DIR/rustc_must_implement_one_of_misuse.rs:3:34 | LL | #[rustc_must_implement_one_of(a, b)] | ^ -error: Function not found in this trait +error: function not found in this trait --> $DIR/rustc_must_implement_one_of_misuse.rs:8:34 | LL | #[rustc_must_implement_one_of(a, b)] @@ -46,7 +46,7 @@ error: the `#[rustc_must_implement_one_of]` attribute must be used with at least LL | #[rustc_must_implement_one_of(a)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: Not a function +error: not a function --> $DIR/rustc_must_implement_one_of_misuse.rs:26:5 | LL | const A: u8 = 1; @@ -57,9 +57,9 @@ note: required by this annotation | LL | #[rustc_must_implement_one_of(A, B)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - = note: All `#[rustc_must_implement_one_of]` arguments must be associated function names + = note: all `#[rustc_must_implement_one_of]` arguments must be associated function names -error: Not a function +error: not a function --> $DIR/rustc_must_implement_one_of_misuse.rs:28:5 | LL | type B; @@ -70,9 +70,9 @@ note: required by this annotation | LL | #[rustc_must_implement_one_of(A, B)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - = note: All `#[rustc_must_implement_one_of]` arguments must be associated function names + = note: all `#[rustc_must_implement_one_of]` arguments must be associated function names -error: This function doesn't have a default implementation +error: function doesn't have a default implementation --> $DIR/rustc_must_implement_one_of_misuse.rs:33:5 | LL | fn a(); @@ -84,7 +84,7 @@ note: required by this annotation LL | #[rustc_must_implement_one_of(a, b)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: This function doesn't have a default implementation +error: function doesn't have a default implementation --> $DIR/rustc_must_implement_one_of_misuse.rs:35:5 | LL | fn b(); diff --git a/src/test/ui/traits/default-method/self.rs b/tests/ui/traits/default-method/self.rs index cdf4d1e14..cdf4d1e14 100644 --- a/src/test/ui/traits/default-method/self.rs +++ b/tests/ui/traits/default-method/self.rs diff --git a/src/test/ui/traits/default-method/supervtable.rs b/tests/ui/traits/default-method/supervtable.rs index 939ad5135..939ad5135 100644 --- a/src/test/ui/traits/default-method/supervtable.rs +++ b/tests/ui/traits/default-method/supervtable.rs diff --git a/src/test/ui/traits/default-method/trivial.rs b/tests/ui/traits/default-method/trivial.rs index dc41938ec..dc41938ec 100644 --- a/src/test/ui/traits/default-method/trivial.rs +++ b/tests/ui/traits/default-method/trivial.rs diff --git a/src/test/ui/traits/default-method/xc-2.rs b/tests/ui/traits/default-method/xc-2.rs index 1de61dcf8..1de61dcf8 100644 --- a/src/test/ui/traits/default-method/xc-2.rs +++ b/tests/ui/traits/default-method/xc-2.rs diff --git a/src/test/ui/traits/default-method/xc.rs b/tests/ui/traits/default-method/xc.rs index 76a1573d6..76a1573d6 100644 --- a/src/test/ui/traits/default-method/xc.rs +++ b/tests/ui/traits/default-method/xc.rs diff --git a/src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs index 9a444be50..9a444be50 100644 --- a/src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs +++ b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs diff --git a/src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr index 57b2587ae..57b2587ae 100644 --- a/src/test/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr +++ b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr diff --git a/src/test/ui/traits/duplicate-methods.rs b/tests/ui/traits/duplicate-methods.rs index 1f9bdf56f..1f9bdf56f 100644 --- a/src/test/ui/traits/duplicate-methods.rs +++ b/tests/ui/traits/duplicate-methods.rs diff --git a/src/test/ui/traits/duplicate-methods.stderr b/tests/ui/traits/duplicate-methods.stderr index 6aa88d0df..6aa88d0df 100644 --- a/src/test/ui/traits/duplicate-methods.stderr +++ b/tests/ui/traits/duplicate-methods.stderr diff --git a/src/test/ui/traits/dyn-trait.rs b/tests/ui/traits/dyn-trait.rs index e1c1a8de5..e1c1a8de5 100644 --- a/src/test/ui/traits/dyn-trait.rs +++ b/tests/ui/traits/dyn-trait.rs diff --git a/src/test/ui/traits/early-vtbl-resolution.rs b/tests/ui/traits/early-vtbl-resolution.rs index f4b69c140..f4b69c140 100644 --- a/src/test/ui/traits/early-vtbl-resolution.rs +++ b/tests/ui/traits/early-vtbl-resolution.rs diff --git a/src/test/ui/traits/elaborate-type-region.rs b/tests/ui/traits/elaborate-type-region.rs index 03aef0184..03aef0184 100644 --- a/src/test/ui/traits/elaborate-type-region.rs +++ b/tests/ui/traits/elaborate-type-region.rs diff --git a/src/test/ui/traits/false-ambiguity-where-clause-builtin-bound.rs b/tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs index 3413db6a6..3413db6a6 100644 --- a/src/test/ui/traits/false-ambiguity-where-clause-builtin-bound.rs +++ b/tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs diff --git a/src/test/ui/traits/fmt-pointer-trait.rs b/tests/ui/traits/fmt-pointer-trait.rs index b7876b9bd..b7876b9bd 100644 --- a/src/test/ui/traits/fmt-pointer-trait.rs +++ b/tests/ui/traits/fmt-pointer-trait.rs diff --git a/tests/ui/traits/fn-trait-cast-diagnostic.rs b/tests/ui/traits/fn-trait-cast-diagnostic.rs new file mode 100644 index 000000000..e20aa210e --- /dev/null +++ b/tests/ui/traits/fn-trait-cast-diagnostic.rs @@ -0,0 +1,26 @@ +// There are two different instances to check that even if +// the trait is implemented for the output of a function, +// it will still be displayed if the function itself implements a trait. +trait Foo {} + +impl Foo for fn() -> bool {} +impl Foo for bool {} + +fn example() -> bool { + true +} + +trait NoOtherFoo {} + +impl NoOtherFoo for fn() -> bool {} + +fn do_on_foo(v: impl Foo) {} +fn do_on_single_foo(v: impl NoOtherFoo) {} + +fn main() { + do_on_foo(example); + //~^ ERROR the trait bound + + do_on_single_foo(example); + //~^ ERROR the trait bound +} diff --git a/tests/ui/traits/fn-trait-cast-diagnostic.stderr b/tests/ui/traits/fn-trait-cast-diagnostic.stderr new file mode 100644 index 000000000..6851dcdd5 --- /dev/null +++ b/tests/ui/traits/fn-trait-cast-diagnostic.stderr @@ -0,0 +1,43 @@ +error[E0277]: the trait bound `fn() -> bool {example}: Foo` is not satisfied + --> $DIR/fn-trait-cast-diagnostic.rs:21:15 + | +LL | do_on_foo(example); + | --------- ^^^^^^^ the trait `Foo` is not implemented for fn item `fn() -> bool {example}` + | | + | required by a bound introduced by this call + | +note: required by a bound in `do_on_foo` + --> $DIR/fn-trait-cast-diagnostic.rs:17:22 + | +LL | fn do_on_foo(v: impl Foo) {} + | ^^^ required by this bound in `do_on_foo` +help: use parentheses to call this function + | +LL | do_on_foo(example()); + | ++ +help: the trait `Foo` is implemented for fn pointer `fn() -> bool`, try casting using `as` + | +LL | do_on_foo(example as fn() -> bool); + | +++++++++++++++ + +error[E0277]: the trait bound `fn() -> bool {example}: NoOtherFoo` is not satisfied + --> $DIR/fn-trait-cast-diagnostic.rs:24:22 + | +LL | do_on_single_foo(example); + | ---------------- ^^^^^^^ the trait `NoOtherFoo` is not implemented for fn item `fn() -> bool {example}` + | | + | required by a bound introduced by this call + | +note: required by a bound in `do_on_single_foo` + --> $DIR/fn-trait-cast-diagnostic.rs:18:29 + | +LL | fn do_on_single_foo(v: impl NoOtherFoo) {} + | ^^^^^^^^^^ required by this bound in `do_on_single_foo` +help: the trait `NoOtherFoo` is implemented for fn pointer `fn() -> bool`, try casting using `as` + | +LL | do_on_single_foo(example as fn() -> bool); + | +++++++++++++++ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/traits/generic.rs b/tests/ui/traits/generic.rs index 80efe1c93..80efe1c93 100644 --- a/src/test/ui/traits/generic.rs +++ b/tests/ui/traits/generic.rs diff --git a/tests/ui/traits/ignore-err-impls.rs b/tests/ui/traits/ignore-err-impls.rs new file mode 100644 index 000000000..67e880b00 --- /dev/null +++ b/tests/ui/traits/ignore-err-impls.rs @@ -0,0 +1,9 @@ +pub struct S; + +trait Generic<T> {} + +impl<'a, T> Generic<&'a T> for S {} +impl Generic<Type> for S {} +//~^ ERROR cannot find type `Type` in this scope + +fn main() {} diff --git a/tests/ui/traits/ignore-err-impls.stderr b/tests/ui/traits/ignore-err-impls.stderr new file mode 100644 index 000000000..45bd533b5 --- /dev/null +++ b/tests/ui/traits/ignore-err-impls.stderr @@ -0,0 +1,14 @@ +error[E0412]: cannot find type `Type` in this scope + --> $DIR/ignore-err-impls.rs:6:14 + | +LL | impl Generic<Type> for S {} + | ^^^^ not found in this scope + | +help: you might be missing a type parameter + | +LL | impl<Type> Generic<Type> for S {} + | ++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/traits/impl-1.rs b/tests/ui/traits/impl-1.rs index d22ac72d1..d22ac72d1 100644 --- a/src/test/ui/traits/impl-1.rs +++ b/tests/ui/traits/impl-1.rs diff --git a/src/test/ui/traits/impl-1.stderr b/tests/ui/traits/impl-1.stderr index 7694e3f5c..7694e3f5c 100644 --- a/src/test/ui/traits/impl-1.stderr +++ b/tests/ui/traits/impl-1.stderr diff --git a/src/test/ui/traits/impl-2.rs b/tests/ui/traits/impl-2.rs index 804ffec12..804ffec12 100644 --- a/src/test/ui/traits/impl-2.rs +++ b/tests/ui/traits/impl-2.rs diff --git a/src/test/ui/traits/impl-bounds-checking.rs b/tests/ui/traits/impl-bounds-checking.rs index 5e65a27bf..5e65a27bf 100644 --- a/src/test/ui/traits/impl-bounds-checking.rs +++ b/tests/ui/traits/impl-bounds-checking.rs diff --git a/src/test/ui/traits/impl-bounds-checking.stderr b/tests/ui/traits/impl-bounds-checking.stderr index b01bacdb8..1f969efe1 100644 --- a/src/test/ui/traits/impl-bounds-checking.stderr +++ b/tests/ui/traits/impl-bounds-checking.stderr @@ -1,8 +1,8 @@ error[E0277]: the trait bound `isize: Clone2` is not satisfied - --> $DIR/impl-bounds-checking.rs:10:6 + --> $DIR/impl-bounds-checking.rs:10:24 | LL | impl Getter<isize> for isize { - | ^^^^^^^^^^^^^ the trait `Clone2` is not implemented for `isize` + | ^^^^^ the trait `Clone2` is not implemented for `isize` | note: required by a bound in `Getter` --> $DIR/impl-bounds-checking.rs:6:17 diff --git a/src/test/ui/traits/impl-can-not-have-untraitful-items.rs b/tests/ui/traits/impl-can-not-have-untraitful-items.rs index 0c885447b..0c885447b 100644 --- a/src/test/ui/traits/impl-can-not-have-untraitful-items.rs +++ b/tests/ui/traits/impl-can-not-have-untraitful-items.rs diff --git a/src/test/ui/traits/impl-can-not-have-untraitful-items.stderr b/tests/ui/traits/impl-can-not-have-untraitful-items.stderr index 7f56f34ea..7f56f34ea 100644 --- a/src/test/ui/traits/impl-can-not-have-untraitful-items.stderr +++ b/tests/ui/traits/impl-can-not-have-untraitful-items.stderr diff --git a/src/test/ui/traits/impl-different-num-params.rs b/tests/ui/traits/impl-different-num-params.rs index 53400622d..53400622d 100644 --- a/src/test/ui/traits/impl-different-num-params.rs +++ b/tests/ui/traits/impl-different-num-params.rs diff --git a/src/test/ui/traits/impl-different-num-params.stderr b/tests/ui/traits/impl-different-num-params.stderr index 910ba3510..910ba3510 100644 --- a/src/test/ui/traits/impl-different-num-params.stderr +++ b/tests/ui/traits/impl-different-num-params.stderr diff --git a/src/test/ui/traits/impl-evaluation-order.rs b/tests/ui/traits/impl-evaluation-order.rs index 57809d89a..57809d89a 100644 --- a/src/test/ui/traits/impl-evaluation-order.rs +++ b/tests/ui/traits/impl-evaluation-order.rs diff --git a/src/test/ui/traits/impl-for-module.rs b/tests/ui/traits/impl-for-module.rs index 9004627c5..9004627c5 100644 --- a/src/test/ui/traits/impl-for-module.rs +++ b/tests/ui/traits/impl-for-module.rs diff --git a/src/test/ui/traits/impl-for-module.stderr b/tests/ui/traits/impl-for-module.stderr index 6ec4083b5..6ec4083b5 100644 --- a/src/test/ui/traits/impl-for-module.stderr +++ b/tests/ui/traits/impl-for-module.stderr diff --git a/src/test/ui/traits/impl-implicit-trait.rs b/tests/ui/traits/impl-implicit-trait.rs index fac2bcce2..fac2bcce2 100644 --- a/src/test/ui/traits/impl-implicit-trait.rs +++ b/tests/ui/traits/impl-implicit-trait.rs diff --git a/src/test/ui/traits/impl-inherent-prefer-over-trait.rs b/tests/ui/traits/impl-inherent-prefer-over-trait.rs index 827607888..827607888 100644 --- a/src/test/ui/traits/impl-inherent-prefer-over-trait.rs +++ b/tests/ui/traits/impl-inherent-prefer-over-trait.rs diff --git a/src/test/ui/traits/impl-method-mismatch.rs b/tests/ui/traits/impl-method-mismatch.rs index 683b1c1aa..62580755c 100644 --- a/src/test/ui/traits/impl-method-mismatch.rs +++ b/tests/ui/traits/impl-method-mismatch.rs @@ -6,8 +6,8 @@ impl Mumbo for usize { // Cannot have a larger effect than the trait: unsafe fn jumbo(&self, x: &usize) { *self + *x; } //~^ ERROR method `jumbo` has an incompatible type for trait - //~| expected fn pointer `fn - //~| found fn pointer `unsafe fn + //~| expected signature `fn + //~| found signature `unsafe fn } fn main() {} diff --git a/src/test/ui/traits/impl-method-mismatch.stderr b/tests/ui/traits/impl-method-mismatch.stderr index 30aa97d29..252b5aff9 100644 --- a/src/test/ui/traits/impl-method-mismatch.stderr +++ b/tests/ui/traits/impl-method-mismatch.stderr @@ -9,8 +9,8 @@ note: type in trait | LL | fn jumbo(&self, x: &usize) -> usize; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - = note: expected fn pointer `fn(&usize, &usize) -> usize` - found fn pointer `unsafe fn(&usize, &usize)` + = note: expected signature `fn(&usize, &usize) -> usize` + found signature `unsafe fn(&usize, &usize)` error: aborting due to previous error diff --git a/src/test/ui/traits/impl-object-overlap-issue-23853.rs b/tests/ui/traits/impl-object-overlap-issue-23853.rs index e490967b6..e490967b6 100644 --- a/src/test/ui/traits/impl-object-overlap-issue-23853.rs +++ b/tests/ui/traits/impl-object-overlap-issue-23853.rs diff --git a/src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs b/tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs index 05b9db972..05b9db972 100644 --- a/src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs +++ b/tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.rs diff --git a/src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr b/tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr index 5572c6515..1bace8ab2 100644 --- a/src/test/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr +++ b/tests/ui/traits/impl-of-supertrait-has-wrong-lifetime-parameters.stderr @@ -1,8 +1,8 @@ error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'b` due to conflicting requirements - --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:13 + --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:28 | LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> { - | ^^^^^^^^^^ + | ^^^^^^^^^ | note: first, the lifetime cannot outlive the lifetime `'a` as defined here... --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:6 @@ -15,10 +15,10 @@ note: ...but the lifetime must also be valid for the lifetime `'b` as defined he LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> { | ^^ note: ...so that the types are compatible - --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:13 + --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:28 | LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> { - | ^^^^^^^^^^ + | ^^^^^^^^^ = note: expected `T1<'a>` found `T1<'_>` diff --git a/src/test/ui/traits/impl.rs b/tests/ui/traits/impl.rs index f512d91eb..f512d91eb 100644 --- a/src/test/ui/traits/impl.rs +++ b/tests/ui/traits/impl.rs diff --git a/src/test/ui/traits/impl_trait_as_trait_return_position.rs b/tests/ui/traits/impl_trait_as_trait_return_position.rs index c3325fd80..c3325fd80 100644 --- a/src/test/ui/traits/impl_trait_as_trait_return_position.rs +++ b/tests/ui/traits/impl_trait_as_trait_return_position.rs diff --git a/src/test/ui/traits/inductive-overflow/lifetime.rs b/tests/ui/traits/inductive-overflow/lifetime.rs index 004e47737..bf536d21c 100644 --- a/src/test/ui/traits/inductive-overflow/lifetime.rs +++ b/tests/ui/traits/inductive-overflow/lifetime.rs @@ -16,6 +16,7 @@ struct C<'a>(&'a ()); struct X<T: Y>(T::P); impl<T: NotAuto> NotAuto for Box<T> {} //~ NOTE: required +//~^ NOTE unsatisfied trait bound introduced here impl<T: Y> NotAuto for X<T> where T::P: NotAuto {} impl<'a> NotAuto for C<'a> {} diff --git a/src/test/ui/traits/inductive-overflow/lifetime.stderr b/tests/ui/traits/inductive-overflow/lifetime.stderr index b72d53bdd..357e59991 100644 --- a/src/test/ui/traits/inductive-overflow/lifetime.stderr +++ b/tests/ui/traits/inductive-overflow/lifetime.stderr @@ -1,5 +1,5 @@ error[E0275]: overflow evaluating the requirement `X<C<'_>>: NotAuto` - --> $DIR/lifetime.rs:28:5 + --> $DIR/lifetime.rs:29:5 | LL | is_send::<X<C<'static>>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -8,11 +8,13 @@ note: required for `Box<X<C<'_>>>` to implement `NotAuto` --> $DIR/lifetime.rs:18:18 | LL | impl<T: NotAuto> NotAuto for Box<T> {} - | ^^^^^^^ ^^^^^^ + | ------- ^^^^^^^ ^^^^^^ + | | + | unsatisfied trait bound introduced here = note: 3 redundant requirements hidden = note: required for `X<C<'static>>` to implement `NotAuto` note: required by a bound in `is_send` - --> $DIR/lifetime.rs:22:15 + --> $DIR/lifetime.rs:23:15 | LL | fn is_send<S: NotAuto>() {} | ^^^^^^^ required by this bound in `is_send` diff --git a/src/test/ui/traits/inductive-overflow/simultaneous.rs b/tests/ui/traits/inductive-overflow/simultaneous.rs index 40ac92146..40ac92146 100644 --- a/src/test/ui/traits/inductive-overflow/simultaneous.rs +++ b/tests/ui/traits/inductive-overflow/simultaneous.rs diff --git a/src/test/ui/traits/inductive-overflow/simultaneous.stderr b/tests/ui/traits/inductive-overflow/simultaneous.stderr index 09930e60e..e3b4ec07d 100644 --- a/src/test/ui/traits/inductive-overflow/simultaneous.stderr +++ b/tests/ui/traits/inductive-overflow/simultaneous.stderr @@ -8,7 +8,9 @@ note: required for `{integer}` to implement `Combo` --> $DIR/simultaneous.rs:11:34 | LL | impl<T: Tweedledee + Tweedledum> Combo for T {} - | ^^^^^ ^ + | ---------- ^^^^^ ^ + | | + | unsatisfied trait bound introduced here note: required by a bound in `is_ee` --> $DIR/simultaneous.rs:13:13 | diff --git a/src/test/ui/traits/inductive-overflow/supertrait-auto-trait.rs b/tests/ui/traits/inductive-overflow/supertrait-auto-trait.rs index 5fea47a1b..5fea47a1b 100644 --- a/src/test/ui/traits/inductive-overflow/supertrait-auto-trait.rs +++ b/tests/ui/traits/inductive-overflow/supertrait-auto-trait.rs diff --git a/src/test/ui/traits/inductive-overflow/supertrait-auto-trait.stderr b/tests/ui/traits/inductive-overflow/supertrait-auto-trait.stderr index 3ec288d13..3ec288d13 100644 --- a/src/test/ui/traits/inductive-overflow/supertrait-auto-trait.stderr +++ b/tests/ui/traits/inductive-overflow/supertrait-auto-trait.stderr diff --git a/src/test/ui/traits/inductive-overflow/supertrait.rs b/tests/ui/traits/inductive-overflow/supertrait.rs index c7aa4d90f..c7aa4d90f 100644 --- a/src/test/ui/traits/inductive-overflow/supertrait.rs +++ b/tests/ui/traits/inductive-overflow/supertrait.rs diff --git a/src/test/ui/traits/inductive-overflow/supertrait.stderr b/tests/ui/traits/inductive-overflow/supertrait.stderr index 4b862cf79..b537ecf17 100644 --- a/src/test/ui/traits/inductive-overflow/supertrait.stderr +++ b/tests/ui/traits/inductive-overflow/supertrait.stderr @@ -8,7 +8,9 @@ note: required for `NoClone` to implement `Magic` --> $DIR/supertrait.rs:5:16 | LL | impl<T: Magic> Magic for T {} - | ^^^^^ ^ + | ----- ^^^^^ ^ + | | + | unsatisfied trait bound introduced here note: required by a bound in `copy` --> $DIR/supertrait.rs:7:12 | diff --git a/src/test/ui/traits/inductive-overflow/two-traits.rs b/tests/ui/traits/inductive-overflow/two-traits.rs index 463b55d85..463b55d85 100644 --- a/src/test/ui/traits/inductive-overflow/two-traits.rs +++ b/tests/ui/traits/inductive-overflow/two-traits.rs diff --git a/src/test/ui/traits/inductive-overflow/two-traits.stderr b/tests/ui/traits/inductive-overflow/two-traits.stderr index 0d0bf8861..0d0bf8861 100644 --- a/src/test/ui/traits/inductive-overflow/two-traits.stderr +++ b/tests/ui/traits/inductive-overflow/two-traits.stderr diff --git a/src/test/ui/traits/infer-from-object-issue-26952.rs b/tests/ui/traits/infer-from-object-issue-26952.rs index ed258dbb2..ed258dbb2 100644 --- a/src/test/ui/traits/infer-from-object-issue-26952.rs +++ b/tests/ui/traits/infer-from-object-issue-26952.rs diff --git a/src/test/ui/traits/inherent-method-order.rs b/tests/ui/traits/inherent-method-order.rs index f632ae8a9..f632ae8a9 100644 --- a/src/test/ui/traits/inherent-method-order.rs +++ b/tests/ui/traits/inherent-method-order.rs diff --git a/src/test/ui/traits/inheritance/auto-xc-2.rs b/tests/ui/traits/inheritance/auto-xc-2.rs index f2130228d..f2130228d 100644 --- a/src/test/ui/traits/inheritance/auto-xc-2.rs +++ b/tests/ui/traits/inheritance/auto-xc-2.rs diff --git a/src/test/ui/traits/inheritance/auto-xc.rs b/tests/ui/traits/inheritance/auto-xc.rs index 3d5ae182a..3d5ae182a 100644 --- a/src/test/ui/traits/inheritance/auto-xc.rs +++ b/tests/ui/traits/inheritance/auto-xc.rs diff --git a/src/test/ui/traits/inheritance/auto.rs b/tests/ui/traits/inheritance/auto.rs index 0be67a55e..0be67a55e 100644 --- a/src/test/ui/traits/inheritance/auto.rs +++ b/tests/ui/traits/inheritance/auto.rs diff --git a/src/test/ui/traits/inheritance/auxiliary/auto_xc.rs b/tests/ui/traits/inheritance/auxiliary/auto_xc.rs index 9af26cb2e..9af26cb2e 100644 --- a/src/test/ui/traits/inheritance/auxiliary/auto_xc.rs +++ b/tests/ui/traits/inheritance/auxiliary/auto_xc.rs diff --git a/src/test/ui/traits/inheritance/auxiliary/auto_xc_2.rs b/tests/ui/traits/inheritance/auxiliary/auto_xc_2.rs index e9327676d..e9327676d 100644 --- a/src/test/ui/traits/inheritance/auxiliary/auto_xc_2.rs +++ b/tests/ui/traits/inheritance/auxiliary/auto_xc_2.rs diff --git a/src/test/ui/traits/inheritance/auxiliary/overloading_xc.rs b/tests/ui/traits/inheritance/auxiliary/overloading_xc.rs index a25704412..a25704412 100644 --- a/src/test/ui/traits/inheritance/auxiliary/overloading_xc.rs +++ b/tests/ui/traits/inheritance/auxiliary/overloading_xc.rs diff --git a/src/test/ui/traits/inheritance/auxiliary/xc_call.rs b/tests/ui/traits/inheritance/auxiliary/xc_call.rs index b76c52e62..b76c52e62 100644 --- a/src/test/ui/traits/inheritance/auxiliary/xc_call.rs +++ b/tests/ui/traits/inheritance/auxiliary/xc_call.rs diff --git a/src/test/ui/traits/inheritance/basic.rs b/tests/ui/traits/inheritance/basic.rs index 5bfa60b1a..5bfa60b1a 100644 --- a/src/test/ui/traits/inheritance/basic.rs +++ b/tests/ui/traits/inheritance/basic.rs diff --git a/src/test/ui/traits/inheritance/call-bound-inherited.rs b/tests/ui/traits/inheritance/call-bound-inherited.rs index 37c2ff63c..37c2ff63c 100644 --- a/src/test/ui/traits/inheritance/call-bound-inherited.rs +++ b/tests/ui/traits/inheritance/call-bound-inherited.rs diff --git a/src/test/ui/traits/inheritance/call-bound-inherited2.rs b/tests/ui/traits/inheritance/call-bound-inherited2.rs index 8576d29f2..8576d29f2 100644 --- a/src/test/ui/traits/inheritance/call-bound-inherited2.rs +++ b/tests/ui/traits/inheritance/call-bound-inherited2.rs diff --git a/src/test/ui/traits/inheritance/cast-without-call-to-supertrait.rs b/tests/ui/traits/inheritance/cast-without-call-to-supertrait.rs index 25159c1ad..25159c1ad 100644 --- a/src/test/ui/traits/inheritance/cast-without-call-to-supertrait.rs +++ b/tests/ui/traits/inheritance/cast-without-call-to-supertrait.rs diff --git a/src/test/ui/traits/inheritance/cast.rs b/tests/ui/traits/inheritance/cast.rs index 9070b9d1f..9070b9d1f 100644 --- a/src/test/ui/traits/inheritance/cast.rs +++ b/tests/ui/traits/inheritance/cast.rs diff --git a/src/test/ui/traits/inheritance/cross-trait-call-xc.rs b/tests/ui/traits/inheritance/cross-trait-call-xc.rs index 99fbb5c61..99fbb5c61 100644 --- a/src/test/ui/traits/inheritance/cross-trait-call-xc.rs +++ b/tests/ui/traits/inheritance/cross-trait-call-xc.rs diff --git a/src/test/ui/traits/inheritance/cross-trait-call.rs b/tests/ui/traits/inheritance/cross-trait-call.rs index 512c928ca..512c928ca 100644 --- a/src/test/ui/traits/inheritance/cross-trait-call.rs +++ b/tests/ui/traits/inheritance/cross-trait-call.rs diff --git a/src/test/ui/traits/inheritance/diamond.rs b/tests/ui/traits/inheritance/diamond.rs index 32ad0fb4d..32ad0fb4d 100644 --- a/src/test/ui/traits/inheritance/diamond.rs +++ b/tests/ui/traits/inheritance/diamond.rs diff --git a/src/test/ui/traits/inheritance/multiple-inheritors.rs b/tests/ui/traits/inheritance/multiple-inheritors.rs index 77ecbd8eb..77ecbd8eb 100644 --- a/src/test/ui/traits/inheritance/multiple-inheritors.rs +++ b/tests/ui/traits/inheritance/multiple-inheritors.rs diff --git a/src/test/ui/traits/inheritance/multiple-params.rs b/tests/ui/traits/inheritance/multiple-params.rs index 8ff5ba541..8ff5ba541 100644 --- a/src/test/ui/traits/inheritance/multiple-params.rs +++ b/tests/ui/traits/inheritance/multiple-params.rs diff --git a/src/test/ui/traits/inheritance/num.rs b/tests/ui/traits/inheritance/num.rs index 3d63d78ca..3d63d78ca 100644 --- a/src/test/ui/traits/inheritance/num.rs +++ b/tests/ui/traits/inheritance/num.rs diff --git a/src/test/ui/traits/inheritance/num0.rs b/tests/ui/traits/inheritance/num0.rs index cee52542d..cee52542d 100644 --- a/src/test/ui/traits/inheritance/num0.rs +++ b/tests/ui/traits/inheritance/num0.rs diff --git a/src/test/ui/traits/inheritance/num1.rs b/tests/ui/traits/inheritance/num1.rs index 663dd3a5e..663dd3a5e 100644 --- a/src/test/ui/traits/inheritance/num1.rs +++ b/tests/ui/traits/inheritance/num1.rs diff --git a/src/test/ui/traits/inheritance/num2.rs b/tests/ui/traits/inheritance/num2.rs index b713c66a3..b713c66a3 100644 --- a/src/test/ui/traits/inheritance/num2.rs +++ b/tests/ui/traits/inheritance/num2.rs diff --git a/src/test/ui/traits/inheritance/num3.rs b/tests/ui/traits/inheritance/num3.rs index c40be6f83..c40be6f83 100644 --- a/src/test/ui/traits/inheritance/num3.rs +++ b/tests/ui/traits/inheritance/num3.rs diff --git a/src/test/ui/traits/inheritance/num5.rs b/tests/ui/traits/inheritance/num5.rs index f478618f7..f478618f7 100644 --- a/src/test/ui/traits/inheritance/num5.rs +++ b/tests/ui/traits/inheritance/num5.rs diff --git a/src/test/ui/traits/inheritance/overloading-simple.rs b/tests/ui/traits/inheritance/overloading-simple.rs index c306aa2cd..c306aa2cd 100644 --- a/src/test/ui/traits/inheritance/overloading-simple.rs +++ b/tests/ui/traits/inheritance/overloading-simple.rs diff --git a/src/test/ui/traits/inheritance/overloading-xc-exe.rs b/tests/ui/traits/inheritance/overloading-xc-exe.rs index 08778061b..08778061b 100644 --- a/src/test/ui/traits/inheritance/overloading-xc-exe.rs +++ b/tests/ui/traits/inheritance/overloading-xc-exe.rs diff --git a/src/test/ui/traits/inheritance/overloading.rs b/tests/ui/traits/inheritance/overloading.rs index 083643e82..083643e82 100644 --- a/src/test/ui/traits/inheritance/overloading.rs +++ b/tests/ui/traits/inheritance/overloading.rs diff --git a/src/test/ui/traits/inheritance/repeated-supertrait-ambig.rs b/tests/ui/traits/inheritance/repeated-supertrait-ambig.rs index 727897d20..727897d20 100644 --- a/src/test/ui/traits/inheritance/repeated-supertrait-ambig.rs +++ b/tests/ui/traits/inheritance/repeated-supertrait-ambig.rs diff --git a/src/test/ui/traits/inheritance/repeated-supertrait-ambig.stderr b/tests/ui/traits/inheritance/repeated-supertrait-ambig.stderr index 656e0d0bf..656e0d0bf 100644 --- a/src/test/ui/traits/inheritance/repeated-supertrait-ambig.stderr +++ b/tests/ui/traits/inheritance/repeated-supertrait-ambig.stderr diff --git a/src/test/ui/traits/inheritance/repeated-supertrait.rs b/tests/ui/traits/inheritance/repeated-supertrait.rs index cb2581ffa..cb2581ffa 100644 --- a/src/test/ui/traits/inheritance/repeated-supertrait.rs +++ b/tests/ui/traits/inheritance/repeated-supertrait.rs diff --git a/src/test/ui/traits/inheritance/self-in-supertype.rs b/tests/ui/traits/inheritance/self-in-supertype.rs index e8a2bd791..e8a2bd791 100644 --- a/src/test/ui/traits/inheritance/self-in-supertype.rs +++ b/tests/ui/traits/inheritance/self-in-supertype.rs diff --git a/src/test/ui/traits/inheritance/self.rs b/tests/ui/traits/inheritance/self.rs index 5f2559f48..5f2559f48 100644 --- a/src/test/ui/traits/inheritance/self.rs +++ b/tests/ui/traits/inheritance/self.rs diff --git a/src/test/ui/traits/inheritance/simple.rs b/tests/ui/traits/inheritance/simple.rs index ca3a284e5..ca3a284e5 100644 --- a/src/test/ui/traits/inheritance/simple.rs +++ b/tests/ui/traits/inheritance/simple.rs diff --git a/src/test/ui/traits/inheritance/static.rs b/tests/ui/traits/inheritance/static.rs index 16218fbd2..16218fbd2 100644 --- a/src/test/ui/traits/inheritance/static.rs +++ b/tests/ui/traits/inheritance/static.rs diff --git a/src/test/ui/traits/inheritance/static2.rs b/tests/ui/traits/inheritance/static2.rs index bc78e1e23..bc78e1e23 100644 --- a/src/test/ui/traits/inheritance/static2.rs +++ b/tests/ui/traits/inheritance/static2.rs diff --git a/src/test/ui/traits/inheritance/subst.rs b/tests/ui/traits/inheritance/subst.rs index b2b650366..b2b650366 100644 --- a/src/test/ui/traits/inheritance/subst.rs +++ b/tests/ui/traits/inheritance/subst.rs diff --git a/src/test/ui/traits/inheritance/subst2.rs b/tests/ui/traits/inheritance/subst2.rs index ccc9628c7..ccc9628c7 100644 --- a/src/test/ui/traits/inheritance/subst2.rs +++ b/tests/ui/traits/inheritance/subst2.rs diff --git a/src/test/ui/traits/inheritance/visibility.rs b/tests/ui/traits/inheritance/visibility.rs index 6ad864926..6ad864926 100644 --- a/src/test/ui/traits/inheritance/visibility.rs +++ b/tests/ui/traits/inheritance/visibility.rs diff --git a/src/test/ui/traits/invalid_operator_trait.rs b/tests/ui/traits/invalid_operator_trait.rs index 7ea3b0d5b..7ea3b0d5b 100644 --- a/src/test/ui/traits/invalid_operator_trait.rs +++ b/tests/ui/traits/invalid_operator_trait.rs diff --git a/src/test/ui/traits/invalid_operator_trait.stderr b/tests/ui/traits/invalid_operator_trait.stderr index 8c6e36959..8c6e36959 100644 --- a/src/test/ui/traits/invalid_operator_trait.stderr +++ b/tests/ui/traits/invalid_operator_trait.stderr diff --git a/src/test/ui/traits/issue-102989.rs b/tests/ui/traits/issue-102989.rs index 216cd78e5..216cd78e5 100644 --- a/src/test/ui/traits/issue-102989.rs +++ b/tests/ui/traits/issue-102989.rs diff --git a/src/test/ui/traits/issue-102989.stderr b/tests/ui/traits/issue-102989.stderr index 7d0098fe8..7d0098fe8 100644 --- a/src/test/ui/traits/issue-102989.stderr +++ b/tests/ui/traits/issue-102989.stderr diff --git a/src/test/ui/traits/issue-104322.rs b/tests/ui/traits/issue-104322.rs index dcc27f1f0..dcc27f1f0 100644 --- a/src/test/ui/traits/issue-104322.rs +++ b/tests/ui/traits/issue-104322.rs diff --git a/tests/ui/traits/issue-106072.rs b/tests/ui/traits/issue-106072.rs new file mode 100644 index 000000000..7064a39d2 --- /dev/null +++ b/tests/ui/traits/issue-106072.rs @@ -0,0 +1,5 @@ +#[derive(Clone)] //~ trait objects must include the `dyn` keyword + //~| trait objects must include the `dyn` keyword +struct Foo; +trait Foo {} //~ the name `Foo` is defined multiple times +fn main() {} diff --git a/tests/ui/traits/issue-106072.stderr b/tests/ui/traits/issue-106072.stderr new file mode 100644 index 000000000..f9b7b8146 --- /dev/null +++ b/tests/ui/traits/issue-106072.stderr @@ -0,0 +1,30 @@ +error[E0428]: the name `Foo` is defined multiple times + --> $DIR/issue-106072.rs:4:1 + | +LL | struct Foo; + | ----------- previous definition of the type `Foo` here +LL | trait Foo {} + | ^^^^^^^^^ `Foo` redefined here + | + = note: `Foo` must be defined only once in the type namespace of this module + +error[E0782]: trait objects must include the `dyn` keyword + --> $DIR/issue-106072.rs:1:10 + | +LL | #[derive(Clone)] + | ^^^^^ + | + = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0782]: trait objects must include the `dyn` keyword + --> $DIR/issue-106072.rs:1:10 + | +LL | #[derive(Clone)] + | ^^^^^ + | + = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: aborting due to 3 previous errors + +Some errors have detailed explanations: E0428, E0782. +For more information about an error, try `rustc --explain E0428`. diff --git a/src/test/ui/traits/issue-18400.rs b/tests/ui/traits/issue-18400.rs index fdd11512d..fdd11512d 100644 --- a/src/test/ui/traits/issue-18400.rs +++ b/tests/ui/traits/issue-18400.rs diff --git a/src/test/ui/traits/issue-18400.stderr b/tests/ui/traits/issue-18400.stderr index 4394e6f7e..edaf08f49 100644 --- a/src/test/ui/traits/issue-18400.stderr +++ b/tests/ui/traits/issue-18400.stderr @@ -9,7 +9,9 @@ note: required for `{integer}` to implement `Set<&[_]>` --> $DIR/issue-18400.rs:6:16 | LL | impl<'a, T, S> Set<&'a [T]> for S where - | ^^^^^^^^^^^^ ^ + | - ^^^^^^^^^^^^ ^ + | | + | unsatisfied trait bound introduced here = note: 128 redundant requirements hidden = note: required for `{integer}` to implement `Set<&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[&[_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]>` diff --git a/src/test/ui/traits/issue-18412.rs b/tests/ui/traits/issue-18412.rs index fe1cfb3df..fe1cfb3df 100644 --- a/src/test/ui/traits/issue-18412.rs +++ b/tests/ui/traits/issue-18412.rs diff --git a/src/test/ui/traits/issue-20692.rs b/tests/ui/traits/issue-20692.rs index 1cb2d8c73..1cb2d8c73 100644 --- a/src/test/ui/traits/issue-20692.rs +++ b/tests/ui/traits/issue-20692.rs diff --git a/src/test/ui/traits/issue-20692.stderr b/tests/ui/traits/issue-20692.stderr index 2028994cd..2028994cd 100644 --- a/src/test/ui/traits/issue-20692.stderr +++ b/tests/ui/traits/issue-20692.stderr diff --git a/src/test/ui/traits/issue-22019.rs b/tests/ui/traits/issue-22019.rs index 1a887f0f3..1a887f0f3 100644 --- a/src/test/ui/traits/issue-22019.rs +++ b/tests/ui/traits/issue-22019.rs diff --git a/src/test/ui/traits/issue-22110.rs b/tests/ui/traits/issue-22110.rs index bdbfee799..bdbfee799 100644 --- a/src/test/ui/traits/issue-22110.rs +++ b/tests/ui/traits/issue-22110.rs diff --git a/src/test/ui/traits/issue-22655.rs b/tests/ui/traits/issue-22655.rs index bc08ca0a2..bc08ca0a2 100644 --- a/src/test/ui/traits/issue-22655.rs +++ b/tests/ui/traits/issue-22655.rs diff --git a/src/test/ui/traits/issue-23003-overflow.rs b/tests/ui/traits/issue-23003-overflow.rs index c5f471f23..c5f471f23 100644 --- a/src/test/ui/traits/issue-23003-overflow.rs +++ b/tests/ui/traits/issue-23003-overflow.rs diff --git a/src/test/ui/traits/issue-23003.rs b/tests/ui/traits/issue-23003.rs index 24c2b2ad6..24c2b2ad6 100644 --- a/src/test/ui/traits/issue-23003.rs +++ b/tests/ui/traits/issue-23003.rs diff --git a/src/test/ui/traits/issue-23825.rs b/tests/ui/traits/issue-23825.rs index a9f0095d2..a9f0095d2 100644 --- a/src/test/ui/traits/issue-23825.rs +++ b/tests/ui/traits/issue-23825.rs diff --git a/src/test/ui/traits/issue-24010.rs b/tests/ui/traits/issue-24010.rs index f18185334..f18185334 100644 --- a/src/test/ui/traits/issue-24010.rs +++ b/tests/ui/traits/issue-24010.rs diff --git a/src/test/ui/traits/issue-26339.rs b/tests/ui/traits/issue-26339.rs index bedd87cc4..bedd87cc4 100644 --- a/src/test/ui/traits/issue-26339.rs +++ b/tests/ui/traits/issue-26339.rs diff --git a/src/test/ui/traits/issue-28576.rs b/tests/ui/traits/issue-28576.rs index 972c839b6..972c839b6 100644 --- a/src/test/ui/traits/issue-28576.rs +++ b/tests/ui/traits/issue-28576.rs diff --git a/src/test/ui/traits/issue-28576.stderr b/tests/ui/traits/issue-28576.stderr index 203cd0630..203cd0630 100644 --- a/src/test/ui/traits/issue-28576.stderr +++ b/tests/ui/traits/issue-28576.stderr diff --git a/src/test/ui/traits/issue-32963.rs b/tests/ui/traits/issue-32963.rs index 56a68f3a2..56a68f3a2 100644 --- a/src/test/ui/traits/issue-32963.rs +++ b/tests/ui/traits/issue-32963.rs diff --git a/src/test/ui/traits/issue-32963.stderr b/tests/ui/traits/issue-32963.stderr index bad45e54d..bad45e54d 100644 --- a/src/test/ui/traits/issue-32963.stderr +++ b/tests/ui/traits/issue-32963.stderr diff --git a/src/test/ui/traits/issue-33140-hack-boundaries.rs b/tests/ui/traits/issue-33140-hack-boundaries.rs index d091162fc..d091162fc 100644 --- a/src/test/ui/traits/issue-33140-hack-boundaries.rs +++ b/tests/ui/traits/issue-33140-hack-boundaries.rs diff --git a/src/test/ui/traits/issue-33140-hack-boundaries.stderr b/tests/ui/traits/issue-33140-hack-boundaries.stderr index 80a502c63..80a502c63 100644 --- a/src/test/ui/traits/issue-33140-hack-boundaries.stderr +++ b/tests/ui/traits/issue-33140-hack-boundaries.stderr diff --git a/src/test/ui/traits/issue-33140.rs b/tests/ui/traits/issue-33140.rs index 9bdac4b83..9bdac4b83 100644 --- a/src/test/ui/traits/issue-33140.rs +++ b/tests/ui/traits/issue-33140.rs diff --git a/src/test/ui/traits/issue-33140.stderr b/tests/ui/traits/issue-33140.stderr index d31281f72..d31281f72 100644 --- a/src/test/ui/traits/issue-33140.stderr +++ b/tests/ui/traits/issue-33140.stderr diff --git a/src/test/ui/traits/issue-35869.rs b/tests/ui/traits/issue-35869.rs index b9b4c972e..b9b4c972e 100644 --- a/src/test/ui/traits/issue-35869.rs +++ b/tests/ui/traits/issue-35869.rs diff --git a/src/test/ui/traits/issue-35869.stderr b/tests/ui/traits/issue-35869.stderr index 0780109b8..6d985bdea 100644 --- a/src/test/ui/traits/issue-35869.stderr +++ b/tests/ui/traits/issue-35869.stderr @@ -12,8 +12,8 @@ note: type in trait | LL | fn foo(_: fn(u8) -> ()); | ^^^^^^^^^^^^ - = note: expected fn pointer `fn(fn(u8))` - found fn pointer `fn(fn(u16))` + = note: expected signature `fn(fn(u8))` + found signature `fn(fn(u16))` error[E0053]: method `bar` has an incompatible type for trait --> $DIR/issue-35869.rs:13:15 @@ -29,8 +29,8 @@ note: type in trait | LL | fn bar(_: Option<u8>); | ^^^^^^^^^^ - = note: expected fn pointer `fn(Option<u8>)` - found fn pointer `fn(Option<u16>)` + = note: expected signature `fn(Option<u8>)` + found signature `fn(Option<u16>)` error[E0053]: method `baz` has an incompatible type for trait --> $DIR/issue-35869.rs:15:15 @@ -46,8 +46,8 @@ note: type in trait | LL | fn baz(_: (u8, u16)); | ^^^^^^^^^ - = note: expected fn pointer `fn((u8, _))` - found fn pointer `fn((u16, _))` + = note: expected signature `fn((u8, _))` + found signature `fn((u16, _))` error[E0053]: method `qux` has an incompatible type for trait --> $DIR/issue-35869.rs:17:17 @@ -63,8 +63,8 @@ note: type in trait | LL | fn qux() -> u8; | ^^ - = note: expected fn pointer `fn() -> u8` - found fn pointer `fn() -> u16` + = note: expected signature `fn() -> u8` + found signature `fn() -> u16` error: aborting due to 4 previous errors diff --git a/src/test/ui/traits/issue-3683.rs b/tests/ui/traits/issue-3683.rs index b12c450c9..b12c450c9 100644 --- a/src/test/ui/traits/issue-3683.rs +++ b/tests/ui/traits/issue-3683.rs diff --git a/src/test/ui/traits/issue-38033.rs b/tests/ui/traits/issue-38033.rs index 16b867ec8..16b867ec8 100644 --- a/src/test/ui/traits/issue-38033.rs +++ b/tests/ui/traits/issue-38033.rs diff --git a/src/test/ui/issues/issue-38404.rs b/tests/ui/traits/issue-38404.rs index 1a92acc34..1a92acc34 100644 --- a/src/test/ui/issues/issue-38404.rs +++ b/tests/ui/traits/issue-38404.rs diff --git a/src/test/ui/issues/issue-38404.stderr b/tests/ui/traits/issue-38404.stderr index d7721d7e6..d7721d7e6 100644 --- a/src/test/ui/issues/issue-38404.stderr +++ b/tests/ui/traits/issue-38404.stderr diff --git a/src/test/ui/traits/issue-38604.rs b/tests/ui/traits/issue-38604.rs index 002a3c43f..002a3c43f 100644 --- a/src/test/ui/traits/issue-38604.rs +++ b/tests/ui/traits/issue-38604.rs diff --git a/src/test/ui/traits/issue-38604.stderr b/tests/ui/traits/issue-38604.stderr index 50d6fb054..50d6fb054 100644 --- a/src/test/ui/traits/issue-38604.stderr +++ b/tests/ui/traits/issue-38604.stderr diff --git a/src/test/ui/traits/issue-3973.rs b/tests/ui/traits/issue-3973.rs index a5ed5b870..a5ed5b870 100644 --- a/src/test/ui/traits/issue-3973.rs +++ b/tests/ui/traits/issue-3973.rs diff --git a/src/test/ui/traits/issue-3973.stderr b/tests/ui/traits/issue-3973.stderr index 87ee08049..87ee08049 100644 --- a/src/test/ui/traits/issue-3973.stderr +++ b/tests/ui/traits/issue-3973.stderr diff --git a/src/test/ui/traits/issue-4107.rs b/tests/ui/traits/issue-4107.rs index 98433e806..98433e806 100644 --- a/src/test/ui/traits/issue-4107.rs +++ b/tests/ui/traits/issue-4107.rs diff --git a/src/test/ui/traits/issue-43132.rs b/tests/ui/traits/issue-43132.rs index c886f4b0a..c886f4b0a 100644 --- a/src/test/ui/traits/issue-43132.rs +++ b/tests/ui/traits/issue-43132.rs diff --git a/src/test/ui/traits/issue-43784-supertrait.rs b/tests/ui/traits/issue-43784-supertrait.rs index 55c26ccd2..55c26ccd2 100644 --- a/src/test/ui/traits/issue-43784-supertrait.rs +++ b/tests/ui/traits/issue-43784-supertrait.rs diff --git a/tests/ui/traits/issue-43784-supertrait.stderr b/tests/ui/traits/issue-43784-supertrait.stderr new file mode 100644 index 000000000..6b5b72138 --- /dev/null +++ b/tests/ui/traits/issue-43784-supertrait.stderr @@ -0,0 +1,24 @@ +error[E0277]: the trait bound `T: Copy` is not satisfied + --> $DIR/issue-43784-supertrait.rs:8:22 + | +LL | impl<T> Complete for T {} + | ^ the trait `Copy` is not implemented for `T` + | +note: required for `T` to implement `Partial` + --> $DIR/issue-43784-supertrait.rs:1:11 + | +LL | pub trait Partial: Copy { + | ^^^^^^^ +note: required by a bound in `Complete` + --> $DIR/issue-43784-supertrait.rs:4:21 + | +LL | pub trait Complete: Partial { + | ^^^^^^^ required by this bound in `Complete` +help: consider restricting type parameter `T` + | +LL | impl<T: std::marker::Copy> Complete for T {} + | +++++++++++++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/issues/issue-50480.rs b/tests/ui/traits/issue-50480.rs index 10597caf5..005939e0c 100644 --- a/src/test/ui/issues/issue-50480.rs +++ b/tests/ui/traits/issue-50480.rs @@ -5,13 +5,11 @@ struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); //~| ERROR cannot find type `NotDefined` in this scope //~| ERROR cannot find type `N` in this scope //~| ERROR cannot find type `N` in this scope -//~| ERROR `i32` is not an iterator #[derive(Clone, Copy)] //~^ ERROR the trait `Copy` may not be implemented for this type struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); //~^ ERROR cannot find type `NotDefined` in this scope //~| ERROR cannot find type `N` in this scope -//~| ERROR `i32` is not an iterator fn main() {} diff --git a/tests/ui/traits/issue-50480.stderr b/tests/ui/traits/issue-50480.stderr new file mode 100644 index 000000000..5063fdca0 --- /dev/null +++ b/tests/ui/traits/issue-50480.stderr @@ -0,0 +1,92 @@ +error[E0412]: cannot find type `N` in this scope + --> $DIR/issue-50480.rs:3:12 + | +LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ^ not found in this scope + | +help: you might be missing a type parameter + | +LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | +++ + +error[E0412]: cannot find type `NotDefined` in this scope + --> $DIR/issue-50480.rs:3:15 + | +LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ^^^^^^^^^^ not found in this scope + +error[E0412]: cannot find type `N` in this scope + --> $DIR/issue-50480.rs:3:12 + | +LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ^ not found in this scope + | +help: you might be missing a type parameter + | +LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | +++ + +error[E0412]: cannot find type `NotDefined` in this scope + --> $DIR/issue-50480.rs:3:15 + | +LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ^^^^^^^^^^ not found in this scope + | +help: you might be missing a type parameter + | +LL | struct Foo<NotDefined>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ++++++++++++ + +error[E0412]: cannot find type `N` in this scope + --> $DIR/issue-50480.rs:11:18 + | +LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | - ^ + | | + | similarly named type parameter `T` defined here + | +help: a type parameter with a similar name exists + | +LL | struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ~ +help: you might be missing a type parameter + | +LL | struct Bar<T, N>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | +++ + +error[E0412]: cannot find type `NotDefined` in this scope + --> $DIR/issue-50480.rs:11:21 + | +LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | ^^^^^^^^^^ not found in this scope + +error[E0204]: the trait `Copy` may not be implemented for this type + --> $DIR/issue-50480.rs:1:17 + | +LL | #[derive(Clone, Copy)] + | ^^^^ +LL | +LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | -------- ------ this field does not implement `Copy` + | | + | this field does not implement `Copy` + | + = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0204]: the trait `Copy` may not be implemented for this type + --> $DIR/issue-50480.rs:9:17 + | +LL | #[derive(Clone, Copy)] + | ^^^^ +LL | +LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String); + | -------- ------ this field does not implement `Copy` + | | + | this field does not implement `Copy` + | + = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: aborting due to 8 previous errors + +Some errors have detailed explanations: E0204, E0412. +For more information about an error, try `rustc --explain E0204`. diff --git a/src/test/ui/traits/issue-52893.rs b/tests/ui/traits/issue-52893.rs index d72598d5d..d72598d5d 100644 --- a/src/test/ui/traits/issue-52893.rs +++ b/tests/ui/traits/issue-52893.rs diff --git a/tests/ui/traits/issue-52893.stderr b/tests/ui/traits/issue-52893.stderr new file mode 100644 index 000000000..a11867c03 --- /dev/null +++ b/tests/ui/traits/issue-52893.stderr @@ -0,0 +1,29 @@ +error[E0308]: mismatched types + --> $DIR/issue-52893.rs:53:22 + | +LL | impl<F, Name, P> AddClass<Name, F> for Class<P> + | - this type parameter +... +LL | builder.push(output); + | ---- ^^^^^^ expected type parameter `F`, found struct `Class` + | | + | arguments to this method are incorrect + | + = note: expected type parameter `F` + found struct `Class<P>` +help: the return type of this call is `Class<P>` due to the type of the argument passed + --> $DIR/issue-52893.rs:53:9 + | +LL | builder.push(output); + | ^^^^^^^^^^^^^------^ + | | + | this argument influences the return type of `push` +note: associated function defined here + --> $DIR/issue-52893.rs:11:8 + | +LL | fn push(self, other: T) -> Self::PushRes; + | ^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/traits/issue-56202.rs b/tests/ui/traits/issue-56202.rs index 0952843e6..0952843e6 100644 --- a/src/test/ui/traits/issue-56202.rs +++ b/tests/ui/traits/issue-56202.rs diff --git a/src/test/ui/traits/issue-56488.rs b/tests/ui/traits/issue-56488.rs index e2f399692..e2f399692 100644 --- a/src/test/ui/traits/issue-56488.rs +++ b/tests/ui/traits/issue-56488.rs diff --git a/src/test/ui/traits/issue-59029-1.rs b/tests/ui/traits/issue-59029-1.rs index 8ab47a4af..8ab47a4af 100644 --- a/src/test/ui/traits/issue-59029-1.rs +++ b/tests/ui/traits/issue-59029-1.rs diff --git a/src/test/ui/traits/issue-59029-1.stderr b/tests/ui/traits/issue-59029-1.stderr index 203a89285..203a89285 100644 --- a/src/test/ui/traits/issue-59029-1.stderr +++ b/tests/ui/traits/issue-59029-1.stderr diff --git a/src/test/ui/traits/issue-59029-2.rs b/tests/ui/traits/issue-59029-2.rs index 2bdb128d8..2bdb128d8 100644 --- a/src/test/ui/traits/issue-59029-2.rs +++ b/tests/ui/traits/issue-59029-2.rs diff --git a/src/test/ui/traits/issue-6128.rs b/tests/ui/traits/issue-6128.rs index 07d92f8f8..07d92f8f8 100644 --- a/src/test/ui/traits/issue-6128.rs +++ b/tests/ui/traits/issue-6128.rs diff --git a/src/test/ui/traits/issue-6334.rs b/tests/ui/traits/issue-6334.rs index acf48da15..acf48da15 100644 --- a/src/test/ui/traits/issue-6334.rs +++ b/tests/ui/traits/issue-6334.rs diff --git a/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs b/tests/ui/traits/issue-65284-suggest-generic-trait-bound.rs index 018ce0459..018ce0459 100644 --- a/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs +++ b/tests/ui/traits/issue-65284-suggest-generic-trait-bound.rs diff --git a/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr b/tests/ui/traits/issue-65284-suggest-generic-trait-bound.stderr index ae33e61d8..ae33e61d8 100644 --- a/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr +++ b/tests/ui/traits/issue-65284-suggest-generic-trait-bound.stderr diff --git a/src/test/ui/traits/issue-65673.rs b/tests/ui/traits/issue-65673.rs index e5c2fccb2..e5c2fccb2 100644 --- a/src/test/ui/traits/issue-65673.rs +++ b/tests/ui/traits/issue-65673.rs diff --git a/src/test/ui/traits/issue-65673.stderr b/tests/ui/traits/issue-65673.stderr index 8f01d7c53..8f01d7c53 100644 --- a/src/test/ui/traits/issue-65673.stderr +++ b/tests/ui/traits/issue-65673.stderr diff --git a/src/test/ui/traits/issue-68295.rs b/tests/ui/traits/issue-68295.rs index 7ff54539a..7ff54539a 100644 --- a/src/test/ui/traits/issue-68295.rs +++ b/tests/ui/traits/issue-68295.rs diff --git a/src/test/ui/traits/issue-68295.stderr b/tests/ui/traits/issue-68295.stderr index cb6e6e076..cb6e6e076 100644 --- a/src/test/ui/traits/issue-68295.stderr +++ b/tests/ui/traits/issue-68295.stderr diff --git a/src/test/ui/traits/issue-7013.rs b/tests/ui/traits/issue-7013.rs index 1fb01303c..1fb01303c 100644 --- a/src/test/ui/traits/issue-7013.rs +++ b/tests/ui/traits/issue-7013.rs diff --git a/src/test/ui/traits/issue-7013.stderr b/tests/ui/traits/issue-7013.stderr index 4575f4dba..4575f4dba 100644 --- a/src/test/ui/traits/issue-7013.stderr +++ b/tests/ui/traits/issue-7013.stderr diff --git a/src/test/ui/traits/issue-70944.rs b/tests/ui/traits/issue-70944.rs index 3286de9d5..3286de9d5 100644 --- a/src/test/ui/traits/issue-70944.rs +++ b/tests/ui/traits/issue-70944.rs diff --git a/src/test/ui/traits/issue-71036.rs b/tests/ui/traits/issue-71036.rs index 69eed0c04..69eed0c04 100644 --- a/src/test/ui/traits/issue-71036.rs +++ b/tests/ui/traits/issue-71036.rs diff --git a/src/test/ui/traits/issue-71036.stderr b/tests/ui/traits/issue-71036.stderr index 79eb7a2ae..79eb7a2ae 100644 --- a/src/test/ui/traits/issue-71036.stderr +++ b/tests/ui/traits/issue-71036.stderr diff --git a/src/test/ui/traits/issue-71136.rs b/tests/ui/traits/issue-71136.rs index b21756e2b..b21756e2b 100644 --- a/src/test/ui/traits/issue-71136.rs +++ b/tests/ui/traits/issue-71136.rs diff --git a/src/test/ui/traits/issue-71136.stderr b/tests/ui/traits/issue-71136.stderr index f54173392..f54173392 100644 --- a/src/test/ui/traits/issue-71136.stderr +++ b/tests/ui/traits/issue-71136.stderr diff --git a/src/test/ui/traits/issue-72410.rs b/tests/ui/traits/issue-72410.rs index c95f1dfdc..c95f1dfdc 100644 --- a/src/test/ui/traits/issue-72410.rs +++ b/tests/ui/traits/issue-72410.rs diff --git a/src/test/ui/traits/issue-72410.stderr b/tests/ui/traits/issue-72410.stderr index c7beb834b..c7beb834b 100644 --- a/src/test/ui/traits/issue-72410.stderr +++ b/tests/ui/traits/issue-72410.stderr diff --git a/src/test/ui/traits/issue-72455.rs b/tests/ui/traits/issue-72455.rs index b6c3bb222..b6c3bb222 100644 --- a/src/test/ui/traits/issue-72455.rs +++ b/tests/ui/traits/issue-72455.rs diff --git a/src/test/ui/traits/issue-75627.rs b/tests/ui/traits/issue-75627.rs index 93a2ec1cc..93a2ec1cc 100644 --- a/src/test/ui/traits/issue-75627.rs +++ b/tests/ui/traits/issue-75627.rs diff --git a/tests/ui/traits/issue-75627.stderr b/tests/ui/traits/issue-75627.stderr new file mode 100644 index 000000000..1675edc9f --- /dev/null +++ b/tests/ui/traits/issue-75627.stderr @@ -0,0 +1,14 @@ +error[E0412]: cannot find type `T` in this scope + --> $DIR/issue-75627.rs:3:26 + | +LL | unsafe impl Send for Foo<T> {} + | ^ not found in this scope + | +help: you might be missing a type parameter + | +LL | unsafe impl<T> Send for Foo<T> {} + | +++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/traits/issue-77982.rs b/tests/ui/traits/issue-77982.rs index f5be6cf21..f5be6cf21 100644 --- a/src/test/ui/traits/issue-77982.rs +++ b/tests/ui/traits/issue-77982.rs diff --git a/src/test/ui/traits/issue-77982.stderr b/tests/ui/traits/issue-77982.stderr index b6a045855..0b57a8212 100644 --- a/src/test/ui/traits/issue-77982.stderr +++ b/tests/ui/traits/issue-77982.stderr @@ -12,9 +12,6 @@ LL | opts.get(opt.as_ref()); where T: ?Sized; note: required by a bound in `HashMap::<K, V, S>::get` --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL - | -LL | K: Borrow<Q>, - | ^^^^^^^^^ required by this bound in `HashMap::<K, V, S>::get` help: consider specifying the generic argument | LL | opts.get::<Q>(opt.as_ref()); @@ -46,7 +43,15 @@ LL | let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect( | | | required by a bound introduced by this call | - = note: cannot satisfy `u32: From<_>` + = note: multiple `impl`s satisfying `u32: From<_>` found in the following crates: `core`, `std`: + - impl From<Ipv4Addr> for u32; + - impl From<NonZeroU32> for u32; + - impl From<bool> for u32; + - impl From<char> for u32; + - impl From<u16> for u32; + - impl From<u8> for u32; + - impl<T> From<!> for T; + - impl<T> From<T> for T; help: try using a fully qualified path to specify the expected types | LL | let ips: Vec<_> = (0..100_000).map(|_| u32::from(<u32 as Into<T>>::into(0u32))).collect(); diff --git a/src/test/ui/traits/issue-78372.rs b/tests/ui/traits/issue-78372.rs index 92f9f4b46..92f9f4b46 100644 --- a/src/test/ui/traits/issue-78372.rs +++ b/tests/ui/traits/issue-78372.rs diff --git a/src/test/ui/traits/issue-78372.stderr b/tests/ui/traits/issue-78372.stderr index 7e781016e..8e7fd5f25 100644 --- a/src/test/ui/traits/issue-78372.stderr +++ b/tests/ui/traits/issue-78372.stderr @@ -30,9 +30,12 @@ error[E0412]: cannot find type `MISC` in this scope --> $DIR/issue-78372.rs:3:34 | LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {} - | - ^^^^ not found in this scope - | | - | help: you might be missing a type parameter: `, MISC` + | ^^^^ not found in this scope + | +help: you might be missing a type parameter + | +LL | impl<T, MISC> DispatchFromDyn<Smaht<U, MISC>> for T {} + | ++++++ error[E0658]: use of unstable library feature 'dispatch_from_dyn' --> $DIR/issue-78372.rs:1:5 diff --git a/src/test/ui/traits/issue-78632.rs b/tests/ui/traits/issue-78632.rs index c72a2aef4..c72a2aef4 100644 --- a/src/test/ui/traits/issue-78632.rs +++ b/tests/ui/traits/issue-78632.rs diff --git a/src/test/ui/traits/issue-79458.rs b/tests/ui/traits/issue-79458.rs index a41add6a1..a41add6a1 100644 --- a/src/test/ui/traits/issue-79458.rs +++ b/tests/ui/traits/issue-79458.rs diff --git a/src/test/ui/traits/issue-79458.stderr b/tests/ui/traits/issue-79458.stderr index 08f7bbbf0..08f7bbbf0 100644 --- a/src/test/ui/traits/issue-79458.stderr +++ b/tests/ui/traits/issue-79458.stderr diff --git a/src/test/ui/traits/issue-8153.rs b/tests/ui/traits/issue-8153.rs index 81a8f5338..81a8f5338 100644 --- a/src/test/ui/traits/issue-8153.rs +++ b/tests/ui/traits/issue-8153.rs diff --git a/src/test/ui/traits/issue-8153.stderr b/tests/ui/traits/issue-8153.stderr index ae214bb9e..ae214bb9e 100644 --- a/src/test/ui/traits/issue-8153.stderr +++ b/tests/ui/traits/issue-8153.stderr diff --git a/src/test/ui/traits/issue-82830.rs b/tests/ui/traits/issue-82830.rs index 37bae2e90..37bae2e90 100644 --- a/src/test/ui/traits/issue-82830.rs +++ b/tests/ui/traits/issue-82830.rs diff --git a/src/test/ui/traits/issue-83538-tainted-cache-after-cycle.rs b/tests/ui/traits/issue-83538-tainted-cache-after-cycle.rs index 3cd68ff6f..3cd68ff6f 100644 --- a/src/test/ui/traits/issue-83538-tainted-cache-after-cycle.rs +++ b/tests/ui/traits/issue-83538-tainted-cache-after-cycle.rs diff --git a/src/test/ui/traits/issue-83538-tainted-cache-after-cycle.stderr b/tests/ui/traits/issue-83538-tainted-cache-after-cycle.stderr index 7c4041144..7c4041144 100644 --- a/src/test/ui/traits/issue-83538-tainted-cache-after-cycle.stderr +++ b/tests/ui/traits/issue-83538-tainted-cache-after-cycle.stderr diff --git a/src/test/ui/traits/issue-84399-bad-fresh-caching.rs b/tests/ui/traits/issue-84399-bad-fresh-caching.rs index 149400156..149400156 100644 --- a/src/test/ui/traits/issue-84399-bad-fresh-caching.rs +++ b/tests/ui/traits/issue-84399-bad-fresh-caching.rs diff --git a/src/test/ui/traits/issue-85360-eval-obligation-ice.rs b/tests/ui/traits/issue-85360-eval-obligation-ice.rs index 19131684a..19131684a 100644 --- a/src/test/ui/traits/issue-85360-eval-obligation-ice.rs +++ b/tests/ui/traits/issue-85360-eval-obligation-ice.rs diff --git a/src/test/ui/traits/issue-85360-eval-obligation-ice.stderr b/tests/ui/traits/issue-85360-eval-obligation-ice.stderr index ebf977dd6..ebf977dd6 100644 --- a/src/test/ui/traits/issue-85360-eval-obligation-ice.stderr +++ b/tests/ui/traits/issue-85360-eval-obligation-ice.stderr diff --git a/src/test/ui/traits/issue-85735.rs b/tests/ui/traits/issue-85735.rs index fb387a9c9..fb387a9c9 100644 --- a/src/test/ui/traits/issue-85735.rs +++ b/tests/ui/traits/issue-85735.rs diff --git a/tests/ui/traits/issue-85735.stderr b/tests/ui/traits/issue-85735.stderr new file mode 100644 index 000000000..9e80497ca --- /dev/null +++ b/tests/ui/traits/issue-85735.stderr @@ -0,0 +1,18 @@ +error[E0283]: type annotations needed: cannot satisfy `T: FnMut<(&'a (),)>` + --> $DIR/issue-85735.rs:7:8 + | +LL | T: FnMut(&'a ()), + | ^^^^^^^^^^^^^ + | +note: multiple `impl`s or `where` clauses satisfying `T: FnMut<(&'a (),)>` found + --> $DIR/issue-85735.rs:7:8 + | +LL | T: FnMut(&'a ()), + | ^^^^^^^^^^^^^ +LL | +LL | T: FnMut(&'b ()), + | ^^^^^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0283`. diff --git a/src/test/ui/traits/issue-87558.rs b/tests/ui/traits/issue-87558.rs index c5d86bd63..c5d86bd63 100644 --- a/src/test/ui/traits/issue-87558.rs +++ b/tests/ui/traits/issue-87558.rs diff --git a/src/test/ui/traits/issue-87558.stderr b/tests/ui/traits/issue-87558.stderr index 494274d8c..494274d8c 100644 --- a/src/test/ui/traits/issue-87558.stderr +++ b/tests/ui/traits/issue-87558.stderr diff --git a/src/test/ui/traits/issue-89119.rs b/tests/ui/traits/issue-89119.rs index 170f69915..170f69915 100644 --- a/src/test/ui/traits/issue-89119.rs +++ b/tests/ui/traits/issue-89119.rs diff --git a/src/test/ui/traits/issue-90195-2.rs b/tests/ui/traits/issue-90195-2.rs index b739dc46e..b739dc46e 100644 --- a/src/test/ui/traits/issue-90195-2.rs +++ b/tests/ui/traits/issue-90195-2.rs diff --git a/src/test/ui/traits/issue-90195.rs b/tests/ui/traits/issue-90195.rs index 543c9f197..543c9f197 100644 --- a/src/test/ui/traits/issue-90195.rs +++ b/tests/ui/traits/issue-90195.rs diff --git a/src/test/ui/traits/issue-90662-projection-caching.rs b/tests/ui/traits/issue-90662-projection-caching.rs index 879f30071..879f30071 100644 --- a/src/test/ui/traits/issue-90662-projection-caching.rs +++ b/tests/ui/traits/issue-90662-projection-caching.rs diff --git a/src/test/ui/traits/issue-91594.rs b/tests/ui/traits/issue-91594.rs index 930f7f0c6..930f7f0c6 100644 --- a/src/test/ui/traits/issue-91594.rs +++ b/tests/ui/traits/issue-91594.rs diff --git a/tests/ui/traits/issue-91594.stderr b/tests/ui/traits/issue-91594.stderr new file mode 100644 index 000000000..85d903fad --- /dev/null +++ b/tests/ui/traits/issue-91594.stderr @@ -0,0 +1,18 @@ +error[E0277]: the trait bound `Foo: HasComponent<()>` is not satisfied + --> $DIR/issue-91594.rs:10:19 + | +LL | impl HasComponent<<Foo as Component<Foo>>::Interface> for Foo {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HasComponent<()>` is not implemented for `Foo` + | + = help: the trait `HasComponent<<Foo as Component<Foo>>::Interface>` is implemented for `Foo` +note: required for `Foo` to implement `Component<Foo>` + --> $DIR/issue-91594.rs:13:27 + | +LL | impl<M: HasComponent<()>> Component<M> for Foo { + | ---------------- ^^^^^^^^^^^^ ^^^ + | | + | unsatisfied trait bound introduced here + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/traits/issue-91949-hangs-on-recursion.rs b/tests/ui/traits/issue-91949-hangs-on-recursion.rs index 6474b2b38..6474b2b38 100644 --- a/src/test/ui/traits/issue-91949-hangs-on-recursion.rs +++ b/tests/ui/traits/issue-91949-hangs-on-recursion.rs diff --git a/src/test/ui/traits/issue-91949-hangs-on-recursion.stderr b/tests/ui/traits/issue-91949-hangs-on-recursion.stderr index 1f18c5daf..1f18c5daf 100644 --- a/src/test/ui/traits/issue-91949-hangs-on-recursion.stderr +++ b/tests/ui/traits/issue-91949-hangs-on-recursion.stderr diff --git a/src/test/ui/traits/issue-92292.rs b/tests/ui/traits/issue-92292.rs index bb3700a2b..bb3700a2b 100644 --- a/src/test/ui/traits/issue-92292.rs +++ b/tests/ui/traits/issue-92292.rs diff --git a/src/test/ui/traits/issue-9394-inherited-calls.rs b/tests/ui/traits/issue-9394-inherited-calls.rs index cc0dd4fc1..cc0dd4fc1 100644 --- a/src/test/ui/traits/issue-9394-inherited-calls.rs +++ b/tests/ui/traits/issue-9394-inherited-calls.rs diff --git a/src/test/ui/traits/issue-95311.rs b/tests/ui/traits/issue-95311.rs index 9d40d254a..9d40d254a 100644 --- a/src/test/ui/traits/issue-95311.rs +++ b/tests/ui/traits/issue-95311.rs diff --git a/src/test/ui/traits/issue-95898.rs b/tests/ui/traits/issue-95898.rs index 41a20b899..41a20b899 100644 --- a/src/test/ui/traits/issue-95898.rs +++ b/tests/ui/traits/issue-95898.rs diff --git a/src/test/ui/traits/issue-95898.stderr b/tests/ui/traits/issue-95898.stderr index ca7bacdbf..ca7bacdbf 100644 --- a/src/test/ui/traits/issue-95898.stderr +++ b/tests/ui/traits/issue-95898.stderr diff --git a/src/test/ui/traits/issue-96664.rs b/tests/ui/traits/issue-96664.rs index 3c5314af7..3c5314af7 100644 --- a/src/test/ui/traits/issue-96664.rs +++ b/tests/ui/traits/issue-96664.rs diff --git a/src/test/ui/traits/issue-96665.rs b/tests/ui/traits/issue-96665.rs index a571d48d9..a571d48d9 100644 --- a/src/test/ui/traits/issue-96665.rs +++ b/tests/ui/traits/issue-96665.rs diff --git a/src/test/ui/traits/issue-97576.rs b/tests/ui/traits/issue-97576.rs index fdc85e9fa..fdc85e9fa 100644 --- a/src/test/ui/traits/issue-97576.rs +++ b/tests/ui/traits/issue-97576.rs diff --git a/tests/ui/traits/issue-97576.stderr b/tests/ui/traits/issue-97576.stderr new file mode 100644 index 000000000..9062a0fab --- /dev/null +++ b/tests/ui/traits/issue-97576.stderr @@ -0,0 +1,11 @@ +error[E0277]: the trait bound `String: From<impl ToString>` is not satisfied + --> $DIR/issue-97576.rs:8:22 + | +LL | bar: bar.into(), + | ^^^^ the trait `From<impl ToString>` is not implemented for `String` + | + = note: required for `impl ToString` to implement `Into<String>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/traits/issue-97695-double-trivial-bound.rs b/tests/ui/traits/issue-97695-double-trivial-bound.rs index 213605b51..213605b51 100644 --- a/src/test/ui/traits/issue-97695-double-trivial-bound.rs +++ b/tests/ui/traits/issue-97695-double-trivial-bound.rs diff --git a/src/test/ui/issues/issue-99875.rs b/tests/ui/traits/issue-99875.rs index cf73fd8d3..cf73fd8d3 100644 --- a/src/test/ui/issues/issue-99875.rs +++ b/tests/ui/traits/issue-99875.rs diff --git a/src/test/ui/issues/issue-99875.stderr b/tests/ui/traits/issue-99875.stderr index 3ff8f12f1..fb6eebbd2 100644 --- a/src/test/ui/issues/issue-99875.stderr +++ b/tests/ui/traits/issue-99875.stderr @@ -6,12 +6,15 @@ LL | takes(function); | | | required by a bound introduced by this call | - = help: the trait `Trait` is implemented for fn pointer `fn(Argument) -> Return` note: required by a bound in `takes` --> $DIR/issue-99875.rs:9:18 | LL | fn takes(_: impl Trait) {} | ^^^^^ required by this bound in `takes` +help: the trait `Trait` is implemented for fn pointer `fn(Argument) -> Return`, try casting using `as` + | +LL | takes(function as fn(Argument) -> Return); + | +++++++++++++++++++++++++ error[E0277]: the trait bound `[closure@$DIR/issue-99875.rs:14:11: 14:34]: Trait` is not satisfied --> $DIR/issue-99875.rs:14:11 diff --git a/src/test/ui/traits/item-inside-macro.rs b/tests/ui/traits/item-inside-macro.rs index 54bf872d0..54bf872d0 100644 --- a/src/test/ui/traits/item-inside-macro.rs +++ b/tests/ui/traits/item-inside-macro.rs diff --git a/src/test/ui/traits/item-privacy.rs b/tests/ui/traits/item-privacy.rs index 38d06b967..38d06b967 100644 --- a/src/test/ui/traits/item-privacy.rs +++ b/tests/ui/traits/item-privacy.rs diff --git a/src/test/ui/traits/item-privacy.stderr b/tests/ui/traits/item-privacy.stderr index f137a298a..293cfbda8 100644 --- a/src/test/ui/traits/item-privacy.stderr +++ b/tests/ui/traits/item-privacy.stderr @@ -148,19 +148,24 @@ error[E0223]: ambiguous associated type --> $DIR/item-privacy.rs:115:12 | LL | let _: S::A; - | ^^^^ help: use fully-qualified syntax: `<S as Trait>::A` + | ^^^^ + | +help: if there were a trait named `Example` with associated type `A` implemented for `S`, you could use the fully-qualified path + | +LL | let _: <S as Example>::A; + | ~~~~~~~~~~~~~~~~~ error[E0223]: ambiguous associated type --> $DIR/item-privacy.rs:116:12 | LL | let _: S::B; - | ^^^^ help: use fully-qualified syntax: `<S as Trait>::B` + | ^^^^ help: use the fully-qualified path: `<S as assoc_ty::B>::B` error[E0223]: ambiguous associated type --> $DIR/item-privacy.rs:117:12 | LL | let _: S::C; - | ^^^^ help: use fully-qualified syntax: `<S as Trait>::C` + | ^^^^ help: use the fully-qualified path: `<S as assoc_ty::C>::C` error[E0624]: associated type `A` is private --> $DIR/item-privacy.rs:119:12 diff --git a/src/test/ui/traits/kindck-owned-contains-1.rs b/tests/ui/traits/kindck-owned-contains-1.rs index 8adb06ba3..8adb06ba3 100644 --- a/src/test/ui/traits/kindck-owned-contains-1.rs +++ b/tests/ui/traits/kindck-owned-contains-1.rs diff --git a/src/test/ui/traits/map-types.rs b/tests/ui/traits/map-types.rs index dc33b9618..dc33b9618 100644 --- a/src/test/ui/traits/map-types.rs +++ b/tests/ui/traits/map-types.rs diff --git a/src/test/ui/traits/map-types.stderr b/tests/ui/traits/map-types.stderr index f685c50b0..f685c50b0 100644 --- a/src/test/ui/traits/map-types.stderr +++ b/tests/ui/traits/map-types.stderr diff --git a/src/test/ui/traits/matching-lifetimes.rs b/tests/ui/traits/matching-lifetimes.rs index 1430dc655..1430dc655 100644 --- a/src/test/ui/traits/matching-lifetimes.rs +++ b/tests/ui/traits/matching-lifetimes.rs diff --git a/src/test/ui/traits/matching-lifetimes.stderr b/tests/ui/traits/matching-lifetimes.stderr index de1c878a5..f8119ed41 100644 --- a/src/test/ui/traits/matching-lifetimes.stderr +++ b/tests/ui/traits/matching-lifetimes.stderr @@ -4,8 +4,8 @@ error[E0308]: method not compatible with trait LL | fn foo(x: Foo<'b,'a>) { | ^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | - = note: expected fn pointer `fn(Foo<'a, 'b>)` - found fn pointer `fn(Foo<'b, 'a>)` + = note: expected signature `fn(Foo<'a, 'b>)` + found signature `fn(Foo<'b, 'a>)` note: the lifetime `'b` as defined here... --> $DIR/matching-lifetimes.rs:13:9 | @@ -23,8 +23,8 @@ error[E0308]: method not compatible with trait LL | fn foo(x: Foo<'b,'a>) { | ^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | - = note: expected fn pointer `fn(Foo<'a, 'b>)` - found fn pointer `fn(Foo<'b, 'a>)` + = note: expected signature `fn(Foo<'a, 'b>)` + found signature `fn(Foo<'b, 'a>)` note: the lifetime `'a` as defined here... --> $DIR/matching-lifetimes.rs:13:6 | diff --git a/src/test/ui/traits/method-private.rs b/tests/ui/traits/method-private.rs index 4cd184854..4cd184854 100644 --- a/src/test/ui/traits/method-private.rs +++ b/tests/ui/traits/method-private.rs diff --git a/src/test/ui/traits/method-private.stderr b/tests/ui/traits/method-private.stderr index 8e991ec01..8e991ec01 100644 --- a/src/test/ui/traits/method-private.stderr +++ b/tests/ui/traits/method-private.stderr diff --git a/src/test/ui/traits/monad.rs b/tests/ui/traits/monad.rs index 5d0612cf8..5d0612cf8 100644 --- a/src/test/ui/traits/monad.rs +++ b/tests/ui/traits/monad.rs diff --git a/src/test/ui/traits/monomorphized-callees-with-ty-params-3314.rs b/tests/ui/traits/monomorphized-callees-with-ty-params-3314.rs index bc314a39d..bc314a39d 100644 --- a/src/test/ui/traits/monomorphized-callees-with-ty-params-3314.rs +++ b/tests/ui/traits/monomorphized-callees-with-ty-params-3314.rs diff --git a/src/test/ui/traits/multidispatch-bad.rs b/tests/ui/traits/multidispatch-bad.rs index b625b9615..b625b9615 100644 --- a/src/test/ui/traits/multidispatch-bad.rs +++ b/tests/ui/traits/multidispatch-bad.rs diff --git a/src/test/ui/traits/multidispatch-bad.stderr b/tests/ui/traits/multidispatch-bad.stderr index d58f1e2d9..d58f1e2d9 100644 --- a/src/test/ui/traits/multidispatch-bad.stderr +++ b/tests/ui/traits/multidispatch-bad.stderr diff --git a/src/test/ui/traits/multidispatch-conditional-impl-not-considered.rs b/tests/ui/traits/multidispatch-conditional-impl-not-considered.rs index f845e198a..f845e198a 100644 --- a/src/test/ui/traits/multidispatch-conditional-impl-not-considered.rs +++ b/tests/ui/traits/multidispatch-conditional-impl-not-considered.rs diff --git a/src/test/ui/traits/multidispatch-convert-ambig-dest.rs b/tests/ui/traits/multidispatch-convert-ambig-dest.rs index aa74e11c3..aa74e11c3 100644 --- a/src/test/ui/traits/multidispatch-convert-ambig-dest.rs +++ b/tests/ui/traits/multidispatch-convert-ambig-dest.rs diff --git a/src/test/ui/traits/multidispatch-convert-ambig-dest.stderr b/tests/ui/traits/multidispatch-convert-ambig-dest.stderr index 6e6172eea..6e6172eea 100644 --- a/src/test/ui/traits/multidispatch-convert-ambig-dest.stderr +++ b/tests/ui/traits/multidispatch-convert-ambig-dest.stderr diff --git a/src/test/ui/traits/multidispatch-infer-convert-target.rs b/tests/ui/traits/multidispatch-infer-convert-target.rs index 626e1ae71..626e1ae71 100644 --- a/src/test/ui/traits/multidispatch-infer-convert-target.rs +++ b/tests/ui/traits/multidispatch-infer-convert-target.rs diff --git a/src/test/ui/traits/multidispatch1.rs b/tests/ui/traits/multidispatch1.rs index f2469e149..f2469e149 100644 --- a/src/test/ui/traits/multidispatch1.rs +++ b/tests/ui/traits/multidispatch1.rs diff --git a/src/test/ui/traits/multidispatch2.rs b/tests/ui/traits/multidispatch2.rs index 20608aabb..20608aabb 100644 --- a/src/test/ui/traits/multidispatch2.rs +++ b/tests/ui/traits/multidispatch2.rs diff --git a/src/test/ui/traits/mutual-recursion-issue-75860.rs b/tests/ui/traits/mutual-recursion-issue-75860.rs index d7d7307b4..d7d7307b4 100644 --- a/src/test/ui/traits/mutual-recursion-issue-75860.rs +++ b/tests/ui/traits/mutual-recursion-issue-75860.rs diff --git a/src/test/ui/traits/mutual-recursion-issue-75860.stderr b/tests/ui/traits/mutual-recursion-issue-75860.stderr index 920f66121..23e182738 100644 --- a/src/test/ui/traits/mutual-recursion-issue-75860.stderr +++ b/tests/ui/traits/mutual-recursion-issue-75860.stderr @@ -7,9 +7,6 @@ LL | iso(left, right) = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`mutual_recursion_issue_75860`) note: required by a bound in `Option` --> $SRC_DIR/core/src/option.rs:LL:COL - | -LL | pub enum Option<T> { - | ^ required by this bound in `Option` error: aborting due to previous error diff --git a/src/test/ui/traits/negative-impls/auxiliary/foreign_trait.rs b/tests/ui/traits/negative-impls/auxiliary/foreign_trait.rs index 0e17f0890..0e17f0890 100644 --- a/src/test/ui/traits/negative-impls/auxiliary/foreign_trait.rs +++ b/tests/ui/traits/negative-impls/auxiliary/foreign_trait.rs diff --git a/src/test/ui/traits/negative-impls/eager-mono.rs b/tests/ui/traits/negative-impls/eager-mono.rs index ce770376c..ce770376c 100644 --- a/src/test/ui/traits/negative-impls/eager-mono.rs +++ b/tests/ui/traits/negative-impls/eager-mono.rs diff --git a/src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs b/tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs index 17ddaa312..17ddaa312 100644 --- a/src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs +++ b/tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.rs diff --git a/src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr b/tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr index b29442d7b..b29442d7b 100644 --- a/src/test/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr +++ b/tests/ui/traits/negative-impls/explicitly-unimplemented-error-message.stderr diff --git a/src/test/ui/traits/negative-impls/feature-gate-negative_impls.rs b/tests/ui/traits/negative-impls/feature-gate-negative_impls.rs index 683fd6db6..683fd6db6 100644 --- a/src/test/ui/traits/negative-impls/feature-gate-negative_impls.rs +++ b/tests/ui/traits/negative-impls/feature-gate-negative_impls.rs diff --git a/src/test/ui/traits/negative-impls/feature-gate-negative_impls.stderr b/tests/ui/traits/negative-impls/feature-gate-negative_impls.stderr index b253fbd0d..b253fbd0d 100644 --- a/src/test/ui/traits/negative-impls/feature-gate-negative_impls.stderr +++ b/tests/ui/traits/negative-impls/feature-gate-negative_impls.stderr diff --git a/src/test/ui/traits/negative-impls/negated-auto-traits-error.rs b/tests/ui/traits/negative-impls/negated-auto-traits-error.rs index 4bdad5dc5..4bdad5dc5 100644 --- a/src/test/ui/traits/negative-impls/negated-auto-traits-error.rs +++ b/tests/ui/traits/negative-impls/negated-auto-traits-error.rs diff --git a/src/test/ui/traits/negative-impls/negated-auto-traits-error.stderr b/tests/ui/traits/negative-impls/negated-auto-traits-error.stderr index 41fc3600f..ce690b749 100644 --- a/src/test/ui/traits/negative-impls/negated-auto-traits-error.stderr +++ b/tests/ui/traits/negative-impls/negated-auto-traits-error.stderr @@ -50,7 +50,7 @@ LL | is_send((8, TestType)); | required by a bound introduced by this call | = help: within `({integer}, dummy1c::TestType)`, the trait `Send` is not implemented for `dummy1c::TestType` - = note: required because it appears within the type `({integer}, dummy1c::TestType)` + = note: required because it appears within the type `({integer}, TestType)` note: required by a bound in `is_send` --> $DIR/negated-auto-traits-error.rs:16:15 | @@ -67,7 +67,7 @@ LL | is_send(Box::new(TestType)); | = note: the trait bound `Unique<dummy2::TestType>: Send` is not satisfied = note: required for `Unique<dummy2::TestType>` to implement `Send` - = note: required because it appears within the type `Box<dummy2::TestType>` + = note: required because it appears within the type `Box<TestType>` note: required by a bound in `is_send` --> $DIR/negated-auto-traits-error.rs:16:15 | @@ -87,13 +87,13 @@ LL | is_send(Box::new(Outer2(TestType))); | required by a bound introduced by this call | = help: within `Outer2<dummy3::TestType>`, the trait `Send` is not implemented for `dummy3::TestType` -note: required because it appears within the type `Outer2<dummy3::TestType>` +note: required because it appears within the type `Outer2<TestType>` --> $DIR/negated-auto-traits-error.rs:12:8 | LL | struct Outer2<T>(T); | ^^^^^^ = note: required for `Unique<Outer2<dummy3::TestType>>` to implement `Send` - = note: required because it appears within the type `Box<Outer2<dummy3::TestType>>` + = note: required because it appears within the type `Box<Outer2<TestType>>` note: required by a bound in `is_send` --> $DIR/negated-auto-traits-error.rs:16:15 | @@ -113,7 +113,9 @@ note: required for `Outer2<main::TestType>` to implement `Sync` --> $DIR/negated-auto-traits-error.rs:14:22 | LL | unsafe impl<T: Send> Sync for Outer2<T> {} - | ^^^^ ^^^^^^^^^ + | ---- ^^^^ ^^^^^^^^^ + | | + | unsatisfied trait bound introduced here note: required by a bound in `is_sync` --> $DIR/negated-auto-traits-error.rs:17:15 | diff --git a/src/test/ui/traits/negative-impls/negated-auto-traits-rpass.rs b/tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs index a1042f831..a1042f831 100644 --- a/src/test/ui/traits/negative-impls/negated-auto-traits-rpass.rs +++ b/tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs diff --git a/src/test/ui/traits/negative-impls/negative-default-impls.rs b/tests/ui/traits/negative-impls/negative-default-impls.rs index c68bca432..c68bca432 100644 --- a/src/test/ui/traits/negative-impls/negative-default-impls.rs +++ b/tests/ui/traits/negative-impls/negative-default-impls.rs diff --git a/src/test/ui/traits/negative-impls/negative-default-impls.stderr b/tests/ui/traits/negative-impls/negative-default-impls.stderr index 7b54cf542..7b54cf542 100644 --- a/src/test/ui/traits/negative-impls/negative-default-impls.stderr +++ b/tests/ui/traits/negative-impls/negative-default-impls.stderr diff --git a/src/test/ui/traits/negative-impls/negative-impls-basic.rs b/tests/ui/traits/negative-impls/negative-impls-basic.rs index 474e03817..474e03817 100644 --- a/src/test/ui/traits/negative-impls/negative-impls-basic.rs +++ b/tests/ui/traits/negative-impls/negative-impls-basic.rs diff --git a/src/test/ui/traits/negative-impls/negative-specializes-negative.rs b/tests/ui/traits/negative-impls/negative-specializes-negative.rs index 35297ab12..35297ab12 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-negative.rs +++ b/tests/ui/traits/negative-impls/negative-specializes-negative.rs diff --git a/src/test/ui/traits/negative-impls/negative-specializes-negative.stderr b/tests/ui/traits/negative-impls/negative-specializes-negative.stderr index 751e29c3b..751e29c3b 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-negative.stderr +++ b/tests/ui/traits/negative-impls/negative-specializes-negative.stderr diff --git a/src/test/ui/traits/negative-impls/negative-specializes-positive-item.rs b/tests/ui/traits/negative-impls/negative-specializes-positive-item.rs index 4281eedaf..4281eedaf 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-positive-item.rs +++ b/tests/ui/traits/negative-impls/negative-specializes-positive-item.rs diff --git a/src/test/ui/traits/negative-impls/negative-specializes-positive-item.stderr b/tests/ui/traits/negative-impls/negative-specializes-positive-item.stderr index 1cfa49b20..1cfa49b20 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-positive-item.stderr +++ b/tests/ui/traits/negative-impls/negative-specializes-positive-item.stderr diff --git a/src/test/ui/traits/negative-impls/negative-specializes-positive.rs b/tests/ui/traits/negative-impls/negative-specializes-positive.rs index 0e227691e..0e227691e 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-positive.rs +++ b/tests/ui/traits/negative-impls/negative-specializes-positive.rs diff --git a/src/test/ui/traits/negative-impls/negative-specializes-positive.stderr b/tests/ui/traits/negative-impls/negative-specializes-positive.stderr index 9f9e28678..9f9e28678 100644 --- a/src/test/ui/traits/negative-impls/negative-specializes-positive.stderr +++ b/tests/ui/traits/negative-impls/negative-specializes-positive.stderr diff --git a/src/test/ui/traits/negative-impls/no-items.rs b/tests/ui/traits/negative-impls/no-items.rs index 5fc6be9b3..5fc6be9b3 100644 --- a/src/test/ui/traits/negative-impls/no-items.rs +++ b/tests/ui/traits/negative-impls/no-items.rs diff --git a/src/test/ui/traits/negative-impls/no-items.stderr b/tests/ui/traits/negative-impls/no-items.stderr index 67b94bba1..67b94bba1 100644 --- a/src/test/ui/traits/negative-impls/no-items.stderr +++ b/tests/ui/traits/negative-impls/no-items.stderr diff --git a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs index a5b856465..a5b856465 100644 --- a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs +++ b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs diff --git a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr index a87acb1fb..a87acb1fb 100644 --- a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr +++ b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-clone.stderr diff --git a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs index 606cc65a8..606cc65a8 100644 --- a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs +++ b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs diff --git a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr index 9185e8f84..9185e8f84 100644 --- a/src/test/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr +++ b/tests/ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.stderr diff --git a/src/test/ui/traits/negative-impls/positive-specializes-negative.rs b/tests/ui/traits/negative-impls/positive-specializes-negative.rs index a06b35765..a06b35765 100644 --- a/src/test/ui/traits/negative-impls/positive-specializes-negative.rs +++ b/tests/ui/traits/negative-impls/positive-specializes-negative.rs diff --git a/src/test/ui/traits/negative-impls/positive-specializes-negative.stderr b/tests/ui/traits/negative-impls/positive-specializes-negative.stderr index 545f94143..545f94143 100644 --- a/src/test/ui/traits/negative-impls/positive-specializes-negative.stderr +++ b/tests/ui/traits/negative-impls/positive-specializes-negative.stderr diff --git a/src/test/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs b/tests/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs index c1f96ab8c..c1f96ab8c 100644 --- a/src/test/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs +++ b/tests/ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs diff --git a/tests/ui/traits/new-solver/fn-trait-closure.rs b/tests/ui/traits/new-solver/fn-trait-closure.rs new file mode 100644 index 000000000..c0ecf1c91 --- /dev/null +++ b/tests/ui/traits/new-solver/fn-trait-closure.rs @@ -0,0 +1,15 @@ +// compile-flags: -Ztrait-solver=next +// known-bug: unknown +// failure-status: 101 +// dont-check-compiler-stderr + +// This test will fail until we fix `FulfillmentCtxt::relationships`. That's +// because we create a type variable for closure upvar types, which is not +// constrained until after we try to do fallback on diverging type variables. +// Thus, we will call that function, which is unimplemented. + +fn require_fn(_: impl Fn() -> i32) {} + +fn main() { + require_fn(|| -> i32 { 1i32 }); +} diff --git a/tests/ui/traits/new-solver/fn-trait.rs b/tests/ui/traits/new-solver/fn-trait.rs new file mode 100644 index 000000000..d566ead10 --- /dev/null +++ b/tests/ui/traits/new-solver/fn-trait.rs @@ -0,0 +1,13 @@ +// compile-flags: -Ztrait-solver=next +// check-pass + +fn require_fn(_: impl Fn() -> i32) {} + +fn f() -> i32 { + 1i32 +} + +fn main() { + require_fn(f); + require_fn(f as fn() -> i32); +} diff --git a/tests/ui/traits/new-solver/pointer-sized.rs b/tests/ui/traits/new-solver/pointer-sized.rs new file mode 100644 index 000000000..15681cd13 --- /dev/null +++ b/tests/ui/traits/new-solver/pointer-sized.rs @@ -0,0 +1,12 @@ +#![feature(pointer_sized_trait)] + +use std::marker::PointerSized; + +fn require_pointer_sized(_: impl PointerSized) {} + +fn main() { + require_pointer_sized(1usize); + require_pointer_sized(1u16); + //~^ ERROR `u16` needs to be a pointer-sized type + require_pointer_sized(&1i16); +} diff --git a/tests/ui/traits/new-solver/pointer-sized.stderr b/tests/ui/traits/new-solver/pointer-sized.stderr new file mode 100644 index 000000000..b250b1331 --- /dev/null +++ b/tests/ui/traits/new-solver/pointer-sized.stderr @@ -0,0 +1,24 @@ +error[E0277]: `u16` needs to be a pointer-sized type + --> $DIR/pointer-sized.rs:9:27 + | +LL | require_pointer_sized(1u16); + | --------------------- ^^^^ the trait `PointerSized` is not implemented for `u16` + | | + | required by a bound introduced by this call + | + = note: the trait bound `u16: PointerSized` is not satisfied +note: required by a bound in `require_pointer_sized` + --> $DIR/pointer-sized.rs:5:34 + | +LL | fn require_pointer_sized(_: impl PointerSized) {} + | ^^^^^^^^^^^^ required by this bound in `require_pointer_sized` +help: consider borrowing here + | +LL | require_pointer_sized(&1u16); + | + +LL | require_pointer_sized(&mut 1u16); + | ++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/traits/no-fallback-multiple-impls.rs b/tests/ui/traits/no-fallback-multiple-impls.rs index 7ed3796f0..7ed3796f0 100644 --- a/src/test/ui/traits/no-fallback-multiple-impls.rs +++ b/tests/ui/traits/no-fallback-multiple-impls.rs diff --git a/src/test/ui/traits/no-fallback-multiple-impls.stderr b/tests/ui/traits/no-fallback-multiple-impls.stderr index 61c9e5aaa..61c9e5aaa 100644 --- a/src/test/ui/traits/no-fallback-multiple-impls.stderr +++ b/tests/ui/traits/no-fallback-multiple-impls.stderr diff --git a/src/test/ui/traits/no_send-struct.rs b/tests/ui/traits/no_send-struct.rs index 75a363f9f..75a363f9f 100644 --- a/src/test/ui/traits/no_send-struct.rs +++ b/tests/ui/traits/no_send-struct.rs diff --git a/src/test/ui/traits/no_send-struct.stderr b/tests/ui/traits/no_send-struct.stderr index ee7bdf282..ee7bdf282 100644 --- a/src/test/ui/traits/no_send-struct.stderr +++ b/tests/ui/traits/no_send-struct.stderr diff --git a/src/test/ui/traits/normalize-supertrait.rs b/tests/ui/traits/normalize-supertrait.rs index 021a93eac..021a93eac 100644 --- a/src/test/ui/traits/normalize-supertrait.rs +++ b/tests/ui/traits/normalize-supertrait.rs diff --git a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.rs index 538e74ee1..538e74ee1 100644 --- a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs +++ b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.rs diff --git a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr index 53178328c..92d9d32cf 100644 --- a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr +++ b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr @@ -27,6 +27,9 @@ note: required for `A<B>` to implement `V<_>` | LL | impl<T, U> V<U> for A<T> | ^^^^ ^^^^ +LL | where +LL | T: I<U>, + | ---- unsatisfied trait bound introduced here help: try using a fully qualified path to specify the expected types | LL | <A<B> as V<U>>::method(a); diff --git a/src/test/ui/traits/object-does-not-impl-trait.rs b/tests/ui/traits/object-does-not-impl-trait.rs index b3b679813..b3b679813 100644 --- a/src/test/ui/traits/object-does-not-impl-trait.rs +++ b/tests/ui/traits/object-does-not-impl-trait.rs diff --git a/src/test/ui/traits/object-does-not-impl-trait.stderr b/tests/ui/traits/object-does-not-impl-trait.stderr index f1dd508a4..f1dd508a4 100644 --- a/src/test/ui/traits/object-does-not-impl-trait.stderr +++ b/tests/ui/traits/object-does-not-impl-trait.stderr diff --git a/src/test/ui/traits/object-one-type-two-traits.rs b/tests/ui/traits/object-one-type-two-traits.rs index 86a2094ee..86a2094ee 100644 --- a/src/test/ui/traits/object-one-type-two-traits.rs +++ b/tests/ui/traits/object-one-type-two-traits.rs diff --git a/src/test/ui/traits/object/auto-dedup-in-impl.rs b/tests/ui/traits/object/auto-dedup-in-impl.rs index 85698f194..85698f194 100644 --- a/src/test/ui/traits/object/auto-dedup-in-impl.rs +++ b/tests/ui/traits/object/auto-dedup-in-impl.rs diff --git a/src/test/ui/traits/object/auto-dedup-in-impl.stderr b/tests/ui/traits/object/auto-dedup-in-impl.stderr index 5f13c7813..5f13c7813 100644 --- a/src/test/ui/traits/object/auto-dedup-in-impl.stderr +++ b/tests/ui/traits/object/auto-dedup-in-impl.stderr diff --git a/src/test/ui/traits/object/auto-dedup.rs b/tests/ui/traits/object/auto-dedup.rs index 39d25eb7f..39d25eb7f 100644 --- a/src/test/ui/traits/object/auto-dedup.rs +++ b/tests/ui/traits/object/auto-dedup.rs diff --git a/src/test/ui/traits/object/bounds-cycle-1.rs b/tests/ui/traits/object/bounds-cycle-1.rs index 314676492..314676492 100644 --- a/src/test/ui/traits/object/bounds-cycle-1.rs +++ b/tests/ui/traits/object/bounds-cycle-1.rs diff --git a/src/test/ui/traits/object/bounds-cycle-2.rs b/tests/ui/traits/object/bounds-cycle-2.rs index 4c1df3805..4c1df3805 100644 --- a/src/test/ui/traits/object/bounds-cycle-2.rs +++ b/tests/ui/traits/object/bounds-cycle-2.rs diff --git a/src/test/ui/traits/object/bounds-cycle-3.rs b/tests/ui/traits/object/bounds-cycle-3.rs index 55726a5ae..55726a5ae 100644 --- a/src/test/ui/traits/object/bounds-cycle-3.rs +++ b/tests/ui/traits/object/bounds-cycle-3.rs diff --git a/src/test/ui/traits/object/bounds-cycle-4.rs b/tests/ui/traits/object/bounds-cycle-4.rs index f83cb75c7..f83cb75c7 100644 --- a/src/test/ui/traits/object/bounds-cycle-4.rs +++ b/tests/ui/traits/object/bounds-cycle-4.rs diff --git a/src/test/ui/traits/object/enforce-supertrait-projection.rs b/tests/ui/traits/object/enforce-supertrait-projection.rs index 2c9b41eea..2c9b41eea 100644 --- a/src/test/ui/traits/object/enforce-supertrait-projection.rs +++ b/tests/ui/traits/object/enforce-supertrait-projection.rs diff --git a/src/test/ui/traits/object/enforce-supertrait-projection.stderr b/tests/ui/traits/object/enforce-supertrait-projection.stderr index cbf093866..cbf093866 100644 --- a/src/test/ui/traits/object/enforce-supertrait-projection.stderr +++ b/tests/ui/traits/object/enforce-supertrait-projection.stderr diff --git a/src/test/ui/traits/object/exclusion.rs b/tests/ui/traits/object/exclusion.rs index 766dceeaf..766dceeaf 100644 --- a/src/test/ui/traits/object/exclusion.rs +++ b/tests/ui/traits/object/exclusion.rs diff --git a/src/test/ui/traits/object/generics.rs b/tests/ui/traits/object/generics.rs index 5a4a6aecc..5a4a6aecc 100644 --- a/src/test/ui/traits/object/generics.rs +++ b/tests/ui/traits/object/generics.rs diff --git a/src/test/ui/traits/object/issue-33140-traitobject-crate.rs b/tests/ui/traits/object/issue-33140-traitobject-crate.rs index 8abd92da3..8abd92da3 100644 --- a/src/test/ui/traits/object/issue-33140-traitobject-crate.rs +++ b/tests/ui/traits/object/issue-33140-traitobject-crate.rs diff --git a/src/test/ui/traits/object/issue-33140-traitobject-crate.stderr b/tests/ui/traits/object/issue-33140-traitobject-crate.stderr index 525401f9d..525401f9d 100644 --- a/src/test/ui/traits/object/issue-33140-traitobject-crate.stderr +++ b/tests/ui/traits/object/issue-33140-traitobject-crate.stderr diff --git a/tests/ui/traits/object/issue-44454-1.rs b/tests/ui/traits/object/issue-44454-1.rs new file mode 100644 index 000000000..bbaf3188a --- /dev/null +++ b/tests/ui/traits/object/issue-44454-1.rs @@ -0,0 +1,22 @@ +// Taken from https://github.com/rust-lang/rust/issues/44454#issue-256435333 + +trait Animal<X>: 'static {} + +fn foo<Y, X>() +where + Y: Animal<X> + ?Sized, +{ + // `Y` implements `Animal<X>` so `Y` is 'static. + baz::<Y>() +} + +fn bar<'a>(_arg: &'a i32) { + foo::<dyn Animal<&'a i32>, &'a i32>() //~ ERROR: lifetime may not live long enough +} + +fn baz<T: 'static + ?Sized>() {} + +fn main() { + let a = 5; + bar(&a); +} diff --git a/tests/ui/traits/object/issue-44454-1.stderr b/tests/ui/traits/object/issue-44454-1.stderr new file mode 100644 index 000000000..859487f50 --- /dev/null +++ b/tests/ui/traits/object/issue-44454-1.stderr @@ -0,0 +1,10 @@ +error: lifetime may not live long enough + --> $DIR/issue-44454-1.rs:14:5 + | +LL | fn bar<'a>(_arg: &'a i32) { + | -- lifetime `'a` defined here +LL | foo::<dyn Animal<&'a i32>, &'a i32>() + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static` + +error: aborting due to previous error + diff --git a/tests/ui/traits/object/issue-44454-2.rs b/tests/ui/traits/object/issue-44454-2.rs new file mode 100644 index 000000000..f5178bcdb --- /dev/null +++ b/tests/ui/traits/object/issue-44454-2.rs @@ -0,0 +1,22 @@ +// Taken from https://github.com/rust-lang/rust/issues/44454#issuecomment-1175925928 + +trait Trait<ARG: 'static>: 'static { + type Assoc: AsRef<str>; +} + +fn hr<T: ?Sized, ARG>(x: T::Assoc) -> Box<dyn AsRef<str> + 'static> +where + T: Trait<ARG> +{ + Box::new(x) +} + +fn extend_lt<'a>(x: &'a str) -> Box<dyn AsRef<str> + 'static> { + type DynTrait = dyn for<'a> Trait<&'a str, Assoc = &'a str>; + hr::<DynTrait, _>(x) //~ ERROR: borrowed data escapes outside of function +} + +fn main() { + let extended = extend_lt(&String::from("hello")); + println!("{}", extended.as_ref().as_ref()); +} diff --git a/tests/ui/traits/object/issue-44454-2.stderr b/tests/ui/traits/object/issue-44454-2.stderr new file mode 100644 index 000000000..7f574769b --- /dev/null +++ b/tests/ui/traits/object/issue-44454-2.stderr @@ -0,0 +1,17 @@ +error[E0521]: borrowed data escapes outside of function + --> $DIR/issue-44454-2.rs:16:5 + | +LL | fn extend_lt<'a>(x: &'a str) -> Box<dyn AsRef<str> + 'static> { + | -- - `x` is a reference that is only valid in the function body + | | + | lifetime `'a` defined here +LL | type DynTrait = dyn for<'a> Trait<&'a str, Assoc = &'a str>; +LL | hr::<DynTrait, _>(x) + | ^^^^^^^^^^^^^^^^^^^^ + | | + | `x` escapes the function body here + | argument requires that `'a` must outlive `'static` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0521`. diff --git a/tests/ui/traits/object/issue-44454-3.rs b/tests/ui/traits/object/issue-44454-3.rs new file mode 100644 index 000000000..bff727035 --- /dev/null +++ b/tests/ui/traits/object/issue-44454-3.rs @@ -0,0 +1,33 @@ +// Taken from https://github.com/rust-lang/rust/issues/44454#issuecomment-1332781290 + +use std::any::Any; + +trait Animal<X>: 'static {} + +trait Projector { + type Foo; +} + +impl<X> Projector for dyn Animal<X> { + type Foo = X; +} + +fn make_static<'a, T>(t: &'a T) -> &'static T { + let x: <dyn Animal<&'a T> as Projector>::Foo = t; + let any = generic::<dyn Animal<&'a T>, &'a T>(x); + //~^ ERROR: lifetime may not live long enough + any.downcast_ref::<&'static T>().unwrap() +} + +fn generic<T: Projector + Animal<U> + ?Sized, U>(x: <T as Projector>::Foo) -> Box<dyn Any> { + make_static_any(x) +} + +fn make_static_any<U: 'static>(u: U) -> Box<dyn Any> { + Box::new(u) +} + +fn main() { + let a = make_static(&"salut".to_string()); + println!("{}", *a); +} diff --git a/tests/ui/traits/object/issue-44454-3.stderr b/tests/ui/traits/object/issue-44454-3.stderr new file mode 100644 index 000000000..294684d26 --- /dev/null +++ b/tests/ui/traits/object/issue-44454-3.stderr @@ -0,0 +1,11 @@ +error: lifetime may not live long enough + --> $DIR/issue-44454-3.rs:17:15 + | +LL | fn make_static<'a, T>(t: &'a T) -> &'static T { + | -- lifetime `'a` defined here +LL | let x: <dyn Animal<&'a T> as Projector>::Foo = t; +LL | let any = generic::<dyn Animal<&'a T>, &'a T>(x); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static` + +error: aborting due to previous error + diff --git a/src/test/ui/traits/object/lifetime-first.rs b/tests/ui/traits/object/lifetime-first.rs index 33757cb7c..33757cb7c 100644 --- a/src/test/ui/traits/object/lifetime-first.rs +++ b/tests/ui/traits/object/lifetime-first.rs diff --git a/src/test/ui/traits/object/macro-matcher.rs b/tests/ui/traits/object/macro-matcher.rs index 910978749..910978749 100644 --- a/src/test/ui/traits/object/macro-matcher.rs +++ b/tests/ui/traits/object/macro-matcher.rs diff --git a/src/test/ui/traits/object/macro-matcher.stderr b/tests/ui/traits/object/macro-matcher.stderr index 6d1e236c0..6d1e236c0 100644 --- a/src/test/ui/traits/object/macro-matcher.stderr +++ b/tests/ui/traits/object/macro-matcher.stderr diff --git a/src/test/ui/traits/object/safety.rs b/tests/ui/traits/object/safety.rs index f43d332d6..f43d332d6 100644 --- a/src/test/ui/traits/object/safety.rs +++ b/tests/ui/traits/object/safety.rs diff --git a/src/test/ui/traits/object/safety.stderr b/tests/ui/traits/object/safety.stderr index dc18adeaf..dc18adeaf 100644 --- a/src/test/ui/traits/object/safety.stderr +++ b/tests/ui/traits/object/safety.stderr diff --git a/src/test/ui/traits/object/supertrait-lifetime-bound.rs b/tests/ui/traits/object/supertrait-lifetime-bound.rs index f929a9bb6..f929a9bb6 100644 --- a/src/test/ui/traits/object/supertrait-lifetime-bound.rs +++ b/tests/ui/traits/object/supertrait-lifetime-bound.rs diff --git a/src/test/ui/traits/object/supertrait-lifetime-bound.stderr b/tests/ui/traits/object/supertrait-lifetime-bound.stderr index ed2f86243..ed2f86243 100644 --- a/src/test/ui/traits/object/supertrait-lifetime-bound.stderr +++ b/tests/ui/traits/object/supertrait-lifetime-bound.stderr diff --git a/src/test/ui/traits/object/vs-lifetime-2.rs b/tests/ui/traits/object/vs-lifetime-2.rs index 0b33dc7f6..0b33dc7f6 100644 --- a/src/test/ui/traits/object/vs-lifetime-2.rs +++ b/tests/ui/traits/object/vs-lifetime-2.rs diff --git a/src/test/ui/traits/object/vs-lifetime-2.stderr b/tests/ui/traits/object/vs-lifetime-2.stderr index 9b8e793df..9b8e793df 100644 --- a/src/test/ui/traits/object/vs-lifetime-2.stderr +++ b/tests/ui/traits/object/vs-lifetime-2.stderr diff --git a/src/test/ui/traits/object/vs-lifetime.rs b/tests/ui/traits/object/vs-lifetime.rs index 14ae67cff..14ae67cff 100644 --- a/src/test/ui/traits/object/vs-lifetime.rs +++ b/tests/ui/traits/object/vs-lifetime.rs diff --git a/src/test/ui/traits/object/vs-lifetime.stderr b/tests/ui/traits/object/vs-lifetime.stderr index 224465228..224465228 100644 --- a/src/test/ui/traits/object/vs-lifetime.stderr +++ b/tests/ui/traits/object/vs-lifetime.stderr diff --git a/src/test/ui/traits/object/with-lifetime-bound.rs b/tests/ui/traits/object/with-lifetime-bound.rs index 05aab5e3b..05aab5e3b 100644 --- a/src/test/ui/traits/object/with-lifetime-bound.rs +++ b/tests/ui/traits/object/with-lifetime-bound.rs diff --git a/src/test/ui/traits/object/with-self-in-projection-output-bad.rs b/tests/ui/traits/object/with-self-in-projection-output-bad.rs index f34fa80a0..f34fa80a0 100644 --- a/src/test/ui/traits/object/with-self-in-projection-output-bad.rs +++ b/tests/ui/traits/object/with-self-in-projection-output-bad.rs diff --git a/src/test/ui/traits/object/with-self-in-projection-output-bad.stderr b/tests/ui/traits/object/with-self-in-projection-output-bad.stderr index 641bfe236..641bfe236 100644 --- a/src/test/ui/traits/object/with-self-in-projection-output-bad.stderr +++ b/tests/ui/traits/object/with-self-in-projection-output-bad.stderr diff --git a/src/test/ui/traits/object/with-self-in-projection-output-good.rs b/tests/ui/traits/object/with-self-in-projection-output-good.rs index d1b7bf6c2..d1b7bf6c2 100644 --- a/src/test/ui/traits/object/with-self-in-projection-output-good.rs +++ b/tests/ui/traits/object/with-self-in-projection-output-good.rs diff --git a/src/test/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs b/tests/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs index 39e817168..39e817168 100644 --- a/src/test/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs +++ b/tests/ui/traits/object/with-self-in-projection-output-repeated-supertrait.rs diff --git a/src/test/ui/traits/objects-owned-object-borrowed-method-headerless.rs b/tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs index fce1341fc..fce1341fc 100644 --- a/src/test/ui/traits/objects-owned-object-borrowed-method-headerless.rs +++ b/tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs diff --git a/src/test/ui/traits/operator-overloading-issue-52025.rs b/tests/ui/traits/operator-overloading-issue-52025.rs index 7ce638832..7ce638832 100644 --- a/src/test/ui/traits/operator-overloading-issue-52025.rs +++ b/tests/ui/traits/operator-overloading-issue-52025.rs diff --git a/src/test/ui/traits/overlap-not-permitted-for-builtin-trait.rs b/tests/ui/traits/overlap-not-permitted-for-builtin-trait.rs index 4106f56d6..4106f56d6 100644 --- a/src/test/ui/traits/overlap-not-permitted-for-builtin-trait.rs +++ b/tests/ui/traits/overlap-not-permitted-for-builtin-trait.rs diff --git a/src/test/ui/traits/overlap-not-permitted-for-builtin-trait.stderr b/tests/ui/traits/overlap-not-permitted-for-builtin-trait.stderr index e24ed695d..e24ed695d 100644 --- a/src/test/ui/traits/overlap-not-permitted-for-builtin-trait.stderr +++ b/tests/ui/traits/overlap-not-permitted-for-builtin-trait.stderr diff --git a/src/test/ui/traits/overlap-permitted-for-marker-traits.rs b/tests/ui/traits/overlap-permitted-for-marker-traits.rs index 00823d13b..00823d13b 100644 --- a/src/test/ui/traits/overlap-permitted-for-marker-traits.rs +++ b/tests/ui/traits/overlap-permitted-for-marker-traits.rs diff --git a/src/test/ui/traits/param-without-lifetime-constraint.rs b/tests/ui/traits/param-without-lifetime-constraint.rs index a79b74dcd..a79b74dcd 100644 --- a/src/test/ui/traits/param-without-lifetime-constraint.rs +++ b/tests/ui/traits/param-without-lifetime-constraint.rs diff --git a/src/test/ui/traits/param-without-lifetime-constraint.stderr b/tests/ui/traits/param-without-lifetime-constraint.stderr index 118b2cf3e..b128b6518 100644 --- a/src/test/ui/traits/param-without-lifetime-constraint.stderr +++ b/tests/ui/traits/param-without-lifetime-constraint.stderr @@ -7,8 +7,8 @@ LL | fn get_relation(&self) -> To; LL | fn get_relation(&self) -> &ProofReader { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(&'1 Article) -> &'1 ProofReader` | - = note: expected `fn(&'1 Article) -> &'2 ProofReader` - found `fn(&'1 Article) -> &'1 ProofReader` + = note: expected signature `fn(&'1 Article) -> &'2 ProofReader` + found signature `fn(&'1 Article) -> &'1 ProofReader` help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` --> $DIR/param-without-lifetime-constraint.rs:10:31 | diff --git a/src/test/ui/traits/parameterized-with-bounds.rs b/tests/ui/traits/parameterized-with-bounds.rs index 832d4f6c8..832d4f6c8 100644 --- a/src/test/ui/traits/parameterized-with-bounds.rs +++ b/tests/ui/traits/parameterized-with-bounds.rs diff --git a/src/test/ui/traits/pointee-deduction.rs b/tests/ui/traits/pointee-deduction.rs index c333b0129..c333b0129 100644 --- a/src/test/ui/traits/pointee-deduction.rs +++ b/tests/ui/traits/pointee-deduction.rs diff --git a/src/test/ui/traits/pointee-tail-is-generic-errors.rs b/tests/ui/traits/pointee-tail-is-generic-errors.rs index 28bc1da96..28bc1da96 100644 --- a/src/test/ui/traits/pointee-tail-is-generic-errors.rs +++ b/tests/ui/traits/pointee-tail-is-generic-errors.rs diff --git a/src/test/ui/traits/pointee-tail-is-generic-errors.stderr b/tests/ui/traits/pointee-tail-is-generic-errors.stderr index 0c3d7060d..0c3d7060d 100644 --- a/src/test/ui/traits/pointee-tail-is-generic-errors.stderr +++ b/tests/ui/traits/pointee-tail-is-generic-errors.stderr diff --git a/src/test/ui/traits/pointee-tail-is-generic.rs b/tests/ui/traits/pointee-tail-is-generic.rs index e0da0fc38..e0da0fc38 100644 --- a/src/test/ui/traits/pointee-tail-is-generic.rs +++ b/tests/ui/traits/pointee-tail-is-generic.rs diff --git a/src/test/ui/traits/principal-less-objects.rs b/tests/ui/traits/principal-less-objects.rs index 62bad0d7d..62bad0d7d 100644 --- a/src/test/ui/traits/principal-less-objects.rs +++ b/tests/ui/traits/principal-less-objects.rs diff --git a/src/test/ui/traits/privacy.rs b/tests/ui/traits/privacy.rs index 17a2e05e9..17a2e05e9 100644 --- a/src/test/ui/traits/privacy.rs +++ b/tests/ui/traits/privacy.rs diff --git a/src/test/ui/traits/project-modulo-regions.rs b/tests/ui/traits/project-modulo-regions.rs index f0c0dd3ed..f0c0dd3ed 100644 --- a/src/test/ui/traits/project-modulo-regions.rs +++ b/tests/ui/traits/project-modulo-regions.rs diff --git a/src/test/ui/traits/project-modulo-regions.with_clause.stderr b/tests/ui/traits/project-modulo-regions.with_clause.stderr index 2434c32c8..2434c32c8 100644 --- a/src/test/ui/traits/project-modulo-regions.with_clause.stderr +++ b/tests/ui/traits/project-modulo-regions.with_clause.stderr diff --git a/src/test/ui/traits/project-modulo-regions.without_clause.stderr b/tests/ui/traits/project-modulo-regions.without_clause.stderr index 9d35690d5..9d35690d5 100644 --- a/src/test/ui/traits/project-modulo-regions.without_clause.stderr +++ b/tests/ui/traits/project-modulo-regions.without_clause.stderr diff --git a/src/test/ui/traits/region-pointer-simple.rs b/tests/ui/traits/region-pointer-simple.rs index 0456ca931..0456ca931 100644 --- a/src/test/ui/traits/region-pointer-simple.rs +++ b/tests/ui/traits/region-pointer-simple.rs diff --git a/src/test/ui/traits/reservation-impl/coherence-conflict.rs b/tests/ui/traits/reservation-impl/coherence-conflict.rs index fa4a30931..fa4a30931 100644 --- a/src/test/ui/traits/reservation-impl/coherence-conflict.rs +++ b/tests/ui/traits/reservation-impl/coherence-conflict.rs diff --git a/src/test/ui/traits/reservation-impl/coherence-conflict.stderr b/tests/ui/traits/reservation-impl/coherence-conflict.stderr index a811d7e32..a811d7e32 100644 --- a/src/test/ui/traits/reservation-impl/coherence-conflict.stderr +++ b/tests/ui/traits/reservation-impl/coherence-conflict.stderr diff --git a/src/test/ui/traits/reservation-impl/no-use.rs b/tests/ui/traits/reservation-impl/no-use.rs index 65a55d9e2..65a55d9e2 100644 --- a/src/test/ui/traits/reservation-impl/no-use.rs +++ b/tests/ui/traits/reservation-impl/no-use.rs diff --git a/src/test/ui/traits/reservation-impl/no-use.stderr b/tests/ui/traits/reservation-impl/no-use.stderr index cefb2a879..cefb2a879 100644 --- a/src/test/ui/traits/reservation-impl/no-use.stderr +++ b/tests/ui/traits/reservation-impl/no-use.stderr diff --git a/src/test/ui/traits/reservation-impl/non-lattice-ok.rs b/tests/ui/traits/reservation-impl/non-lattice-ok.rs index a71051243..a71051243 100644 --- a/src/test/ui/traits/reservation-impl/non-lattice-ok.rs +++ b/tests/ui/traits/reservation-impl/non-lattice-ok.rs diff --git a/src/test/ui/traits/reservation-impl/ok.rs b/tests/ui/traits/reservation-impl/ok.rs index 611c8d884..611c8d884 100644 --- a/src/test/ui/traits/reservation-impl/ok.rs +++ b/tests/ui/traits/reservation-impl/ok.rs diff --git a/src/test/ui/traits/resolution-in-overloaded-op.rs b/tests/ui/traits/resolution-in-overloaded-op.rs index a9bacc357..a9bacc357 100644 --- a/src/test/ui/traits/resolution-in-overloaded-op.rs +++ b/tests/ui/traits/resolution-in-overloaded-op.rs diff --git a/src/test/ui/traits/resolution-in-overloaded-op.stderr b/tests/ui/traits/resolution-in-overloaded-op.stderr index fe5e1d6d2..fe5e1d6d2 100644 --- a/src/test/ui/traits/resolution-in-overloaded-op.stderr +++ b/tests/ui/traits/resolution-in-overloaded-op.stderr diff --git a/src/test/ui/traits/safety-fn-body.mir.stderr b/tests/ui/traits/safety-fn-body.mir.stderr index ea7b2048e..ea7b2048e 100644 --- a/src/test/ui/traits/safety-fn-body.mir.stderr +++ b/tests/ui/traits/safety-fn-body.mir.stderr diff --git a/src/test/ui/traits/safety-fn-body.rs b/tests/ui/traits/safety-fn-body.rs index 2cc4fe1b3..2cc4fe1b3 100644 --- a/src/test/ui/traits/safety-fn-body.rs +++ b/tests/ui/traits/safety-fn-body.rs diff --git a/src/test/ui/traits/safety-fn-body.thir.stderr b/tests/ui/traits/safety-fn-body.thir.stderr index 23696c32b..23696c32b 100644 --- a/src/test/ui/traits/safety-fn-body.thir.stderr +++ b/tests/ui/traits/safety-fn-body.thir.stderr diff --git a/src/test/ui/traits/safety-inherent-impl.rs b/tests/ui/traits/safety-inherent-impl.rs index 50e15f0d2..50e15f0d2 100644 --- a/src/test/ui/traits/safety-inherent-impl.rs +++ b/tests/ui/traits/safety-inherent-impl.rs diff --git a/src/test/ui/traits/safety-inherent-impl.stderr b/tests/ui/traits/safety-inherent-impl.stderr index 1c8f43fec..1c8f43fec 100644 --- a/src/test/ui/traits/safety-inherent-impl.stderr +++ b/tests/ui/traits/safety-inherent-impl.stderr diff --git a/src/test/ui/traits/safety-ok-cc.rs b/tests/ui/traits/safety-ok-cc.rs index 099ba80e5..099ba80e5 100644 --- a/src/test/ui/traits/safety-ok-cc.rs +++ b/tests/ui/traits/safety-ok-cc.rs diff --git a/src/test/ui/traits/safety-ok.rs b/tests/ui/traits/safety-ok.rs index d456a78b6..d456a78b6 100644 --- a/src/test/ui/traits/safety-ok.rs +++ b/tests/ui/traits/safety-ok.rs diff --git a/src/test/ui/traits/safety-trait-impl-cc.rs b/tests/ui/traits/safety-trait-impl-cc.rs index 6f125e5f9..6f125e5f9 100644 --- a/src/test/ui/traits/safety-trait-impl-cc.rs +++ b/tests/ui/traits/safety-trait-impl-cc.rs diff --git a/src/test/ui/traits/safety-trait-impl-cc.stderr b/tests/ui/traits/safety-trait-impl-cc.stderr index 0b1fb3047..0ca565787 100644 --- a/src/test/ui/traits/safety-trait-impl-cc.stderr +++ b/tests/ui/traits/safety-trait-impl-cc.stderr @@ -1,12 +1,8 @@ error[E0200]: the trait `Foo` requires an `unsafe impl` declaration --> $DIR/safety-trait-impl-cc.rs:9:1 | -LL | / impl lib::Foo for Bar { -LL | | fn foo(&self) -> isize { -LL | | panic!(); -LL | | } -LL | | } - | |_^ +LL | impl lib::Foo for Bar { + | ^^^^^^^^^^^^^^^^^^^^^ | = note: the trait `Foo` enforces invariants that the compiler can't check. Review the trait documentation and make sure this implementation upholds those invariants before adding the `unsafe` keyword help: add `unsafe` to this trait implementation diff --git a/src/test/ui/traits/safety-trait-impl.rs b/tests/ui/traits/safety-trait-impl.rs index 45258b78d..45258b78d 100644 --- a/src/test/ui/traits/safety-trait-impl.rs +++ b/tests/ui/traits/safety-trait-impl.rs diff --git a/src/test/ui/traits/safety-trait-impl.stderr b/tests/ui/traits/safety-trait-impl.stderr index 721e2b48b..e78e0e3a6 100644 --- a/src/test/ui/traits/safety-trait-impl.stderr +++ b/tests/ui/traits/safety-trait-impl.stderr @@ -2,7 +2,7 @@ error[E0200]: the trait `UnsafeTrait` requires an `unsafe impl` declaration --> $DIR/safety-trait-impl.rs:14:1 | LL | impl UnsafeTrait for u16 { } - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the trait `UnsafeTrait` enforces invariants that the compiler can't check. Review the trait documentation and make sure this implementation upholds those invariants before adding the `unsafe` keyword help: add `unsafe` to this trait implementation @@ -14,7 +14,7 @@ error[E0199]: implementing the trait `SafeTrait` is not unsafe --> $DIR/safety-trait-impl.rs:16:1 | LL | unsafe impl SafeTrait for u32 { } - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | help: remove `unsafe` from this trait implementation | diff --git a/src/test/ui/traits/self-without-lifetime-constraint.rs b/tests/ui/traits/self-without-lifetime-constraint.rs index 99013d32a..99013d32a 100644 --- a/src/test/ui/traits/self-without-lifetime-constraint.rs +++ b/tests/ui/traits/self-without-lifetime-constraint.rs diff --git a/src/test/ui/traits/self-without-lifetime-constraint.stderr b/tests/ui/traits/self-without-lifetime-constraint.stderr index 85fada3b8..05a49820a 100644 --- a/src/test/ui/traits/self-without-lifetime-constraint.stderr +++ b/tests/ui/traits/self-without-lifetime-constraint.stderr @@ -7,8 +7,8 @@ LL | fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>; LL | fn column_result(value: ValueRef<'_>) -> FromSqlResult<&str, &&str> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>` | - = note: expected `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>` - found `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>` + = note: expected signature `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>` + found signature `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>` help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` --> $DIR/self-without-lifetime-constraint.rs:41:60 | diff --git a/tests/ui/traits/solver-cycles/inductive-canonical-cycle.rs b/tests/ui/traits/solver-cycles/inductive-canonical-cycle.rs new file mode 100644 index 000000000..5449f5f00 --- /dev/null +++ b/tests/ui/traits/solver-cycles/inductive-canonical-cycle.rs @@ -0,0 +1,69 @@ +// check-pass + +// This test checks that we're correctly dealing with inductive cycles +// with canonical inference variables. + +trait Trait<T, U> {} + +trait IsNotU32 {} +impl IsNotU32 for i32 {} +impl<T: IsNotU32, U> Trait<T, U> for () // impl 1 +where + (): Trait<U, T> +{} + +impl<T> Trait<u32, T> for () {} // impl 2 + +// If we now check whether `(): Trait<?0, ?1>` holds this has to +// result in ambiguity as both `for<T> (): Trait<u32, T>` and `(): Trait<i32, u32>` +// applies. The remainder of this test asserts that. + +// If we were to error on inductive cycles with canonical inference variables +// this would be wrong: + +// (): Trait<?0, ?1> +// - impl 1 +// - ?0: IsNotU32 // ambig +// - (): Trait<?1, ?0> // canonical cycle -> err +// - ERR +// - impl 2 +// - OK ?0 == u32 +// +// Result: OK ?0 == u32. + +// (): Trait<i32, u32> +// - impl 1 +// - i32: IsNotU32 // ok +// - (): Trait<u32, i32> +// - impl 1 +// - u32: IsNotU32 // err +// - ERR +// - impl 2 +// - OK +// - OK +// - impl 2 (trivial ERR) +// +// Result OK + +// This would mean that `(): Trait<?0, ?1>` is not complete, +// which is unsound if we're in coherence. + +fn implements_trait<T, U>() -> (T, U) +where + (): Trait<T, U>, +{ + todo!() +} + +// A hack to only constrain the infer vars after first checking +// the `(): Trait<_, _>`. +trait Constrain<T> {} +impl<T> Constrain<T> for T {} +fn constrain<T: Constrain<U>, U>(_: U) {} + +fn main() { + let (x, y) = implements_trait::<_, _>(); + + constrain::<i32, _>(x); + constrain::<u32, _>(y); +} diff --git a/src/test/ui/traits/static-method-generic-inference.rs b/tests/ui/traits/static-method-generic-inference.rs index f4e94c4f7..f4e94c4f7 100644 --- a/src/test/ui/traits/static-method-generic-inference.rs +++ b/tests/ui/traits/static-method-generic-inference.rs diff --git a/src/test/ui/traits/static-method-generic-inference.stderr b/tests/ui/traits/static-method-generic-inference.stderr index 5f74d0c3b..575ace237 100644 --- a/src/test/ui/traits/static-method-generic-inference.stderr +++ b/tests/ui/traits/static-method-generic-inference.stderr @@ -9,8 +9,8 @@ LL | let _f: base::Foo = base::HasNew::new(); | help: use the fully-qualified path to the only available implementation | -LL | let _f: base::Foo = base::<Foo as HasNew>::new(); - | +++++++ + +LL | let _f: base::Foo = <Foo as base::HasNew>::new(); + | +++++++ + error: aborting due to previous error diff --git a/src/test/ui/traits/static-method-overwriting.rs b/tests/ui/traits/static-method-overwriting.rs index f669ffae6..f669ffae6 100644 --- a/src/test/ui/traits/static-method-overwriting.rs +++ b/tests/ui/traits/static-method-overwriting.rs diff --git a/src/test/ui/traits/static-outlives-a-where-clause.rs b/tests/ui/traits/static-outlives-a-where-clause.rs index f0c2c1082..f0c2c1082 100644 --- a/src/test/ui/traits/static-outlives-a-where-clause.rs +++ b/tests/ui/traits/static-outlives-a-where-clause.rs diff --git a/src/test/ui/traits/staticness-mismatch.rs b/tests/ui/traits/staticness-mismatch.rs index 8710d0112..8710d0112 100644 --- a/src/test/ui/traits/staticness-mismatch.rs +++ b/tests/ui/traits/staticness-mismatch.rs diff --git a/src/test/ui/traits/staticness-mismatch.stderr b/tests/ui/traits/staticness-mismatch.stderr index b67ac5adb..b67ac5adb 100644 --- a/src/test/ui/traits/staticness-mismatch.stderr +++ b/tests/ui/traits/staticness-mismatch.stderr diff --git a/src/test/ui/traits/suggest-deferences/issue-39029.fixed b/tests/ui/traits/suggest-deferences/issue-39029.fixed index a1abf668b..a1abf668b 100644 --- a/src/test/ui/traits/suggest-deferences/issue-39029.fixed +++ b/tests/ui/traits/suggest-deferences/issue-39029.fixed diff --git a/src/test/ui/traits/suggest-deferences/issue-39029.rs b/tests/ui/traits/suggest-deferences/issue-39029.rs index 90d097105..90d097105 100644 --- a/src/test/ui/traits/suggest-deferences/issue-39029.rs +++ b/tests/ui/traits/suggest-deferences/issue-39029.rs diff --git a/src/test/ui/traits/suggest-deferences/issue-39029.stderr b/tests/ui/traits/suggest-deferences/issue-39029.stderr index eb2b88059..49e20c6a7 100644 --- a/src/test/ui/traits/suggest-deferences/issue-39029.stderr +++ b/tests/ui/traits/suggest-deferences/issue-39029.stderr @@ -9,9 +9,6 @@ LL | let _errors = TcpListener::bind(&bad); = note: required for `&NoToSocketAddrs` to implement `ToSocketAddrs` note: required by a bound in `TcpListener::bind` --> $SRC_DIR/std/src/net/tcp.rs:LL:COL - | -LL | pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<TcpListener> { - | ^^^^^^^^^^^^^ required by this bound in `TcpListener::bind` help: consider dereferencing here | LL | let _errors = TcpListener::bind(&*bad); diff --git a/src/test/ui/traits/suggest-deferences/issue-62530.fixed b/tests/ui/traits/suggest-deferences/issue-62530.fixed index 406caaa00..406caaa00 100644 --- a/src/test/ui/traits/suggest-deferences/issue-62530.fixed +++ b/tests/ui/traits/suggest-deferences/issue-62530.fixed diff --git a/src/test/ui/traits/suggest-deferences/issue-62530.rs b/tests/ui/traits/suggest-deferences/issue-62530.rs index 53846be73..53846be73 100644 --- a/src/test/ui/traits/suggest-deferences/issue-62530.rs +++ b/tests/ui/traits/suggest-deferences/issue-62530.rs diff --git a/src/test/ui/traits/suggest-deferences/issue-62530.stderr b/tests/ui/traits/suggest-deferences/issue-62530.stderr index e47ae0b65..e47ae0b65 100644 --- a/src/test/ui/traits/suggest-deferences/issue-62530.stderr +++ b/tests/ui/traits/suggest-deferences/issue-62530.stderr diff --git a/src/test/ui/traits/suggest-deferences/multiple-0.fixed b/tests/ui/traits/suggest-deferences/multiple-0.fixed index b7160b75c..b7160b75c 100644 --- a/src/test/ui/traits/suggest-deferences/multiple-0.fixed +++ b/tests/ui/traits/suggest-deferences/multiple-0.fixed diff --git a/src/test/ui/traits/suggest-deferences/multiple-0.rs b/tests/ui/traits/suggest-deferences/multiple-0.rs index 9ac55177f..9ac55177f 100644 --- a/src/test/ui/traits/suggest-deferences/multiple-0.rs +++ b/tests/ui/traits/suggest-deferences/multiple-0.rs diff --git a/src/test/ui/traits/suggest-deferences/multiple-0.stderr b/tests/ui/traits/suggest-deferences/multiple-0.stderr index 6a4d4b8d5..6a4d4b8d5 100644 --- a/src/test/ui/traits/suggest-deferences/multiple-0.stderr +++ b/tests/ui/traits/suggest-deferences/multiple-0.stderr diff --git a/src/test/ui/traits/suggest-deferences/multiple-1.rs b/tests/ui/traits/suggest-deferences/multiple-1.rs index 91c6c7924..91c6c7924 100644 --- a/src/test/ui/traits/suggest-deferences/multiple-1.rs +++ b/tests/ui/traits/suggest-deferences/multiple-1.rs diff --git a/src/test/ui/traits/suggest-deferences/multiple-1.stderr b/tests/ui/traits/suggest-deferences/multiple-1.stderr index 6e12321c2..6e12321c2 100644 --- a/src/test/ui/traits/suggest-deferences/multiple-1.stderr +++ b/tests/ui/traits/suggest-deferences/multiple-1.stderr diff --git a/src/test/ui/traits/suggest-deferences/root-obligation.fixed b/tests/ui/traits/suggest-deferences/root-obligation.fixed index 7a8433f90..7a8433f90 100644 --- a/src/test/ui/traits/suggest-deferences/root-obligation.fixed +++ b/tests/ui/traits/suggest-deferences/root-obligation.fixed diff --git a/src/test/ui/traits/suggest-deferences/root-obligation.rs b/tests/ui/traits/suggest-deferences/root-obligation.rs index 51bac2107..51bac2107 100644 --- a/src/test/ui/traits/suggest-deferences/root-obligation.rs +++ b/tests/ui/traits/suggest-deferences/root-obligation.rs diff --git a/src/test/ui/traits/suggest-deferences/root-obligation.stderr b/tests/ui/traits/suggest-deferences/root-obligation.stderr index 76663ace7..1363fb8c4 100644 --- a/src/test/ui/traits/suggest-deferences/root-obligation.stderr +++ b/tests/ui/traits/suggest-deferences/root-obligation.stderr @@ -11,9 +11,6 @@ LL | .filter(|c| "aeiou".contains(c)) = note: required for `&char` to implement `Pattern<'_>` note: required by a bound in `core::str::<impl str>::contains` --> $SRC_DIR/core/src/str/mod.rs:LL:COL - | -LL | pub fn contains<'a, P: Pattern<'a>>(&'a self, pat: P) -> bool { - | ^^^^^^^^^^^ required by this bound in `core::str::<impl str>::contains` help: consider dereferencing here | LL | .filter(|c| "aeiou".contains(*c)) diff --git a/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.fixed b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.fixed new file mode 100644 index 000000000..ea3d1bf85 --- /dev/null +++ b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.fixed @@ -0,0 +1,14 @@ +// run-rustfix + +struct TargetStruct; + +impl From<usize> for TargetStruct { + fn from(_unchecked: usize) -> Self { + TargetStruct + } +} + +fn main() { + let a = &3; + let _b: TargetStruct = (*a).into(); //~ ERROR the trait bound `TargetStruct: From<&{integer}>` is not satisfied +} diff --git a/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.rs b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.rs new file mode 100644 index 000000000..9eda68027 --- /dev/null +++ b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.rs @@ -0,0 +1,14 @@ +// run-rustfix + +struct TargetStruct; + +impl From<usize> for TargetStruct { + fn from(_unchecked: usize) -> Self { + TargetStruct + } +} + +fn main() { + let a = &3; + let _b: TargetStruct = a.into(); //~ ERROR the trait bound `TargetStruct: From<&{integer}>` is not satisfied +} diff --git a/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.stderr b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.stderr new file mode 100644 index 000000000..ede31a2c7 --- /dev/null +++ b/tests/ui/traits/suggest-deferences/suggest-dereferencing-receiver-argument.stderr @@ -0,0 +1,15 @@ +error[E0277]: the trait bound `TargetStruct: From<&{integer}>` is not satisfied + --> $DIR/suggest-dereferencing-receiver-argument.rs:13:30 + | +LL | let _b: TargetStruct = a.into(); + | ^^^^ the trait `From<&{integer}>` is not implemented for `TargetStruct` + | + = note: required for `&{integer}` to implement `Into<TargetStruct>` +help: consider dereferencing here + | +LL | let _b: TargetStruct = (*a).into(); + | ++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/traits/suggest-fully-qualified-closure.rs b/tests/ui/traits/suggest-fully-qualified-closure.rs index c077921c0..c077921c0 100644 --- a/src/test/ui/traits/suggest-fully-qualified-closure.rs +++ b/tests/ui/traits/suggest-fully-qualified-closure.rs diff --git a/src/test/ui/traits/suggest-fully-qualified-closure.stderr b/tests/ui/traits/suggest-fully-qualified-closure.stderr index 3df623c14..3df623c14 100644 --- a/src/test/ui/traits/suggest-fully-qualified-closure.stderr +++ b/tests/ui/traits/suggest-fully-qualified-closure.stderr diff --git a/src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.rs b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.rs index 9a2cf469d..9a2cf469d 100644 --- a/src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.rs +++ b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.rs diff --git a/src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr index 68b31a1ca..68b31a1ca 100644 --- a/src/test/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr +++ b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr diff --git a/src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.rs b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.rs index da640c8c8..da640c8c8 100644 --- a/src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.rs +++ b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.rs diff --git a/src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr index 27518a54e..27518a54e 100644 --- a/src/test/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr +++ b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr diff --git a/src/test/ui/traits/suggest-where-clause.rs b/tests/ui/traits/suggest-where-clause.rs index 46d047a2d..46d047a2d 100644 --- a/src/test/ui/traits/suggest-where-clause.rs +++ b/tests/ui/traits/suggest-where-clause.rs diff --git a/src/test/ui/traits/suggest-where-clause.stderr b/tests/ui/traits/suggest-where-clause.stderr index 747e2477b..44e63b78c 100644 --- a/src/test/ui/traits/suggest-where-clause.stderr +++ b/tests/ui/traits/suggest-where-clause.stderr @@ -9,9 +9,6 @@ LL | mem::size_of::<U>(); | note: required by a bound in `std::mem::size_of` --> $SRC_DIR/core/src/mem/mod.rs:LL:COL - | -LL | pub const fn size_of<T>() -> usize { - | ^ required by this bound in `std::mem::size_of` help: consider removing the `?Sized` bound to make the type parameter `Sized` | LL - fn check<T: Iterator, U: ?Sized>() { @@ -34,9 +31,6 @@ LL | struct Misc<T:?Sized>(T); | ^^^^ note: required by a bound in `std::mem::size_of` --> $SRC_DIR/core/src/mem/mod.rs:LL:COL - | -LL | pub const fn size_of<T>() -> usize { - | ^ required by this bound in `std::mem::size_of` help: consider removing the `?Sized` bound to make the type parameter `Sized` | LL - fn check<T: Iterator, U: ?Sized>() { @@ -80,9 +74,6 @@ LL | mem::size_of::<[T]>(); = help: the trait `Sized` is not implemented for `[T]` note: required by a bound in `std::mem::size_of` --> $SRC_DIR/core/src/mem/mod.rs:LL:COL - | -LL | pub const fn size_of<T>() -> usize { - | ^ required by this bound in `std::mem::size_of` error[E0277]: the size for values of type `[&U]` cannot be known at compilation time --> $DIR/suggest-where-clause.rs:31:20 @@ -93,9 +84,6 @@ LL | mem::size_of::<[&U]>(); = help: the trait `Sized` is not implemented for `[&U]` note: required by a bound in `std::mem::size_of` --> $SRC_DIR/core/src/mem/mod.rs:LL:COL - | -LL | pub const fn size_of<T>() -> usize { - | ^ required by this bound in `std::mem::size_of` error: aborting due to 7 previous errors diff --git a/src/test/ui/traits/superdefault-generics.rs b/tests/ui/traits/superdefault-generics.rs index e862c0e97..e862c0e97 100644 --- a/src/test/ui/traits/superdefault-generics.rs +++ b/tests/ui/traits/superdefault-generics.rs diff --git a/src/test/ui/traits/syntax-polarity.rs b/tests/ui/traits/syntax-polarity.rs index c809f9e89..c809f9e89 100644 --- a/src/test/ui/traits/syntax-polarity.rs +++ b/tests/ui/traits/syntax-polarity.rs diff --git a/src/test/ui/traits/syntax-trait-polarity.rs b/tests/ui/traits/syntax-trait-polarity.rs index ed2947493..ed2947493 100644 --- a/src/test/ui/traits/syntax-trait-polarity.rs +++ b/tests/ui/traits/syntax-trait-polarity.rs diff --git a/src/test/ui/traits/syntax-trait-polarity.stderr b/tests/ui/traits/syntax-trait-polarity.stderr index 1fd40fb66..1fd40fb66 100644 --- a/src/test/ui/traits/syntax-trait-polarity.stderr +++ b/tests/ui/traits/syntax-trait-polarity.stderr diff --git a/src/test/ui/traits/test-2.rs b/tests/ui/traits/test-2.rs index 342928e88..342928e88 100644 --- a/src/test/ui/traits/test-2.rs +++ b/tests/ui/traits/test-2.rs diff --git a/src/test/ui/traits/test-2.stderr b/tests/ui/traits/test-2.stderr index eaa20b0b4..eaa20b0b4 100644 --- a/src/test/ui/traits/test-2.stderr +++ b/tests/ui/traits/test-2.stderr diff --git a/src/test/ui/traits/test.rs b/tests/ui/traits/test.rs index 72fc66f74..72fc66f74 100644 --- a/src/test/ui/traits/test.rs +++ b/tests/ui/traits/test.rs diff --git a/src/test/ui/traits/test.stderr b/tests/ui/traits/test.stderr index 668228abe..668228abe 100644 --- a/src/test/ui/traits/test.stderr +++ b/tests/ui/traits/test.stderr diff --git a/src/test/ui/traits/to-str.rs b/tests/ui/traits/to-str.rs index 9670edbfa..9670edbfa 100644 --- a/src/test/ui/traits/to-str.rs +++ b/tests/ui/traits/to-str.rs diff --git a/tests/ui/traits/track-obligations.rs b/tests/ui/traits/track-obligations.rs new file mode 100644 index 000000000..77e753c13 --- /dev/null +++ b/tests/ui/traits/track-obligations.rs @@ -0,0 +1,88 @@ +// These are simplifications of the tower traits by the same name: + +pub trait Service<Request> { + type Response; +} + +pub trait Layer<C> { + type Service; +} + +// Any type will do here: + +pub struct Req; +pub struct Res; + +// This is encoding a trait alias. + +pub trait ParticularService: + Service<Req, Response = Res> { +} + +impl<T> ParticularService for T +where + T: Service<Req, Response = Res>, +{ +} + +// This is also a trait alias. +// The weird = <Self as ...> bound is there so that users of the trait do not +// need to repeat the bounds. See https://github.com/rust-lang/rust/issues/20671 +// for context, and in particular the workaround in: +// https://github.com/rust-lang/rust/issues/20671#issuecomment-529752828 + +pub trait ParticularServiceLayer<C>: + Layer<C, Service = <Self as ParticularServiceLayer<C>>::Service> +{ + type Service: ParticularService; +} + +impl<T, C> ParticularServiceLayer<C> for T +where + T: Layer<C>, + T::Service: ParticularService, +{ + type Service = T::Service; +} + +// These are types that implement the traits that the trait aliases refer to. +// They should also implement the alias traits due to the blanket impls. + +struct ALayer<C>(C); +impl<C> Layer<C> for ALayer<C> { + type Service = AService; +} + +struct AService; +impl Service<Req> for AService { + // However, AService does _not_ meet the blanket implementation, + // since its Response type is bool, not Res as it should be. + type Response = bool; +} + +// This is a wrapper type around ALayer that uses the trait alias +// as a way to communicate the requirements of the provided types. +struct Client<C>(C); + +// The method and the free-standing function below both have the same bounds. + +impl<C> Client<C> +where + ALayer<C>: ParticularServiceLayer<C>, +{ + fn check(&self) {} +} + +fn check<C>(_: C) where ALayer<C>: ParticularServiceLayer<C> {} + +// But, they give very different error messages. + +fn main() { + // This gives a very poor error message that does nothing to point the user + // at the underlying cause of why the types involved do not meet the bounds. + Client(()).check(); //~ ERROR E0599 + + // This gives a good(ish) error message that points the user at _why_ the + // bound isn't met, and thus how they might fix it. + check(()); //~ ERROR E0271 +} diff --git a/tests/ui/traits/track-obligations.stderr b/tests/ui/traits/track-obligations.stderr new file mode 100644 index 000000000..894774759 --- /dev/null +++ b/tests/ui/traits/track-obligations.stderr @@ -0,0 +1,76 @@ +error[E0599]: the method `check` exists for struct `Client<()>`, but its trait bounds were not satisfied + --> $DIR/track-obligations.rs:83:16 + | +LL | struct ALayer<C>(C); + | ---------------- + | | + | doesn't satisfy `<_ as Layer<()>>::Service = <ALayer<()> as ParticularServiceLayer<()>>::Service` + | doesn't satisfy `ALayer<()>: ParticularServiceLayer<()>` +... +LL | struct Client<C>(C); + | ---------------- method `check` not found for this struct +... +LL | Client(()).check(); + | ^^^^^ method cannot be called on `Client<()>` due to unsatisfied trait bounds + | +note: trait bound `<ALayer<()> as Layer<()>>::Service = <ALayer<()> as ParticularServiceLayer<()>>::Service` was not satisfied + --> $DIR/track-obligations.rs:35:14 + | +LL | pub trait ParticularServiceLayer<C>: + | ---------------------- +LL | Layer<C, Service = <Self as ParticularServiceLayer<C>>::Service> + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here +note: trait bound `ALayer<()>: ParticularServiceLayer<()>` was not satisfied + --> $DIR/track-obligations.rs:71:16 + | +LL | impl<C> Client<C> + | --------- +LL | where +LL | ALayer<C>: ParticularServiceLayer<C>, + | ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here +note: the trait `ParticularServiceLayer` must be implemented + --> $DIR/track-obligations.rs:34:1 + | +LL | / pub trait ParticularServiceLayer<C>: +LL | | Layer<C, Service = <Self as ParticularServiceLayer<C>>::Service> + | |____________________________________________________________________^ + +error[E0271]: type mismatch resolving `<AService as Service<Req>>::Response == Res` + --> $DIR/track-obligations.rs:87:11 + | +LL | check(()); + | ----- ^^ type mismatch resolving `<AService as Service<Req>>::Response == Res` + | | + | required by a bound introduced by this call + | +note: expected this to be `Res` + --> $DIR/track-obligations.rs:60:21 + | +LL | type Response = bool; + | ^^^^ +note: required for `AService` to implement `ParticularService` + --> $DIR/track-obligations.rs:22:9 + | +LL | impl<T> ParticularService for T + | ^^^^^^^^^^^^^^^^^ ^ +LL | where +LL | T: Service<Req, Response = Res>, + | -------------- unsatisfied trait bound introduced here +note: required for `ALayer<_>` to implement `ParticularServiceLayer<_>` + --> $DIR/track-obligations.rs:40:12 + | +LL | impl<T, C> ParticularServiceLayer<C> for T + | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +... +LL | T::Service: ParticularService, + | ----------------- unsatisfied trait bound introduced here +note: required by a bound in `check` + --> $DIR/track-obligations.rs:76:36 + | +LL | fn check<C>(_: C) where ALayer<C>: ParticularServiceLayer<C> {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `check` + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0271, E0599. +For more information about an error, try `rustc --explain E0271`. diff --git a/src/test/ui/traits/trait-or-new-type-instead.rs b/tests/ui/traits/trait-or-new-type-instead.rs index 572b03efc..572b03efc 100644 --- a/src/test/ui/traits/trait-or-new-type-instead.rs +++ b/tests/ui/traits/trait-or-new-type-instead.rs diff --git a/src/test/ui/traits/trait-or-new-type-instead.stderr b/tests/ui/traits/trait-or-new-type-instead.stderr index 4726b0668..4726b0668 100644 --- a/src/test/ui/traits/trait-or-new-type-instead.stderr +++ b/tests/ui/traits/trait-or-new-type-instead.stderr diff --git a/src/test/ui/traits/trait-upcasting/basic.rs b/tests/ui/traits/trait-upcasting/basic.rs index 570ec5160..570ec5160 100644 --- a/src/test/ui/traits/trait-upcasting/basic.rs +++ b/tests/ui/traits/trait-upcasting/basic.rs diff --git a/src/test/ui/traits/trait-upcasting/correct-supertrait-substitution.rs b/tests/ui/traits/trait-upcasting/correct-supertrait-substitution.rs index eae5cf8d5..eae5cf8d5 100644 --- a/src/test/ui/traits/trait-upcasting/correct-supertrait-substitution.rs +++ b/tests/ui/traits/trait-upcasting/correct-supertrait-substitution.rs diff --git a/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs b/tests/ui/traits/trait-upcasting/cyclic-trait-resolution.rs index 511e41562..511e41562 100644 --- a/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs +++ b/tests/ui/traits/trait-upcasting/cyclic-trait-resolution.rs diff --git a/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr b/tests/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr index 15faab16a..15faab16a 100644 --- a/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr +++ b/tests/ui/traits/trait-upcasting/cyclic-trait-resolution.stderr diff --git a/src/test/ui/traits/trait-upcasting/diamond.rs b/tests/ui/traits/trait-upcasting/diamond.rs index a4f81c464..a4f81c464 100644 --- a/src/test/ui/traits/trait-upcasting/diamond.rs +++ b/tests/ui/traits/trait-upcasting/diamond.rs diff --git a/src/test/ui/traits/trait-upcasting/invalid-upcast.rs b/tests/ui/traits/trait-upcasting/invalid-upcast.rs index e634bbd5a..e634bbd5a 100644 --- a/src/test/ui/traits/trait-upcasting/invalid-upcast.rs +++ b/tests/ui/traits/trait-upcasting/invalid-upcast.rs diff --git a/src/test/ui/traits/trait-upcasting/invalid-upcast.stderr b/tests/ui/traits/trait-upcasting/invalid-upcast.stderr index 3aa21ee3d..3aa21ee3d 100644 --- a/src/test/ui/traits/trait-upcasting/invalid-upcast.stderr +++ b/tests/ui/traits/trait-upcasting/invalid-upcast.stderr diff --git a/src/test/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs b/tests/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs index b672963ae..b672963ae 100644 --- a/src/test/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs +++ b/tests/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs diff --git a/src/test/ui/traits/trait-upcasting/lifetime.rs b/tests/ui/traits/trait-upcasting/lifetime.rs index 9825158c2..9825158c2 100644 --- a/src/test/ui/traits/trait-upcasting/lifetime.rs +++ b/tests/ui/traits/trait-upcasting/lifetime.rs diff --git a/src/test/ui/traits/trait-upcasting/migrate-lint-deny.rs b/tests/ui/traits/trait-upcasting/migrate-lint-deny.rs index d62418756..d62418756 100644 --- a/src/test/ui/traits/trait-upcasting/migrate-lint-deny.rs +++ b/tests/ui/traits/trait-upcasting/migrate-lint-deny.rs diff --git a/src/test/ui/traits/trait-upcasting/migrate-lint-deny.stderr b/tests/ui/traits/trait-upcasting/migrate-lint-deny.stderr index 4533b1163..4533b1163 100644 --- a/src/test/ui/traits/trait-upcasting/migrate-lint-deny.stderr +++ b/tests/ui/traits/trait-upcasting/migrate-lint-deny.stderr diff --git a/src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs b/tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs index 2e53a00a9..2e53a00a9 100644 --- a/src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs +++ b/tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs diff --git a/src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr b/tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr index 0ad18be03..0ad18be03 100644 --- a/src/test/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr +++ b/tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.stderr diff --git a/src/test/ui/traits/trait-upcasting/replace-vptr.rs b/tests/ui/traits/trait-upcasting/replace-vptr.rs index 9ccfc9306..9ccfc9306 100644 --- a/src/test/ui/traits/trait-upcasting/replace-vptr.rs +++ b/tests/ui/traits/trait-upcasting/replace-vptr.rs diff --git a/src/test/ui/traits/trait-upcasting/struct.rs b/tests/ui/traits/trait-upcasting/struct.rs index a3e416969..a3e416969 100644 --- a/src/test/ui/traits/trait-upcasting/struct.rs +++ b/tests/ui/traits/trait-upcasting/struct.rs diff --git a/src/test/ui/traits/trait-upcasting/subtrait-method.rs b/tests/ui/traits/trait-upcasting/subtrait-method.rs index 136d15af0..136d15af0 100644 --- a/src/test/ui/traits/trait-upcasting/subtrait-method.rs +++ b/tests/ui/traits/trait-upcasting/subtrait-method.rs diff --git a/src/test/ui/traits/trait-upcasting/subtrait-method.stderr b/tests/ui/traits/trait-upcasting/subtrait-method.stderr index 918159e84..918159e84 100644 --- a/src/test/ui/traits/trait-upcasting/subtrait-method.stderr +++ b/tests/ui/traits/trait-upcasting/subtrait-method.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-1.rs b/tests/ui/traits/trait-upcasting/type-checking-test-1.rs index 6bc9f4a75..6bc9f4a75 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-1.rs +++ b/tests/ui/traits/trait-upcasting/type-checking-test-1.rs diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-1.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-1.stderr index fe269d8e9..fe269d8e9 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-1.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-1.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-2.rs b/tests/ui/traits/trait-upcasting/type-checking-test-2.rs index 36b11dffd..36b11dffd 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-2.rs +++ b/tests/ui/traits/trait-upcasting/type-checking-test-2.rs diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-2.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-2.stderr index ef007d5cb..ef007d5cb 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-2.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-2.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr index e6cb6a753..e6cb6a753 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-3.polonius.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-3.rs b/tests/ui/traits/trait-upcasting/type-checking-test-3.rs index b2db3a127..b2db3a127 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-3.rs +++ b/tests/ui/traits/trait-upcasting/type-checking-test-3.rs diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-3.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-3.stderr index e6cb6a753..e6cb6a753 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-3.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-3.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr index 8d506e580..8d506e580 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-4.polonius.stderr diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-4.rs b/tests/ui/traits/trait-upcasting/type-checking-test-4.rs index f40c48f0d..f40c48f0d 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-4.rs +++ b/tests/ui/traits/trait-upcasting/type-checking-test-4.rs diff --git a/src/test/ui/traits/trait-upcasting/type-checking-test-4.stderr b/tests/ui/traits/trait-upcasting/type-checking-test-4.stderr index 8d506e580..8d506e580 100644 --- a/src/test/ui/traits/trait-upcasting/type-checking-test-4.stderr +++ b/tests/ui/traits/trait-upcasting/type-checking-test-4.stderr diff --git a/src/test/ui/traits/typeclasses-eq-example-static.rs b/tests/ui/traits/typeclasses-eq-example-static.rs index f982ad6a0..f982ad6a0 100644 --- a/src/test/ui/traits/typeclasses-eq-example-static.rs +++ b/tests/ui/traits/typeclasses-eq-example-static.rs diff --git a/src/test/ui/traits/typeclasses-eq-example.rs b/tests/ui/traits/typeclasses-eq-example.rs index 4400301e6..4400301e6 100644 --- a/src/test/ui/traits/typeclasses-eq-example.rs +++ b/tests/ui/traits/typeclasses-eq-example.rs diff --git a/src/test/ui/traits/ufcs-object.rs b/tests/ui/traits/ufcs-object.rs index 700488c22..700488c22 100644 --- a/src/test/ui/traits/ufcs-object.rs +++ b/tests/ui/traits/ufcs-object.rs diff --git a/src/test/ui/traits/unspecified-self-in-trait-ref.rs b/tests/ui/traits/unspecified-self-in-trait-ref.rs index 158b5a985..158b5a985 100644 --- a/src/test/ui/traits/unspecified-self-in-trait-ref.rs +++ b/tests/ui/traits/unspecified-self-in-trait-ref.rs diff --git a/src/test/ui/traits/unspecified-self-in-trait-ref.stderr b/tests/ui/traits/unspecified-self-in-trait-ref.stderr index b5e8e8867..b5e8e8867 100644 --- a/src/test/ui/traits/unspecified-self-in-trait-ref.stderr +++ b/tests/ui/traits/unspecified-self-in-trait-ref.stderr diff --git a/src/test/ui/traits/use-before-def.rs b/tests/ui/traits/use-before-def.rs index 1ee2b9419..1ee2b9419 100644 --- a/src/test/ui/traits/use-before-def.rs +++ b/tests/ui/traits/use-before-def.rs diff --git a/src/test/ui/traits/vtable-res-trait-param.rs b/tests/ui/traits/vtable-res-trait-param.rs index 3d7c2eb08..3d7c2eb08 100644 --- a/src/test/ui/traits/vtable-res-trait-param.rs +++ b/tests/ui/traits/vtable-res-trait-param.rs diff --git a/src/test/ui/traits/vtable-res-trait-param.stderr b/tests/ui/traits/vtable-res-trait-param.stderr index 2b3e3de9b..2b3e3de9b 100644 --- a/src/test/ui/traits/vtable-res-trait-param.stderr +++ b/tests/ui/traits/vtable-res-trait-param.stderr diff --git a/src/test/ui/traits/vtable/issue-91807.rs b/tests/ui/traits/vtable/issue-91807.rs index f435ff09d..f435ff09d 100644 --- a/src/test/ui/traits/vtable/issue-91807.rs +++ b/tests/ui/traits/vtable/issue-91807.rs diff --git a/src/test/ui/traits/vtable/issue-97381.rs b/tests/ui/traits/vtable/issue-97381.rs index 393cf91ef..393cf91ef 100644 --- a/src/test/ui/traits/vtable/issue-97381.rs +++ b/tests/ui/traits/vtable/issue-97381.rs diff --git a/src/test/ui/traits/vtable/issue-97381.stderr b/tests/ui/traits/vtable/issue-97381.stderr index c4f8294e2..c4f8294e2 100644 --- a/src/test/ui/traits/vtable/issue-97381.stderr +++ b/tests/ui/traits/vtable/issue-97381.stderr diff --git a/src/test/ui/traits/vtable/vtable-diamond.rs b/tests/ui/traits/vtable/vtable-diamond.rs index dc3c17ac3..dc3c17ac3 100644 --- a/src/test/ui/traits/vtable/vtable-diamond.rs +++ b/tests/ui/traits/vtable/vtable-diamond.rs diff --git a/src/test/ui/traits/vtable/vtable-diamond.stderr b/tests/ui/traits/vtable/vtable-diamond.stderr index f3718c5d8..f3718c5d8 100644 --- a/src/test/ui/traits/vtable/vtable-diamond.stderr +++ b/tests/ui/traits/vtable/vtable-diamond.stderr diff --git a/src/test/ui/traits/vtable/vtable-multi-level.rs b/tests/ui/traits/vtable/vtable-multi-level.rs index ebd55bcf3..ebd55bcf3 100644 --- a/src/test/ui/traits/vtable/vtable-multi-level.rs +++ b/tests/ui/traits/vtable/vtable-multi-level.rs diff --git a/src/test/ui/traits/vtable/vtable-multi-level.stderr b/tests/ui/traits/vtable/vtable-multi-level.stderr index c4389e23f..c4389e23f 100644 --- a/src/test/ui/traits/vtable/vtable-multi-level.stderr +++ b/tests/ui/traits/vtable/vtable-multi-level.stderr diff --git a/src/test/ui/traits/vtable/vtable-multiple.rs b/tests/ui/traits/vtable/vtable-multiple.rs index 7a0111c5e..7a0111c5e 100644 --- a/src/test/ui/traits/vtable/vtable-multiple.rs +++ b/tests/ui/traits/vtable/vtable-multiple.rs diff --git a/src/test/ui/traits/vtable/vtable-multiple.stderr b/tests/ui/traits/vtable/vtable-multiple.stderr index 0dcd84433..0dcd84433 100644 --- a/src/test/ui/traits/vtable/vtable-multiple.stderr +++ b/tests/ui/traits/vtable/vtable-multiple.stderr diff --git a/src/test/ui/traits/vtable/vtable-non-object-safe.rs b/tests/ui/traits/vtable/vtable-non-object-safe.rs index 7661bb574..7661bb574 100644 --- a/src/test/ui/traits/vtable/vtable-non-object-safe.rs +++ b/tests/ui/traits/vtable/vtable-non-object-safe.rs diff --git a/src/test/ui/traits/vtable/vtable-non-object-safe.stderr b/tests/ui/traits/vtable/vtable-non-object-safe.stderr index 9345c2711..9345c2711 100644 --- a/src/test/ui/traits/vtable/vtable-non-object-safe.stderr +++ b/tests/ui/traits/vtable/vtable-non-object-safe.stderr diff --git a/src/test/ui/traits/vtable/vtable-vacant.rs b/tests/ui/traits/vtable/vtable-vacant.rs index a64796358..a64796358 100644 --- a/src/test/ui/traits/vtable/vtable-vacant.rs +++ b/tests/ui/traits/vtable/vtable-vacant.rs diff --git a/src/test/ui/traits/vtable/vtable-vacant.stderr b/tests/ui/traits/vtable/vtable-vacant.stderr index 5346a7027..5346a7027 100644 --- a/src/test/ui/traits/vtable/vtable-vacant.stderr +++ b/tests/ui/traits/vtable/vtable-vacant.stderr diff --git a/src/test/ui/traits/wf-object/maybe-bound.rs b/tests/ui/traits/wf-object/maybe-bound.rs index 17771e976..17771e976 100644 --- a/src/test/ui/traits/wf-object/maybe-bound.rs +++ b/tests/ui/traits/wf-object/maybe-bound.rs diff --git a/src/test/ui/traits/wf-object/maybe-bound.stderr b/tests/ui/traits/wf-object/maybe-bound.stderr index 2fe3f0fc3..2fe3f0fc3 100644 --- a/src/test/ui/traits/wf-object/maybe-bound.stderr +++ b/tests/ui/traits/wf-object/maybe-bound.stderr diff --git a/src/test/ui/traits/wf-object/no-duplicates.rs b/tests/ui/traits/wf-object/no-duplicates.rs index 678ede582..678ede582 100644 --- a/src/test/ui/traits/wf-object/no-duplicates.rs +++ b/tests/ui/traits/wf-object/no-duplicates.rs diff --git a/src/test/ui/traits/wf-object/no-duplicates.stderr b/tests/ui/traits/wf-object/no-duplicates.stderr index 50dfcf956..50dfcf956 100644 --- a/src/test/ui/traits/wf-object/no-duplicates.stderr +++ b/tests/ui/traits/wf-object/no-duplicates.stderr diff --git a/src/test/ui/traits/wf-object/only-maybe-bound.rs b/tests/ui/traits/wf-object/only-maybe-bound.rs index 3e6db3e99..3e6db3e99 100644 --- a/src/test/ui/traits/wf-object/only-maybe-bound.rs +++ b/tests/ui/traits/wf-object/only-maybe-bound.rs diff --git a/src/test/ui/traits/wf-object/only-maybe-bound.stderr b/tests/ui/traits/wf-object/only-maybe-bound.stderr index cbc41feec..cbc41feec 100644 --- a/src/test/ui/traits/wf-object/only-maybe-bound.stderr +++ b/tests/ui/traits/wf-object/only-maybe-bound.stderr diff --git a/src/test/ui/traits/wf-object/reverse-order.rs b/tests/ui/traits/wf-object/reverse-order.rs index 4f676cbe3..4f676cbe3 100644 --- a/src/test/ui/traits/wf-object/reverse-order.rs +++ b/tests/ui/traits/wf-object/reverse-order.rs diff --git a/src/test/ui/traits/where-clause-vs-impl.rs b/tests/ui/traits/where-clause-vs-impl.rs index 7cfee27ef..7cfee27ef 100644 --- a/src/test/ui/traits/where-clause-vs-impl.rs +++ b/tests/ui/traits/where-clause-vs-impl.rs diff --git a/src/test/ui/traits/with-bounds-default.rs b/tests/ui/traits/with-bounds-default.rs index 31f73d79c..31f73d79c 100644 --- a/src/test/ui/traits/with-bounds-default.rs +++ b/tests/ui/traits/with-bounds-default.rs diff --git a/src/test/ui/traits/with-dst.rs b/tests/ui/traits/with-dst.rs index a3e3b31df..a3e3b31df 100644 --- a/src/test/ui/traits/with-dst.rs +++ b/tests/ui/traits/with-dst.rs |