summaryrefslogtreecommitdiffstats
path: root/tests/ui/type
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /tests/ui/type
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs (renamed from src/test/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-generic-args.rs (renamed from src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr (renamed from src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs (renamed from src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr (renamed from src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs (renamed from src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr (renamed from src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs (renamed from src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr (renamed from src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs (renamed from src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr (renamed from src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/issue-57866.rs (renamed from src/test/ui/type-alias-enum-variants/issue-57866.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs (renamed from src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs (renamed from src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs (renamed from src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr (renamed from src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs (renamed from src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr (renamed from src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/self-in-enum-definition.rs (renamed from src/test/ui/type-alias-enum-variants/self-in-enum-definition.rs)0
-rw-r--r--tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr (renamed from src/test/ui/type-alias-enum-variants/self-in-enum-definition.stderr)0
-rw-r--r--tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs (renamed from src/test/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/argument-types.rs (renamed from src/test/ui/type-alias-impl-trait/argument-types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/assoc-projection-ice.rs (renamed from src/test/ui/type-alias-impl-trait/assoc-projection-ice.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/assoc-type-const.rs (renamed from src/test/ui/type-alias-impl-trait/assoc-type-const.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs (renamed from src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr (renamed from src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/assoc-type-lifetime.rs (renamed from src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs (renamed from src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/associated-type-impl-trait-lifetime.rs20
-rw-r--r--tests/ui/type-alias-impl-trait/auto-trait-leakage.rs (renamed from src/test/ui/type-alias-impl-trait/auto-trait-leakage.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auto-trait-leakage2.rs (renamed from src/test/ui/type-alias-impl-trait/auto-trait-leakage2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auto-trait-leakage2.stderr (renamed from src/test/ui/type-alias-impl-trait/auto-trait-leakage2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs (renamed from src/test/ui/type-alias-impl-trait/auto-trait-leakage3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auto-trait-leakage3.stderr (renamed from src/test/ui/type-alias-impl-trait/auto-trait-leakage3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/auxiliary/coherence_cross_crate_trait_decl.rs9
-rw-r--r--tests/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs (renamed from src/test/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs (renamed from src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs (renamed from src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs (renamed from src/test/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/bound_reduction.rs (renamed from src/test/ui/type-alias-impl-trait/bound_reduction.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/bound_reduction2.rs18
-rw-r--r--tests/ui/type-alias-impl-trait/bound_reduction2.stderr12
-rw-r--r--tests/ui/type-alias-impl-trait/bounds-are-checked-2.rs (renamed from src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/bounds-are-checked-2.stderr (renamed from src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/bounds-are-checked.rs (renamed from src/test/ui/type-alias-impl-trait/bounds-are-checked.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/bounds-are-checked.stderr (renamed from src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/closure_args.rs (renamed from src/test/ui/type-alias-impl-trait/closure_args.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/closure_args2.rs (renamed from src/test/ui/type-alias-impl-trait/closure_args2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/closure_parent_substs.rs (renamed from src/test/ui/type-alias-impl-trait/closure_parent_substs.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/closure_wf_outlives.rs (renamed from src/test/ui/type-alias-impl-trait/closure_wf_outlives.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/closure_wf_outlives.stderr (renamed from src/test/ui/type-alias-impl-trait/closure_wf_outlives.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/closures_in_branches.rs (renamed from src/test/ui/type-alias-impl-trait/closures_in_branches.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/closures_in_branches.stderr (renamed from src/test/ui/type-alias-impl-trait/closures_in_branches.stderr)8
-rw-r--r--tests/ui/type-alias-impl-trait/coherence.rs (renamed from src/test/ui/type-alias-impl-trait/coherence.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/coherence.stderr (renamed from src/test/ui/type-alias-impl-trait/coherence.stderr)2
-rw-r--r--tests/ui/type-alias-impl-trait/coherence_cross_crate.rs24
-rw-r--r--tests/ui/type-alias-impl-trait/coherence_cross_crate.stderr13
-rw-r--r--tests/ui/type-alias-impl-trait/coherence_generalization.rs (renamed from src/test/ui/type-alias-impl-trait/coherence_generalization.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/collect_hidden_types.rs (renamed from src/test/ui/type-alias-impl-trait/collect_hidden_types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/constrain_inputs.rs (renamed from src/test/ui/type-alias-impl-trait/constrain_inputs.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/constrain_inputs.stderr (renamed from src/test/ui/type-alias-impl-trait/constrain_inputs.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/constrain_inputs_unsound.rs (renamed from src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr (renamed from src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_crate_ice.rs (renamed from src/test/ui/type-alias-impl-trait/cross_crate_ice.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_crate_ice2.rs (renamed from src/test/ui/type-alias-impl-trait/cross_crate_ice2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_inference.rs (renamed from src/test/ui/type-alias-impl-trait/cross_inference.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs (renamed from src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs (renamed from src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/cross_inference_rpit.rs (renamed from src/test/ui/type-alias-impl-trait/cross_inference_rpit.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/declared_but_never_defined.rs (renamed from src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/declared_but_never_defined.stderr (renamed from src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs (renamed from src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr (renamed from src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/defining-use-submodule.rs (renamed from src/test/ui/type-alias-impl-trait/defining-use-submodule.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/destructuring.rs10
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses.rs (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses.stderr (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses_never_type.rs (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr (renamed from src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs (renamed from src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr (renamed from src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/fallback.rs (renamed from src/test/ui/type-alias-impl-trait/fallback.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/fallback.stderr (renamed from src/test/ui/type-alias-impl-trait/fallback.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/field-types.rs (renamed from src/test/ui/type-alias-impl-trait/field-types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/future.rs (renamed from src/test/ui/type-alias-impl-trait/future.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/future.stderr (renamed from src/test/ui/type-alias-impl-trait/future.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_different_defining_uses.rs (renamed from src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_different_defining_uses.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_lifetime_param.rs (renamed from src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_nondefining_use.rs (renamed from src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs)5
-rw-r--r--tests/ui/type-alias-impl-trait/generic_nondefining_use.stderr30
-rw-r--r--tests/ui/type-alias-impl-trait/generic_not_used.rs (renamed from src/test/ui/type-alias-impl-trait/generic_not_used.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_not_used.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_not_used.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs (renamed from src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs)2
-rw-r--r--tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr30
-rw-r--r--tests/ui/type-alias-impl-trait/generic_underconstrained.rs (renamed from src/test/ui/type-alias-impl-trait/generic_underconstrained.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_underconstrained.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_underconstrained2.rs (renamed from src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/generic_underconstrained2.stderr (renamed from src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs (renamed from src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr (renamed from src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_tait.rs (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_tait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr (renamed from src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds.rs (renamed from src/test/ui/type-alias-impl-trait/implied_bounds.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds.stderr (renamed from src/test/ui/type-alias-impl-trait/implied_bounds.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds2.rs (renamed from src/test/ui/type-alias-impl-trait/implied_bounds2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds3.rs (renamed from src/test/ui/type-alias-impl-trait/implied_bounds3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds_closure.rs (renamed from src/test/ui/type-alias-impl-trait/implied_bounds_closure.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds_closure.stderr (renamed from src/test/ui/type-alias-impl-trait/implied_bounds_closure.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds_from_types.rs (renamed from src/test/ui/type-alias-impl-trait/implied_bounds_from_types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_bounds_from_types.stderr (renamed from src/test/ui/type-alias-impl-trait/implied_bounds_from_types.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs (renamed from src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs (renamed from src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr (renamed from src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs (renamed from src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr (renamed from src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs (renamed from src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs (renamed from src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr (renamed from src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs (renamed from src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr (renamed from src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/incomplete-inference.rs (renamed from src/test/ui/type-alias-impl-trait/incomplete-inference.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/incomplete-inference.stderr (renamed from src/test/ui/type-alias-impl-trait/incomplete-inference.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/inference-cycle.rs (renamed from src/test/ui/type-alias-impl-trait/inference-cycle.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/inference-cycle.stderr (renamed from src/test/ui/type-alias-impl-trait/inference-cycle.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-101750.rs (renamed from src/test/ui/type-alias-impl-trait/issue-101750.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-104817.rs19
-rw-r--r--tests/ui/type-alias-impl-trait/issue-104817.stock.stderr11
-rw-r--r--tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs (renamed from src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-52843.rs (renamed from src/test/ui/type-alias-impl-trait/issue-52843.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-52843.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-52843.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53092-2.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53092-2.rs)1
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53092-2.stderr46
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53092.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53092.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53092.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-53092.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53096.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53096.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53096.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-53096.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53598.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53598.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53598.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-53598.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs (renamed from src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs (renamed from src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs (renamed from src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57611-trait-alias.rs (renamed from src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57700.rs (renamed from src/test/ui/type-alias-impl-trait/issue-57700.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57700.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-57700.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57807-associated-type.rs (renamed from src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57961.rs18
-rw-r--r--tests/ui/type-alias-impl-trait/issue-57961.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-57961.stderr)2
-rw-r--r--tests/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs (renamed from src/test/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-58662-simplified.rs (renamed from src/test/ui/type-alias-impl-trait/issue-58662-simplified.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-58887.rs (renamed from src/test/ui/type-alias-impl-trait/issue-58887.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-58951-2.rs (renamed from src/test/ui/type-alias-impl-trait/issue-58951-2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-58951.rs (renamed from src/test/ui/type-alias-impl-trait/issue-58951.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60371.rs (renamed from src/test/ui/type-alias-impl-trait/issue-60371.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60371.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-60371.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60407.rs (renamed from src/test/ui/type-alias-impl-trait/issue-60407.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60407.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-60407.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60564-working.rs (renamed from src/test/ui/type-alias-impl-trait/issue-60564-working.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60564.rs (renamed from src/test/ui/type-alias-impl-trait/issue-60564.rs)2
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60564.stderr12
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60662.rs (renamed from src/test/ui/type-alias-impl-trait/issue-60662.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60662.stdout (renamed from src/test/ui/type-alias-impl-trait/issue-60662.stdout)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs (renamed from src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-63263-closure-return.rs (renamed from src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-63279.rs (renamed from src/test/ui/type-alias-impl-trait/issue-63279.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-63279.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-63279.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-63355.rs (renamed from src/test/ui/type-alias-impl-trait/issue-63355.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs (renamed from src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-65384.rs (renamed from src/test/ui/type-alias-impl-trait/issue-65384.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-65384.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-65384.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs (renamed from src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-65918.rs (renamed from src/test/ui/type-alias-impl-trait/issue-65918.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs (renamed from src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs (renamed from src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs (renamed from src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs)2
-rw-r--r--tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.stderr12
-rw-r--r--tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs (renamed from src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs)2
-rw-r--r--tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr12
-rw-r--r--tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs (renamed from src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs)2
-rw-r--r--tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr)14
-rw-r--r--tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs (renamed from src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-69323.rs (renamed from src/test/ui/type-alias-impl-trait/issue-69323.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-70121.rs (renamed from src/test/ui/type-alias-impl-trait/issue-70121.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-72793.rs (renamed from src/test/ui/type-alias-impl-trait/issue-72793.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74244.rs (renamed from src/test/ui/type-alias-impl-trait/issue-74244.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74244.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-74244.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74280.rs (renamed from src/test/ui/type-alias-impl-trait/issue-74280.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74280.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-74280.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74761-2.rs (renamed from src/test/ui/type-alias-impl-trait/issue-74761-2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74761-2.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-74761-2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74761.rs (renamed from src/test/ui/type-alias-impl-trait/issue-74761.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-74761.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-74761.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs (renamed from src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-77179.rs (renamed from src/test/ui/type-alias-impl-trait/issue-77179.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-77179.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-77179.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-78450.rs (renamed from src/test/ui/type-alias-impl-trait/issue-78450.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs (renamed from src/test/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs (renamed from src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs (renamed from src/test/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-89686.rs (renamed from src/test/ui/type-alias-impl-trait/issue-89686.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-89686.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-89686.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-89952.rs (renamed from src/test/ui/type-alias-impl-trait/issue-89952.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-90400-1.rs (renamed from src/test/ui/type-alias-impl-trait/issue-90400-1.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-90400-1.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-90400-1.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-90400-2.rs (renamed from src/test/ui/type-alias-impl-trait/issue-90400-2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-90400-2.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-90400-2.stderr)4
-rw-r--r--tests/ui/type-alias-impl-trait/issue-93411.rs (renamed from src/test/ui/type-alias-impl-trait/issue-93411.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-94429.rs (renamed from src/test/ui/type-alias-impl-trait/issue-94429.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-94429.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-94429.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs (renamed from src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-96572-unconstrained.rs (renamed from src/test/ui/type-alias-impl-trait/issue-96572-unconstrained.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-98604.rs (renamed from src/test/ui/type-alias-impl-trait/issue-98604.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-98604.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-98604.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-98608.rs (renamed from src/test/ui/type-alias-impl-trait/issue-98608.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/issue-98608.stderr (renamed from src/test/ui/type-alias-impl-trait/issue-98608.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/missing_lifetime_bound.rs (renamed from src/test/ui/type-alias-impl-trait/missing_lifetime_bound.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/missing_lifetime_bound.stderr (renamed from src/test/ui/type-alias-impl-trait/missing_lifetime_bound.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr (renamed from src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/multiple_definitions.rs (renamed from src/test/ui/type-alias-impl-trait/multiple_definitions.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference.rs (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference.stderr (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference2.rs (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference2.stderr (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference3.rs (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested-tait-inference3.stderr (renamed from src/test/ui/type-alias-impl-trait/nested-tait-inference3.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested.rs (renamed from src/test/ui/type-alias-impl-trait/nested.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested.stderr (renamed from src/test/ui/type-alias-impl-trait/nested.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs (renamed from src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr (renamed from src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/never_reveal_concrete_type.rs (renamed from src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs (renamed from src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs)1
-rw-r--r--tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr10
-rw-r--r--tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs (renamed from src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr (renamed from src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/not_a_defining_use.rs (renamed from src/test/ui/type-alias-impl-trait/not_a_defining_use.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/not_a_defining_use.stderr (renamed from src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/not_well_formed.rs (renamed from src/test/ui/type-alias-impl-trait/not_well_formed.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/not_well_formed.stderr (renamed from src/test/ui/type-alias-impl-trait/not_well_formed.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/outlives-bound-var.rs18
-rw-r--r--tests/ui/type-alias-impl-trait/reveal_local.rs (renamed from src/test/ui/type-alias-impl-trait/reveal_local.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/reveal_local.stderr (renamed from src/test/ui/type-alias-impl-trait/reveal_local.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential-2.rs (renamed from src/test/ui/type-alias-impl-trait/self-referential-2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential-2.stderr (renamed from src/test/ui/type-alias-impl-trait/self-referential-2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential-3.rs (renamed from src/test/ui/type-alias-impl-trait/self-referential-3.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential-4.rs (renamed from src/test/ui/type-alias-impl-trait/self-referential-4.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential-4.stderr (renamed from src/test/ui/type-alias-impl-trait/self-referential-4.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential.rs (renamed from src/test/ui/type-alias-impl-trait/self-referential.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/self-referential.stderr (renamed from src/test/ui/type-alias-impl-trait/self-referential.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/self_implication.rs (renamed from src/test/ui/type-alias-impl-trait/self_implication.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/static-const-types.rs (renamed from src/test/ui/type-alias-impl-trait/static-const-types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/structural-match-no-leak.rs (renamed from src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/structural-match-no-leak.stderr (renamed from src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/structural-match.rs (renamed from src/test/ui/type-alias-impl-trait/structural-match.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/structural-match.stderr (renamed from src/test/ui/type-alias-impl-trait/structural-match.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-impl-trait2.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-impl-trait2.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs (renamed from src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type_of_a_let.rs (renamed from src/test/ui/type-alias-impl-trait/type_of_a_let.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/type_of_a_let.stderr (renamed from src/test/ui/type-alias-impl-trait/type_of_a_let.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/unbounded_opaque_type.rs (renamed from src/test/ui/type-alias-impl-trait/unbounded_opaque_type.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/underconstrained_generic.rs (renamed from src/test/ui/type-alias-impl-trait/underconstrained_generic.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/underconstrained_generic.stderr (renamed from src/test/ui/type-alias-impl-trait/underconstrained_generic.stderr)4
-rw-r--r--tests/ui/type-alias-impl-trait/underconstrained_lifetime.rs (renamed from src/test/ui/type-alias-impl-trait/underconstrained_lifetime.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/underconstrained_lifetime.stderr (renamed from src/test/ui/type-alias-impl-trait/underconstrained_lifetime.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/unnameable_type.rs24
-rw-r--r--tests/ui/type-alias-impl-trait/unnameable_type.stderr31
-rw-r--r--tests/ui/type-alias-impl-trait/unused_generic_param.rs (renamed from src/test/ui/type-alias-impl-trait/unused_generic_param.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/weird-return-types.rs (renamed from src/test/ui/type-alias-impl-trait/weird-return-types.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/wf-check-fn-def.rs (renamed from src/test/ui/type-alias-impl-trait/wf-check-fn-def.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/wf-check-fn-def.stderr (renamed from src/test/ui/type-alias-impl-trait/wf-check-fn-def.stderr)0
-rw-r--r--tests/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs (renamed from src/test/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/wf_check_closures.rs (renamed from src/test/ui/type-alias-impl-trait/wf_check_closures.rs)0
-rw-r--r--tests/ui/type-alias-impl-trait/wf_check_closures.stderr (renamed from src/test/ui/type-alias-impl-trait/wf_check_closures.stderr)0
-rw-r--r--tests/ui/type-alias/issue-14933.rs (renamed from src/test/ui/type-alias/issue-14933.rs)0
-rw-r--r--tests/ui/type-alias/issue-37515.rs (renamed from src/test/ui/issues/issue-37515.rs)0
-rw-r--r--tests/ui/type-alias/issue-37515.stderr (renamed from src/test/ui/issues/issue-37515.stderr)0
-rw-r--r--tests/ui/type-alias/issue-62263-self-in-atb.rs (renamed from src/test/ui/type-alias/issue-62263-self-in-atb.rs)0
-rw-r--r--tests/ui/type-alias/issue-62263-self-in-atb.stderr (renamed from src/test/ui/type-alias/issue-62263-self-in-atb.stderr)0
-rw-r--r--tests/ui/type-alias/issue-62305-self-assoc-ty.rs (renamed from src/test/ui/type-alias/issue-62305-self-assoc-ty.rs)0
-rw-r--r--tests/ui/type-alias/issue-62305-self-assoc-ty.stderr (renamed from src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr)0
-rw-r--r--tests/ui/type-alias/issue-62364-self-ty-arg.rs (renamed from src/test/ui/type-alias/issue-62364-self-ty-arg.rs)0
-rw-r--r--tests/ui/type-alias/issue-62364-self-ty-arg.stderr (renamed from src/test/ui/type-alias/issue-62364-self-ty-arg.stderr)0
-rw-r--r--tests/ui/type-id-higher-rank-2.rs (renamed from src/test/ui/type-id-higher-rank-2.rs)0
-rw-r--r--tests/ui/type-inference/issue-30225.rs (renamed from src/test/ui/type-inference/issue-30225.rs)0
-rw-r--r--tests/ui/type-inference/issue-30225.stderr (renamed from src/test/ui/type-inference/issue-30225.stderr)0
-rw-r--r--tests/ui/type-inference/or_else-multiple-type-params.rs (renamed from src/test/ui/type-inference/or_else-multiple-type-params.rs)0
-rw-r--r--tests/ui/type-inference/or_else-multiple-type-params.stderr (renamed from src/test/ui/type-inference/or_else-multiple-type-params.stderr)0
-rw-r--r--tests/ui/type-inference/sort_by_key.rs (renamed from src/test/ui/type-inference/sort_by_key.rs)0
-rw-r--r--tests/ui/type-inference/sort_by_key.stderr (renamed from src/test/ui/type-inference/sort_by_key.stderr)0
-rw-r--r--tests/ui/type-inference/unbounded-associated-type.rs (renamed from src/test/ui/type-inference/unbounded-associated-type.rs)0
-rw-r--r--tests/ui/type-inference/unbounded-associated-type.stderr (renamed from src/test/ui/type-inference/unbounded-associated-type.stderr)0
-rw-r--r--tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs (renamed from src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs)0
-rw-r--r--tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr (renamed from src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr)0
-rw-r--r--tests/ui/type-inference/unbounded-type-param-in-fn.rs (renamed from src/test/ui/type-inference/unbounded-type-param-in-fn.rs)0
-rw-r--r--tests/ui/type-inference/unbounded-type-param-in-fn.stderr (renamed from src/test/ui/type-inference/unbounded-type-param-in-fn.stderr)0
-rw-r--r--tests/ui/type-namespace.rs (renamed from src/test/ui/type-namespace.rs)0
-rw-r--r--tests/ui/type-param-constraints.rs (renamed from src/test/ui/type-param-constraints.rs)0
-rw-r--r--tests/ui/type-param.rs (renamed from src/test/ui/type-param.rs)0
-rw-r--r--tests/ui/type-ptr.rs (renamed from src/test/ui/type-ptr.rs)0
-rw-r--r--tests/ui/type-use-i1-versus-i8.rs (renamed from src/test/ui/type-use-i1-versus-i8.rs)0
-rw-r--r--tests/ui/type/ascription/issue-34255-1.rs (renamed from src/test/ui/type/ascription/issue-34255-1.rs)0
-rw-r--r--tests/ui/type/ascription/issue-34255-1.stderr (renamed from src/test/ui/type/ascription/issue-34255-1.stderr)7
-rw-r--r--tests/ui/type/ascription/issue-47666.fixed (renamed from src/test/ui/type/ascription/issue-47666.fixed)0
-rw-r--r--tests/ui/type/ascription/issue-47666.rs (renamed from src/test/ui/type/ascription/issue-47666.rs)0
-rw-r--r--tests/ui/type/ascription/issue-47666.stderr (renamed from src/test/ui/type/ascription/issue-47666.stderr)0
-rw-r--r--tests/ui/type/ascription/issue-54516.fixed (renamed from src/test/ui/type/ascription/issue-54516.fixed)0
-rw-r--r--tests/ui/type/ascription/issue-54516.rs (renamed from src/test/ui/type/ascription/issue-54516.rs)0
-rw-r--r--tests/ui/type/ascription/issue-54516.stderr (renamed from src/test/ui/type/ascription/issue-54516.stderr)0
-rw-r--r--tests/ui/type/ascription/issue-60933.fixed (renamed from src/test/ui/type/ascription/issue-60933.fixed)0
-rw-r--r--tests/ui/type/ascription/issue-60933.rs (renamed from src/test/ui/type/ascription/issue-60933.rs)0
-rw-r--r--tests/ui/type/ascription/issue-60933.stderr (renamed from src/test/ui/type/ascription/issue-60933.stderr)0
-rw-r--r--tests/ui/type/auxiliary/crate_a1.rs (renamed from src/test/ui/type/auxiliary/crate_a1.rs)0
-rw-r--r--tests/ui/type/auxiliary/crate_a2.rs (renamed from src/test/ui/type/auxiliary/crate_a2.rs)0
-rw-r--r--tests/ui/type/binding-assigned-block-without-tail-expression.rs22
-rw-r--r--tests/ui/type/binding-assigned-block-without-tail-expression.stderr109
-rw-r--r--tests/ui/type/closure-with-wrong-borrows.rs10
-rw-r--r--tests/ui/type/closure-with-wrong-borrows.stderr19
-rw-r--r--tests/ui/type/issue-100584.rs (renamed from src/test/ui/type/issue-100584.rs)0
-rw-r--r--tests/ui/type/issue-100584.stderr (renamed from src/test/ui/type/issue-100584.stderr)0
-rw-r--r--tests/ui/type/issue-101866.rs (renamed from src/test/ui/type/issue-101866.rs)0
-rw-r--r--tests/ui/type/issue-101866.stderr (renamed from src/test/ui/type/issue-101866.stderr)0
-rw-r--r--tests/ui/type/issue-102598.rs8
-rw-r--r--tests/ui/type/issue-102598.stderr43
-rw-r--r--tests/ui/type/issue-103271.rs (renamed from src/test/ui/type/issue-103271.rs)0
-rw-r--r--tests/ui/type/issue-103271.stderr (renamed from src/test/ui/type/issue-103271.stderr)0
-rw-r--r--tests/ui/type/issue-58355.rs7
-rw-r--r--tests/ui/type/issue-58355.stderr13
-rw-r--r--tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs (renamed from src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs)0
-rw-r--r--tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr (renamed from src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr)0
-rw-r--r--tests/ui/type/issue-91268.rs (renamed from src/test/ui/type/issue-91268.rs)0
-rw-r--r--tests/ui/type/issue-91268.stderr (renamed from src/test/ui/type/issue-91268.stderr)0
-rw-r--r--tests/ui/type/issue-94187-verbose-type-name.rs (renamed from src/test/ui/type/issue-94187-verbose-type-name.rs)0
-rw-r--r--tests/ui/type/missing-let-in-binding.fixed (renamed from src/test/ui/type/missing-let-in-binding.fixed)0
-rw-r--r--tests/ui/type/missing-let-in-binding.rs (renamed from src/test/ui/type/missing-let-in-binding.rs)0
-rw-r--r--tests/ui/type/missing-let-in-binding.stderr (renamed from src/test/ui/type/missing-let-in-binding.stderr)0
-rw-r--r--tests/ui/type/type-alias-bounds.rs (renamed from src/test/ui/type/type-alias-bounds.rs)0
-rw-r--r--tests/ui/type/type-alias-bounds.stderr (renamed from src/test/ui/type/type-alias-bounds.stderr)0
-rw-r--r--tests/ui/type/type-annotation-needed.rs (renamed from src/test/ui/type/type-annotation-needed.rs)0
-rw-r--r--tests/ui/type/type-annotation-needed.stderr (renamed from src/test/ui/type/type-annotation-needed.stderr)2
-rw-r--r--tests/ui/type/type-arg-out-of-scope.rs (renamed from src/test/ui/type/type-arg-out-of-scope.rs)0
-rw-r--r--tests/ui/type/type-arg-out-of-scope.stderr (renamed from src/test/ui/type/type-arg-out-of-scope.stderr)0
-rw-r--r--tests/ui/type/type-ascription-instead-of-initializer.rs4
-rw-r--r--tests/ui/type/type-ascription-instead-of-initializer.stderr (renamed from src/test/ui/type/type-ascription-instead-of-initializer.stderr)3
-rw-r--r--tests/ui/type/type-ascription-instead-of-statement-end.rs (renamed from src/test/ui/type/type-ascription-instead-of-statement-end.rs)0
-rw-r--r--tests/ui/type/type-ascription-instead-of-statement-end.stderr (renamed from src/test/ui/type/type-ascription-instead-of-statement-end.stderr)0
-rw-r--r--tests/ui/type/type-ascription-precedence.rs (renamed from src/test/ui/type/type-ascription-precedence.rs)0
-rw-r--r--tests/ui/type/type-ascription-precedence.stderr (renamed from src/test/ui/type/type-ascription-precedence.stderr)7
-rw-r--r--tests/ui/type/type-ascription-soundness.rs (renamed from src/test/ui/type/type-ascription-soundness.rs)0
-rw-r--r--tests/ui/type/type-ascription-soundness.stderr (renamed from src/test/ui/type/type-ascription-soundness.stderr)0
-rw-r--r--tests/ui/type/type-ascription-with-fn-call.fixed (renamed from src/test/ui/type/type-ascription-with-fn-call.fixed)0
-rw-r--r--tests/ui/type/type-ascription-with-fn-call.rs (renamed from src/test/ui/type/type-ascription-with-fn-call.rs)0
-rw-r--r--tests/ui/type/type-ascription-with-fn-call.stderr (renamed from src/test/ui/type/type-ascription-with-fn-call.stderr)0
-rw-r--r--tests/ui/type/type-ascription.rs (renamed from src/test/ui/type/type-ascription.rs)0
-rw-r--r--tests/ui/type/type-check-defaults.rs (renamed from src/test/ui/type/type-check-defaults.rs)0
-rw-r--r--tests/ui/type/type-check-defaults.stderr (renamed from src/test/ui/type/type-check-defaults.stderr)0
-rw-r--r--tests/ui/type/type-check/assignment-expected-bool.rs (renamed from src/test/ui/type/type-check/assignment-expected-bool.rs)0
-rw-r--r--tests/ui/type/type-check/assignment-expected-bool.stderr (renamed from src/test/ui/type/type-check/assignment-expected-bool.stderr)0
-rw-r--r--tests/ui/type/type-check/assignment-in-if.rs (renamed from src/test/ui/type/type-check/assignment-in-if.rs)0
-rw-r--r--tests/ui/type/type-check/assignment-in-if.stderr (renamed from src/test/ui/type/type-check/assignment-in-if.stderr)8
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_array.rs (renamed from src/test/ui/type/type-check/cannot_infer_local_or_array.rs)0
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_array.stderr (renamed from src/test/ui/type/type-check/cannot_infer_local_or_array.stderr)0
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_vec.rs (renamed from src/test/ui/type/type-check/cannot_infer_local_or_vec.rs)0
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_vec.stderr (renamed from src/test/ui/type/type-check/cannot_infer_local_or_vec.stderr)0
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs (renamed from src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs)0
-rw-r--r--tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr (renamed from src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr)2
-rw-r--r--tests/ui/type/type-check/issue-22897.rs (renamed from src/test/ui/type/type-check/issue-22897.rs)0
-rw-r--r--tests/ui/type/type-check/issue-22897.stderr (renamed from src/test/ui/type/type-check/issue-22897.stderr)0
-rw-r--r--tests/ui/type/type-check/issue-40294.rs (renamed from src/test/ui/type/type-check/issue-40294.rs)0
-rw-r--r--tests/ui/type/type-check/issue-40294.stderr17
-rw-r--r--tests/ui/type/type-check/issue-41314.rs (renamed from src/test/ui/type/type-check/issue-41314.rs)0
-rw-r--r--tests/ui/type/type-check/issue-41314.stderr (renamed from src/test/ui/type/type-check/issue-41314.stderr)0
-rw-r--r--tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs (renamed from src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs)0
-rw-r--r--tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr (renamed from src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr)0
-rw-r--r--tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs (renamed from src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs)0
-rw-r--r--tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr (renamed from src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr)0
-rw-r--r--tests/ui/type/type-check/missing_trait_impl.rs (renamed from src/test/ui/type/type-check/missing_trait_impl.rs)0
-rw-r--r--tests/ui/type/type-check/missing_trait_impl.stderr (renamed from src/test/ui/type/type-check/missing_trait_impl.stderr)0
-rw-r--r--tests/ui/type/type-check/point-at-inference-2.rs13
-rw-r--r--tests/ui/type/type-check/point-at-inference-2.stderr51
-rw-r--r--tests/ui/type/type-check/point-at-inference-3.fixed11
-rw-r--r--tests/ui/type/type-check/point-at-inference-3.rs11
-rw-r--r--tests/ui/type/type-check/point-at-inference-3.stderr18
-rw-r--r--tests/ui/type/type-check/point-at-inference.rs12
-rw-r--r--tests/ui/type/type-check/point-at-inference.stderr19
-rw-r--r--tests/ui/type/type-check/unknown_type_for_closure.rs (renamed from src/test/ui/type/type-check/unknown_type_for_closure.rs)0
-rw-r--r--tests/ui/type/type-check/unknown_type_for_closure.stderr (renamed from src/test/ui/type/type-check/unknown_type_for_closure.stderr)4
-rw-r--r--tests/ui/type/type-dependent-def-issue-49241.rs (renamed from src/test/ui/type/type-dependent-def-issue-49241.rs)0
-rw-r--r--tests/ui/type/type-dependent-def-issue-49241.stderr (renamed from src/test/ui/type/type-dependent-def-issue-49241.stderr)0
-rw-r--r--tests/ui/type/type-error-break-tail.rs (renamed from src/test/ui/type/type-error-break-tail.rs)0
-rw-r--r--tests/ui/type/type-error-break-tail.stderr (renamed from src/test/ui/type/type-error-break-tail.stderr)0
-rw-r--r--tests/ui/type/type-mismatch-multiple.rs (renamed from src/test/ui/type/type-mismatch-multiple.rs)0
-rw-r--r--tests/ui/type/type-mismatch-multiple.stderr (renamed from src/test/ui/type/type-mismatch-multiple.stderr)0
-rw-r--r--tests/ui/type/type-mismatch-same-crate-name.rs (renamed from src/test/ui/type/type-mismatch-same-crate-name.rs)0
-rw-r--r--tests/ui/type/type-mismatch-same-crate-name.stderr (renamed from src/test/ui/type/type-mismatch-same-crate-name.stderr)0
-rw-r--r--tests/ui/type/type-mismatch.rs (renamed from src/test/ui/type/type-mismatch.rs)0
-rw-r--r--tests/ui/type/type-mismatch.stderr (renamed from src/test/ui/type/type-mismatch.stderr)0
-rw-r--r--tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs (renamed from src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs)0
-rw-r--r--tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr (renamed from src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr)0
-rw-r--r--tests/ui/type/type-parameter-defaults-referencing-Self.rs (renamed from src/test/ui/type/type-parameter-defaults-referencing-Self.rs)0
-rw-r--r--tests/ui/type/type-parameter-defaults-referencing-Self.stderr (renamed from src/test/ui/type/type-parameter-defaults-referencing-Self.stderr)0
-rw-r--r--tests/ui/type/type-parameter-names.rs (renamed from src/test/ui/type/type-parameter-names.rs)0
-rw-r--r--tests/ui/type/type-parameter-names.stderr (renamed from src/test/ui/type/type-parameter-names.stderr)0
-rw-r--r--tests/ui/type/type-params-in-different-spaces-1.rs (renamed from src/test/ui/type/type-params-in-different-spaces-1.rs)0
-rw-r--r--tests/ui/type/type-params-in-different-spaces-1.stderr (renamed from src/test/ui/type/type-params-in-different-spaces-1.stderr)4
-rw-r--r--tests/ui/type/type-params-in-different-spaces-2.rs (renamed from src/test/ui/type/type-params-in-different-spaces-2.rs)0
-rw-r--r--tests/ui/type/type-params-in-different-spaces-2.stderr (renamed from src/test/ui/type/type-params-in-different-spaces-2.stderr)0
-rw-r--r--tests/ui/type/type-params-in-different-spaces-3.rs (renamed from src/test/ui/type/type-params-in-different-spaces-3.rs)0
-rw-r--r--tests/ui/type/type-params-in-different-spaces-3.stderr (renamed from src/test/ui/type/type-params-in-different-spaces-3.stderr)0
-rw-r--r--tests/ui/type/type-path-err-node-types.rs (renamed from src/test/ui/type/type-path-err-node-types.rs)0
-rw-r--r--tests/ui/type/type-path-err-node-types.stderr (renamed from src/test/ui/type/type-path-err-node-types.stderr)4
-rw-r--r--tests/ui/type/type-recursive-box-shadowed.rs (renamed from src/test/ui/type/type-recursive-box-shadowed.rs)0
-rw-r--r--tests/ui/type/type-recursive-box-shadowed.stderr (renamed from src/test/ui/type/type-recursive-box-shadowed.stderr)0
-rw-r--r--tests/ui/type/type-recursive.rs (renamed from src/test/ui/type/type-recursive.rs)0
-rw-r--r--tests/ui/type/type-recursive.stderr (renamed from src/test/ui/type/type-recursive.stderr)0
-rw-r--r--tests/ui/type/type-shadow.rs (renamed from src/test/ui/type/type-shadow.rs)0
-rw-r--r--tests/ui/type/type-shadow.stderr (renamed from src/test/ui/type/type-shadow.stderr)0
-rw-r--r--tests/ui/type/type-unsatisfiable.rs (renamed from src/test/ui/type/type-unsatisfiable.rs)0
-rw-r--r--tests/ui/type/type-unsatisfiable.usage.stderr (renamed from src/test/ui/type/type-unsatisfiable.usage.stderr)0
-rw-r--r--tests/ui/type/wrong-call-return-type-due-to-generic-arg.rs28
-rw-r--r--tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr131
-rw-r--r--tests/ui/type_length_limit.polonius.stderr (renamed from src/test/ui/type_length_limit.polonius.stderr)0
-rw-r--r--tests/ui/type_length_limit.rs (renamed from src/test/ui/type_length_limit.rs)0
-rw-r--r--tests/ui/type_length_limit.stderr (renamed from src/test/ui/type_length_limit.stderr)3
-rw-r--r--tests/ui/typeck/assign-non-lval-derefmut.fixed (renamed from src/test/ui/typeck/assign-non-lval-derefmut.fixed)0
-rw-r--r--tests/ui/typeck/assign-non-lval-derefmut.rs (renamed from src/test/ui/typeck/assign-non-lval-derefmut.rs)0
-rw-r--r--tests/ui/typeck/assign-non-lval-derefmut.stderr (renamed from src/test/ui/typeck/assign-non-lval-derefmut.stderr)0
-rw-r--r--tests/ui/typeck/assign-non-lval-mut-ref.fixed (renamed from src/test/ui/typeck/assign-non-lval-mut-ref.fixed)0
-rw-r--r--tests/ui/typeck/assign-non-lval-mut-ref.rs (renamed from src/test/ui/typeck/assign-non-lval-mut-ref.rs)0
-rw-r--r--tests/ui/typeck/assign-non-lval-mut-ref.stderr (renamed from src/test/ui/typeck/assign-non-lval-mut-ref.stderr)0
-rw-r--r--tests/ui/typeck/assign-non-lval-needs-deref.rs (renamed from src/test/ui/typeck/assign-non-lval-needs-deref.rs)0
-rw-r--r--tests/ui/typeck/assign-non-lval-needs-deref.stderr (renamed from src/test/ui/typeck/assign-non-lval-needs-deref.stderr)0
-rw-r--r--tests/ui/typeck/autoderef-with-param-env-error.rs (renamed from src/test/ui/typeck/autoderef-with-param-env-error.rs)0
-rw-r--r--tests/ui/typeck/autoderef-with-param-env-error.stderr14
-rw-r--r--tests/ui/typeck/auxiliary/issue-36708.rs (renamed from src/test/ui/typeck/auxiliary/issue-36708.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/issue-81943-lib.rs (renamed from src/test/ui/typeck/auxiliary/issue-81943-lib.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/tdticc_coherence_lib.rs (renamed from src/test/ui/typeck/auxiliary/tdticc_coherence_lib.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/xcrate-issue-43189-a.rs (renamed from src/test/ui/typeck/auxiliary/xcrate-issue-43189-a.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/xcrate-issue-43189-b.rs (renamed from src/test/ui/typeck/auxiliary/xcrate-issue-43189-b.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs (renamed from src/test/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs)0
-rw-r--r--tests/ui/typeck/auxiliary/xcrate-issue-61711-b.rs (renamed from src/test/ui/typeck/auxiliary/xcrate-issue-61711-b.rs)0
-rw-r--r--tests/ui/typeck/call-block.rs (renamed from src/test/ui/typeck/call-block.rs)0
-rw-r--r--tests/ui/typeck/call-block.stderr (renamed from src/test/ui/typeck/call-block.stderr)0
-rw-r--r--tests/ui/typeck/check-args-on-fn-err-2.rs5
-rw-r--r--tests/ui/typeck/check-args-on-fn-err-2.stderr23
-rw-r--r--tests/ui/typeck/check-args-on-fn-err.rs6
-rw-r--r--tests/ui/typeck/check-args-on-fn-err.stderr9
-rw-r--r--tests/ui/typeck/conversion-methods.rs (renamed from src/test/ui/typeck/conversion-methods.rs)0
-rw-r--r--tests/ui/typeck/conversion-methods.stderr (renamed from src/test/ui/typeck/conversion-methods.stderr)0
-rw-r--r--tests/ui/typeck/deref-multi.rs (renamed from src/test/ui/typeck/deref-multi.rs)0
-rw-r--r--tests/ui/typeck/deref-multi.stderr (renamed from src/test/ui/typeck/deref-multi.stderr)0
-rw-r--r--tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs (renamed from src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs)0
-rw-r--r--tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr (renamed from src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr)0
-rw-r--r--tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs (renamed from src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs)0
-rw-r--r--tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr (renamed from src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr)0
-rw-r--r--tests/ui/typeck/explain_clone_autoref.rs (renamed from src/test/ui/typeck/explain_clone_autoref.rs)0
-rw-r--r--tests/ui/typeck/explain_clone_autoref.stderr (renamed from src/test/ui/typeck/explain_clone_autoref.stderr)4
-rw-r--r--tests/ui/typeck/issue-100164.fixed (renamed from src/test/ui/typeck/issue-100164.fixed)0
-rw-r--r--tests/ui/typeck/issue-100164.rs (renamed from src/test/ui/typeck/issue-100164.rs)0
-rw-r--r--tests/ui/typeck/issue-100164.stderr (renamed from src/test/ui/typeck/issue-100164.stderr)0
-rw-r--r--tests/ui/typeck/issue-100246.rs (renamed from src/test/ui/typeck/issue-100246.rs)0
-rw-r--r--tests/ui/typeck/issue-100246.stderr (renamed from src/test/ui/typeck/issue-100246.stderr)0
-rw-r--r--tests/ui/typeck/issue-100285.rs (renamed from src/test/ui/typeck/issue-100285.rs)0
-rw-r--r--tests/ui/typeck/issue-100285.stderr (renamed from src/test/ui/typeck/issue-100285.stderr)0
-rw-r--r--tests/ui/typeck/issue-103899.rs (renamed from src/test/ui/typeck/issue-103899.rs)0
-rw-r--r--tests/ui/typeck/issue-10401.rs (renamed from src/test/ui/typeck/issue-10401.rs)0
-rw-r--r--tests/ui/typeck/issue-10401.stderr (renamed from src/test/ui/typeck/issue-10401.stderr)0
-rw-r--r--tests/ui/typeck/issue-104510-ice.rs (renamed from src/test/ui/typeck/issue-104510-ice.rs)0
-rw-r--r--tests/ui/typeck/issue-104510-ice.stderr (renamed from src/test/ui/typeck/issue-104510-ice.stderr)0
-rw-r--r--tests/ui/typeck/issue-104513-ice.rs (renamed from src/test/ui/typeck/issue-104513-ice.rs)0
-rw-r--r--tests/ui/typeck/issue-104513-ice.stderr (renamed from src/test/ui/typeck/issue-104513-ice.stderr)2
-rw-r--r--tests/ui/typeck/issue-104582.rs5
-rw-r--r--tests/ui/typeck/issue-104582.stderr25
-rw-r--r--tests/ui/typeck/issue-105946.rs12
-rw-r--r--tests/ui/typeck/issue-105946.stderr49
-rw-r--r--tests/ui/typeck/issue-10969.rs (renamed from src/test/ui/typeck/issue-10969.rs)0
-rw-r--r--tests/ui/typeck/issue-10969.stderr (renamed from src/test/ui/typeck/issue-10969.stderr)0
-rw-r--r--tests/ui/typeck/issue-13853-2.rs (renamed from src/test/ui/typeck/issue-13853-2.rs)0
-rw-r--r--tests/ui/typeck/issue-13853-2.stderr (renamed from src/test/ui/typeck/issue-13853-2.stderr)0
-rw-r--r--tests/ui/typeck/issue-13853-5.rs (renamed from src/test/ui/typeck/issue-13853-5.rs)0
-rw-r--r--tests/ui/typeck/issue-13853-5.stderr (renamed from src/test/ui/typeck/issue-13853-5.stderr)0
-rw-r--r--tests/ui/typeck/issue-13853.rs (renamed from src/test/ui/typeck/issue-13853.rs)0
-rw-r--r--tests/ui/typeck/issue-13853.stderr (renamed from src/test/ui/typeck/issue-13853.stderr)2
-rw-r--r--tests/ui/typeck/issue-18937-1.rs (renamed from src/test/ui/issues/issue-18937-1.rs)0
-rw-r--r--tests/ui/typeck/issue-18937.rs (renamed from src/test/ui/issues/issue-18937.rs)0
-rw-r--r--tests/ui/typeck/issue-18937.stderr (renamed from src/test/ui/issues/issue-18937.stderr)0
-rw-r--r--tests/ui/typeck/issue-22375.rs (renamed from src/test/ui/issues/issue-22375.rs)0
-rw-r--r--tests/ui/typeck/issue-29124.rs (renamed from src/test/ui/typeck/issue-29124.rs)0
-rw-r--r--tests/ui/typeck/issue-29124.stderr (renamed from src/test/ui/typeck/issue-29124.stderr)0
-rw-r--r--tests/ui/typeck/issue-31173.rs15
-rw-r--r--tests/ui/typeck/issue-31173.stderr45
-rw-r--r--tests/ui/typeck/issue-33575.rs (renamed from src/test/ui/issues/issue-33575.rs)0
-rw-r--r--tests/ui/typeck/issue-33575.stderr (renamed from src/test/ui/issues/issue-33575.stderr)0
-rw-r--r--tests/ui/typeck/issue-36708.rs (renamed from src/test/ui/typeck/issue-36708.rs)0
-rw-r--r--tests/ui/typeck/issue-36708.stderr (renamed from src/test/ui/typeck/issue-36708.stderr)0
-rw-r--r--tests/ui/typeck/issue-43189.rs (renamed from src/test/ui/typeck/issue-43189.rs)0
-rw-r--r--tests/ui/typeck/issue-43189.stderr (renamed from src/test/ui/typeck/issue-43189.stderr)0
-rw-r--r--tests/ui/typeck/issue-46112.rs (renamed from src/test/ui/typeck/issue-46112.rs)0
-rw-r--r--tests/ui/typeck/issue-46112.stderr27
-rw-r--r--tests/ui/typeck/issue-50687-ice-on-borrow.rs (renamed from src/test/ui/typeck/issue-50687-ice-on-borrow.rs)0
-rw-r--r--tests/ui/typeck/issue-50687-ice-on-borrow.stderr (renamed from src/test/ui/typeck/issue-50687-ice-on-borrow.stderr)0
-rw-r--r--tests/ui/typeck/issue-52082-type-param-shadows-existing-type.rs (renamed from src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.rs)0
-rw-r--r--tests/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr (renamed from src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr)0
-rw-r--r--tests/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs (renamed from src/test/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs)0
-rw-r--r--tests/ui/typeck/issue-57404.rs7
-rw-r--r--tests/ui/typeck/issue-57404.stderr19
-rw-r--r--tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs (renamed from src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs)0
-rw-r--r--tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr (renamed from src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr)0
-rw-r--r--tests/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs (renamed from src/test/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs)0
-rw-r--r--tests/ui/typeck/issue-65611.rs (renamed from src/test/ui/typeck/issue-65611.rs)0
-rw-r--r--tests/ui/typeck/issue-65611.stderr (renamed from src/test/ui/typeck/issue-65611.stderr)0
-rw-r--r--tests/ui/typeck/issue-67971.rs (renamed from src/test/ui/typeck/issue-67971.rs)0
-rw-r--r--tests/ui/typeck/issue-67971.stderr (renamed from src/test/ui/typeck/issue-67971.stderr)0
-rw-r--r--tests/ui/typeck/issue-68590-reborrow-through-derefmut.rs (renamed from src/test/ui/typeck/issue-68590-reborrow-through-derefmut.rs)0
-rw-r--r--tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs (renamed from src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs)0
-rw-r--r--tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr (renamed from src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr)0
-rw-r--r--tests/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs (renamed from src/test/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs)0
-rw-r--r--tests/ui/typeck/issue-73592-borrow_mut-through-deref.fixed (renamed from src/test/ui/typeck/issue-73592-borrow_mut-through-deref.fixed)0
-rw-r--r--tests/ui/typeck/issue-73592-borrow_mut-through-deref.rs (renamed from src/test/ui/typeck/issue-73592-borrow_mut-through-deref.rs)0
-rw-r--r--tests/ui/typeck/issue-73592-borrow_mut-through-deref.stderr (renamed from src/test/ui/typeck/issue-73592-borrow_mut-through-deref.stderr)0
-rw-r--r--tests/ui/typeck/issue-74086.rs (renamed from src/test/ui/typeck/issue-74086.rs)0
-rw-r--r--tests/ui/typeck/issue-74086.stderr (renamed from src/test/ui/typeck/issue-74086.stderr)0
-rw-r--r--tests/ui/typeck/issue-74933.rs (renamed from src/test/ui/typeck/issue-74933.rs)0
-rw-r--r--tests/ui/typeck/issue-75883.rs (renamed from src/test/ui/typeck/issue-75883.rs)0
-rw-r--r--tests/ui/typeck/issue-75883.stderr (renamed from src/test/ui/typeck/issue-75883.stderr)10
-rw-r--r--tests/ui/typeck/issue-75889.rs (renamed from src/test/ui/typeck/issue-75889.rs)0
-rw-r--r--tests/ui/typeck/issue-75889.stderr (renamed from src/test/ui/typeck/issue-75889.stderr)0
-rw-r--r--tests/ui/typeck/issue-79040.rs (renamed from src/test/ui/typeck/issue-79040.rs)0
-rw-r--r--tests/ui/typeck/issue-79040.stderr (renamed from src/test/ui/typeck/issue-79040.stderr)0
-rw-r--r--tests/ui/typeck/issue-80207-unsized-return.rs (renamed from src/test/ui/typeck/issue-80207-unsized-return.rs)0
-rw-r--r--tests/ui/typeck/issue-80779.rs (renamed from src/test/ui/typeck/issue-80779.rs)0
-rw-r--r--tests/ui/typeck/issue-80779.stderr (renamed from src/test/ui/typeck/issue-80779.stderr)0
-rw-r--r--tests/ui/typeck/issue-81293.rs (renamed from src/test/ui/typeck/issue-81293.rs)0
-rw-r--r--tests/ui/typeck/issue-81293.stderr (renamed from src/test/ui/typeck/issue-81293.stderr)0
-rw-r--r--tests/ui/typeck/issue-81885.rs (renamed from src/test/ui/typeck/issue-81885.rs)0
-rw-r--r--tests/ui/typeck/issue-81885.stderr (renamed from src/test/ui/typeck/issue-81885.stderr)0
-rw-r--r--tests/ui/typeck/issue-81943.rs (renamed from src/test/ui/typeck/issue-81943.rs)0
-rw-r--r--tests/ui/typeck/issue-81943.stderr (renamed from src/test/ui/typeck/issue-81943.stderr)0
-rw-r--r--tests/ui/typeck/issue-82772.rs (renamed from src/test/ui/typeck/issue-82772.rs)0
-rw-r--r--tests/ui/typeck/issue-82772.stderr (renamed from src/test/ui/typeck/issue-82772.stderr)0
-rw-r--r--tests/ui/typeck/issue-83621-placeholder-static-in-extern.rs (renamed from src/test/ui/typeck/issue-83621-placeholder-static-in-extern.rs)0
-rw-r--r--tests/ui/typeck/issue-83621-placeholder-static-in-extern.stderr (renamed from src/test/ui/typeck/issue-83621-placeholder-static-in-extern.stderr)0
-rw-r--r--tests/ui/typeck/issue-83693.rs (renamed from src/test/ui/typeck/issue-83693.rs)0
-rw-r--r--tests/ui/typeck/issue-83693.stderr (renamed from src/test/ui/typeck/issue-83693.stderr)6
-rw-r--r--tests/ui/typeck/issue-84160.rs (renamed from src/test/ui/typeck/issue-84160.rs)0
-rw-r--r--tests/ui/typeck/issue-84160.stderr (renamed from src/test/ui/typeck/issue-84160.stderr)0
-rw-r--r--tests/ui/typeck/issue-84768.rs (renamed from src/test/ui/typeck/issue-84768.rs)0
-rw-r--r--tests/ui/typeck/issue-84768.stderr30
-rw-r--r--tests/ui/typeck/issue-84831.rs (renamed from src/test/ui/typeck/issue-84831.rs)0
-rw-r--r--tests/ui/typeck/issue-84831.stderr (renamed from src/test/ui/typeck/issue-84831.stderr)0
-rw-r--r--tests/ui/typeck/issue-86721-return-expr-ice.rev1.stderr (renamed from src/test/ui/typeck/issue-86721-return-expr-ice.rev1.stderr)0
-rw-r--r--tests/ui/typeck/issue-86721-return-expr-ice.rev2.stderr (renamed from src/test/ui/typeck/issue-86721-return-expr-ice.rev2.stderr)0
-rw-r--r--tests/ui/typeck/issue-86721-return-expr-ice.rs (renamed from src/test/ui/typeck/issue-86721-return-expr-ice.rs)0
-rw-r--r--tests/ui/typeck/issue-87181/empty-tuple-method.rs14
-rw-r--r--tests/ui/typeck/issue-87181/empty-tuple-method.stderr (renamed from src/test/ui/typeck/issue-87181/empty-tuple-method.stderr)2
-rw-r--r--tests/ui/typeck/issue-87181/enum-variant.rs16
-rw-r--r--tests/ui/typeck/issue-87181/enum-variant.stderr (renamed from src/test/ui/typeck/issue-87181/enum-variant.stderr)2
-rw-r--r--tests/ui/typeck/issue-87181/tuple-field.rs (renamed from src/test/ui/typeck/issue-87181/tuple-field.rs)0
-rw-r--r--tests/ui/typeck/issue-87181/tuple-field.stderr (renamed from src/test/ui/typeck/issue-87181/tuple-field.stderr)0
-rw-r--r--tests/ui/typeck/issue-87181/tuple-method.rs14
-rw-r--r--tests/ui/typeck/issue-87181/tuple-method.stderr9
-rw-r--r--tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs (renamed from src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs)0
-rw-r--r--tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr (renamed from src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr)0
-rw-r--r--tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs (renamed from src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs)0
-rw-r--r--tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr (renamed from src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr)0
-rw-r--r--tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs (renamed from src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs)0
-rw-r--r--tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr (renamed from src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr)0
-rw-r--r--tests/ui/typeck/issue-87935-unsized-box-expr.rs (renamed from src/test/ui/typeck/issue-87935-unsized-box-expr.rs)0
-rw-r--r--tests/ui/typeck/issue-87935-unsized-box-expr.stderr (renamed from src/test/ui/typeck/issue-87935-unsized-box-expr.stderr)0
-rw-r--r--tests/ui/typeck/issue-88609.rs (renamed from src/test/ui/typeck/issue-88609.rs)0
-rw-r--r--tests/ui/typeck/issue-88643.rs (renamed from src/test/ui/typeck/issue-88643.rs)0
-rw-r--r--tests/ui/typeck/issue-88643.stderr (renamed from src/test/ui/typeck/issue-88643.stderr)0
-rw-r--r--tests/ui/typeck/issue-88803-call-expr-method.fixed (renamed from src/test/ui/typeck/issue-88803-call-expr-method.fixed)0
-rw-r--r--tests/ui/typeck/issue-88803-call-expr-method.rs (renamed from src/test/ui/typeck/issue-88803-call-expr-method.rs)0
-rw-r--r--tests/ui/typeck/issue-88803-call-expr-method.stderr (renamed from src/test/ui/typeck/issue-88803-call-expr-method.stderr)0
-rw-r--r--tests/ui/typeck/issue-88844.rs (renamed from src/test/ui/typeck/issue-88844.rs)0
-rw-r--r--tests/ui/typeck/issue-88844.stderr (renamed from src/test/ui/typeck/issue-88844.stderr)0
-rw-r--r--tests/ui/typeck/issue-89044-wrapped-expr-method.fixed (renamed from src/test/ui/typeck/issue-89044-wrapped-expr-method.fixed)0
-rw-r--r--tests/ui/typeck/issue-89044-wrapped-expr-method.rs (renamed from src/test/ui/typeck/issue-89044-wrapped-expr-method.rs)0
-rw-r--r--tests/ui/typeck/issue-89044-wrapped-expr-method.stderr (renamed from src/test/ui/typeck/issue-89044-wrapped-expr-method.stderr)0
-rw-r--r--tests/ui/typeck/issue-89275.rs (renamed from src/test/ui/typeck/issue-89275.rs)0
-rw-r--r--tests/ui/typeck/issue-89275.stderr (renamed from src/test/ui/typeck/issue-89275.stderr)0
-rw-r--r--tests/ui/typeck/issue-89806.rs (renamed from src/test/ui/typeck/issue-89806.rs)0
-rw-r--r--tests/ui/typeck/issue-89806.stderr (renamed from src/test/ui/typeck/issue-89806.stderr)0
-rw-r--r--tests/ui/typeck/issue-89856.rs (renamed from src/test/ui/typeck/issue-89856.rs)0
-rw-r--r--tests/ui/typeck/issue-89856.stderr (renamed from src/test/ui/typeck/issue-89856.stderr)0
-rw-r--r--tests/ui/typeck/issue-89935.rs (renamed from src/test/ui/typeck/issue-89935.rs)0
-rw-r--r--tests/ui/typeck/issue-90101.rs (renamed from src/test/ui/typeck/issue-90101.rs)0
-rw-r--r--tests/ui/typeck/issue-90101.stderr (renamed from src/test/ui/typeck/issue-90101.stderr)0
-rw-r--r--tests/ui/typeck/issue-90164.rs (renamed from src/test/ui/typeck/issue-90164.rs)0
-rw-r--r--tests/ui/typeck/issue-90164.stderr (renamed from src/test/ui/typeck/issue-90164.stderr)0
-rw-r--r--tests/ui/typeck/issue-90319.rs (renamed from src/test/ui/typeck/issue-90319.rs)0
-rw-r--r--tests/ui/typeck/issue-90319.stderr (renamed from src/test/ui/typeck/issue-90319.stderr)0
-rw-r--r--tests/ui/typeck/issue-90483-inaccessible-field-adjustment.rs (renamed from src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.rs)0
-rw-r--r--tests/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr (renamed from src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr)0
-rw-r--r--tests/ui/typeck/issue-90804-incorrect-reference-suggestion.rs (renamed from src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.rs)0
-rw-r--r--tests/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr (renamed from src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr)0
-rw-r--r--tests/ui/typeck/issue-91210-ptr-method.fixed (renamed from src/test/ui/typeck/issue-91210-ptr-method.fixed)0
-rw-r--r--tests/ui/typeck/issue-91210-ptr-method.rs (renamed from src/test/ui/typeck/issue-91210-ptr-method.rs)0
-rw-r--r--tests/ui/typeck/issue-91210-ptr-method.stderr (renamed from src/test/ui/typeck/issue-91210-ptr-method.stderr)0
-rw-r--r--tests/ui/typeck/issue-91267.rs (renamed from src/test/ui/typeck/issue-91267.rs)0
-rw-r--r--tests/ui/typeck/issue-91267.stderr (renamed from src/test/ui/typeck/issue-91267.stderr)0
-rw-r--r--tests/ui/typeck/issue-91328.fixed (renamed from src/test/ui/typeck/issue-91328.fixed)0
-rw-r--r--tests/ui/typeck/issue-91328.rs (renamed from src/test/ui/typeck/issue-91328.rs)0
-rw-r--r--tests/ui/typeck/issue-91328.stderr (renamed from src/test/ui/typeck/issue-91328.stderr)0
-rw-r--r--tests/ui/typeck/issue-91334.rs (renamed from src/test/ui/typeck/issue-91334.rs)0
-rw-r--r--tests/ui/typeck/issue-91334.stderr (renamed from src/test/ui/typeck/issue-91334.stderr)0
-rw-r--r--tests/ui/typeck/issue-91450-inner-ty-error.rs (renamed from src/test/ui/typeck/issue-91450-inner-ty-error.rs)0
-rw-r--r--tests/ui/typeck/issue-91450-inner-ty-error.stderr (renamed from src/test/ui/typeck/issue-91450-inner-ty-error.stderr)0
-rw-r--r--tests/ui/typeck/issue-91633.rs (renamed from src/test/ui/typeck/issue-91633.rs)0
-rw-r--r--tests/ui/typeck/issue-92481.rs14
-rw-r--r--tests/ui/typeck/issue-92481.stderr60
-rw-r--r--tests/ui/typeck/issue-93486.rs (renamed from src/test/ui/typeck/issue-93486.rs)0
-rw-r--r--tests/ui/typeck/issue-93486.stderr (renamed from src/test/ui/typeck/issue-93486.stderr)0
-rw-r--r--tests/ui/typeck/issue-96530.rs20
-rw-r--r--tests/ui/typeck/issue-96530.stderr9
-rw-r--r--tests/ui/typeck/issue-96738.rs (renamed from src/test/ui/typeck/issue-96738.rs)0
-rw-r--r--tests/ui/typeck/issue-96738.stderr (renamed from src/test/ui/typeck/issue-96738.stderr)2
-rw-r--r--tests/ui/typeck/issue-98260.rs (renamed from src/test/ui/typeck/issue-98260.rs)0
-rw-r--r--tests/ui/typeck/issue-98260.stderr (renamed from src/test/ui/typeck/issue-98260.stderr)0
-rw-r--r--tests/ui/typeck/issue-98982.rs (renamed from src/test/ui/typeck/issue-98982.rs)0
-rw-r--r--tests/ui/typeck/issue-98982.stderr (renamed from src/test/ui/typeck/issue-98982.stderr)0
-rw-r--r--tests/ui/typeck/missing-private-fields-in-struct-literal.rs (renamed from src/test/ui/typeck/missing-private-fields-in-struct-literal.rs)0
-rw-r--r--tests/ui/typeck/missing-private-fields-in-struct-literal.stderr (renamed from src/test/ui/typeck/missing-private-fields-in-struct-literal.stderr)0
-rw-r--r--tests/ui/typeck/no-type-for-node-ice.rs (renamed from src/test/ui/typeck/no-type-for-node-ice.rs)0
-rw-r--r--tests/ui/typeck/no-type-for-node-ice.stderr (renamed from src/test/ui/typeck/no-type-for-node-ice.stderr)0
-rw-r--r--tests/ui/typeck/nonexistent-field-not-ambiguous.rs8
-rw-r--r--tests/ui/typeck/nonexistent-field-not-ambiguous.stderr9
-rw-r--r--tests/ui/typeck/path-to-method-sugg-unresolved-expr.rs (renamed from src/test/ui/typeck/path-to-method-sugg-unresolved-expr.rs)0
-rw-r--r--tests/ui/typeck/path-to-method-sugg-unresolved-expr.stderr (renamed from src/test/ui/typeck/path-to-method-sugg-unresolved-expr.stderr)0
-rw-r--r--tests/ui/typeck/point-at-type-param-in-path-expr.rs (renamed from src/test/ui/typeck/point-at-type-param-in-path-expr.rs)0
-rw-r--r--tests/ui/typeck/point-at-type-param-in-path-expr.stderr (renamed from src/test/ui/typeck/point-at-type-param-in-path-expr.stderr)0
-rw-r--r--tests/ui/typeck/point-at-type-parameter-definition.rs (renamed from src/test/ui/typeck/point-at-type-parameter-definition.rs)0
-rw-r--r--tests/ui/typeck/point-at-type-parameter-definition.stderr (renamed from src/test/ui/typeck/point-at-type-parameter-definition.stderr)0
-rw-r--r--tests/ui/typeck/prim-with-args.fixed (renamed from src/test/ui/typeck/prim-with-args.fixed)0
-rw-r--r--tests/ui/typeck/prim-with-args.rs (renamed from src/test/ui/typeck/prim-with-args.rs)0
-rw-r--r--tests/ui/typeck/prim-with-args.stderr (renamed from src/test/ui/typeck/prim-with-args.stderr)0
-rw-r--r--tests/ui/typeck/project-cache-issue-37154.rs (renamed from src/test/ui/typeck/project-cache-issue-37154.rs)0
-rw-r--r--tests/ui/typeck/quiet-type-err-let-binding.rs17
-rw-r--r--tests/ui/typeck/quiet-type-err-let-binding.stderr9
-rw-r--r--tests/ui/typeck/remove-extra-argument.fixed9
-rw-r--r--tests/ui/typeck/remove-extra-argument.rs9
-rw-r--r--tests/ui/typeck/remove-extra-argument.stderr (renamed from src/test/ui/typeck/remove-extra-argument.stderr)0
-rw-r--r--tests/ui/typeck/return_type_containing_closure.rs (renamed from src/test/ui/typeck/return_type_containing_closure.rs)0
-rw-r--r--tests/ui/typeck/return_type_containing_closure.stderr (renamed from src/test/ui/typeck/return_type_containing_closure.stderr)0
-rw-r--r--tests/ui/typeck/slow-lhs-suggestion.rs (renamed from src/test/ui/typeck/slow-lhs-suggestion.rs)0
-rw-r--r--tests/ui/typeck/slow-lhs-suggestion.stderr (renamed from src/test/ui/typeck/slow-lhs-suggestion.stderr)0
-rw-r--r--tests/ui/typeck/struct-enum-wrong-args.rs (renamed from src/test/ui/typeck/struct-enum-wrong-args.rs)0
-rw-r--r--tests/ui/typeck/struct-enum-wrong-args.stderr (renamed from src/test/ui/typeck/struct-enum-wrong-args.stderr)9
-rw-r--r--tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed (renamed from src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed)0
-rw-r--r--tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs (renamed from src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs)0
-rw-r--r--tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr (renamed from src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr)0
-rw-r--r--tests/ui/typeck/type-placeholder-fn-in-const.rs (renamed from src/test/ui/typeck/type-placeholder-fn-in-const.rs)0
-rw-r--r--tests/ui/typeck/type-placeholder-fn-in-const.stderr (renamed from src/test/ui/typeck/type-placeholder-fn-in-const.stderr)0
-rw-r--r--tests/ui/typeck/typeck-builtin-bound-type-parameters.rs (renamed from src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs)0
-rw-r--r--tests/ui/typeck/typeck-builtin-bound-type-parameters.stderr51
-rw-r--r--tests/ui/typeck/typeck-cast-pointer-to-float.rs (renamed from src/test/ui/typeck/typeck-cast-pointer-to-float.rs)0
-rw-r--r--tests/ui/typeck/typeck-cast-pointer-to-float.stderr (renamed from src/test/ui/typeck/typeck-cast-pointer-to-float.stderr)0
-rw-r--r--tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs (renamed from src/test/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-assoc-type.fixed (renamed from src/test/ui/typeck/typeck-default-trait-impl-assoc-type.fixed)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-assoc-type.rs (renamed from src/test/ui/typeck/typeck-default-trait-impl-assoc-type.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-assoc-type.stderr (renamed from src/test/ui/typeck/typeck-default-trait-impl-assoc-type.stderr)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs (renamed from src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr (renamed from src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-negation-send.rs (renamed from src/test/ui/typeck/typeck-default-trait-impl-negation-send.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-negation-send.stderr (renamed from src/test/ui/typeck/typeck-default-trait-impl-negation-send.stderr)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-negation-sync.rs (renamed from src/test/ui/typeck/typeck-default-trait-impl-negation-sync.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-negation-sync.stderr (renamed from src/test/ui/typeck/typeck-default-trait-impl-negation-sync.stderr)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-send-param.rs (renamed from src/test/ui/typeck/typeck-default-trait-impl-send-param.rs)0
-rw-r--r--tests/ui/typeck/typeck-default-trait-impl-send-param.stderr (renamed from src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr)0
-rw-r--r--tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs (renamed from src/test/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs)0
-rw-r--r--tests/ui/typeck/typeck-unsafe-always-share.rs (renamed from src/test/ui/typeck/typeck-unsafe-always-share.rs)0
-rw-r--r--tests/ui/typeck/typeck-unsafe-always-share.stderr (renamed from src/test/ui/typeck/typeck-unsafe-always-share.stderr)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_1.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_1.rs)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_item.rs)8
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item.stderr (renamed from src/test/ui/typeck/typeck_type_placeholder_item.stderr)23
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item_help.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_item_help.rs)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item_help.stderr (renamed from src/test/ui/typeck/typeck_type_placeholder_item_help.stderr)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_lifetime_1.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_lifetime_1.stderr (renamed from src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_lifetime_2.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_lifetime_2.stderr (renamed from src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_mismatch.rs (renamed from src/test/ui/typeck/typeck_type_placeholder_mismatch.rs)0
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_mismatch.stderr (renamed from src/test/ui/typeck/typeck_type_placeholder_mismatch.stderr)0
-rw-r--r--tests/ui/typeck/ufcs-type-params.rs (renamed from src/test/ui/typeck/ufcs-type-params.rs)0
-rw-r--r--tests/ui/typeck/unify-return-ty.rs (renamed from src/test/ui/typeck/unify-return-ty.rs)0
-rw-r--r--tests/ui/typeck/while-loop-block-cond.rs (renamed from src/test/ui/typeck/while-loop-block-cond.rs)0
-rw-r--r--tests/ui/typeck/while-loop-block-cond.stderr (renamed from src/test/ui/typeck/while-loop-block-cond.stderr)0
-rw-r--r--tests/ui/typeid-intrinsic.rs (renamed from src/test/ui/typeid-intrinsic.rs)0
-rw-r--r--tests/ui/typeof/issue-100183.rs (renamed from src/test/ui/typeof/issue-100183.rs)0
-rw-r--r--tests/ui/typeof/issue-100183.stderr (renamed from src/test/ui/typeof/issue-100183.stderr)0
-rw-r--r--tests/ui/typeof/issue-29184.rs (renamed from src/test/ui/typeof/issue-29184.rs)0
-rw-r--r--tests/ui/typeof/issue-29184.stderr (renamed from src/test/ui/typeof/issue-29184.stderr)0
-rw-r--r--tests/ui/typeof/issue-42060.rs (renamed from src/test/ui/typeof/issue-42060.rs)0
-rw-r--r--tests/ui/typeof/issue-42060.stderr (renamed from src/test/ui/typeof/issue-42060.stderr)0
-rw-r--r--tests/ui/typeof/type_mismatch.rs (renamed from src/test/ui/typeof/type_mismatch.rs)0
-rw-r--r--tests/ui/typeof/type_mismatch.stderr (renamed from src/test/ui/typeof/type_mismatch.stderr)0
-rw-r--r--tests/ui/typestate-multi-decl.rs (renamed from src/test/ui/typestate-multi-decl.rs)0
759 files changed, 1567 insertions, 82 deletions
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs b/tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs
index 0aa644db0..0aa644db0 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs
+++ b/tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.rs
index 0031a4665..0031a4665 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs
+++ b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.rs
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
index a922d7a5e..a922d7a5e 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
+++ b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs
index 3a8712f2a..3a8712f2a 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs
+++ b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
index eb58ee73c..eb58ee73c 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
+++ b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs b/tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs
index acbf15dcb..acbf15dcb 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs
+++ b/tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr b/tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr
index 0202a2fea..0202a2fea 100644
--- a/src/test/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr
+++ b/tests/ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.stderr
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs
index ab40bf580..ab40bf580 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs
+++ b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
index 6870b9d7d..6870b9d7d 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
+++ b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
index 5ed7988e4..5ed7988e4 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
+++ b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
index c9ac99ede..c9ac99ede 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
+++ b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
diff --git a/src/test/ui/type-alias-enum-variants/issue-57866.rs b/tests/ui/type-alias-enum-variants/issue-57866.rs
index 5e105b20a..5e105b20a 100644
--- a/src/test/ui/type-alias-enum-variants/issue-57866.rs
+++ b/tests/ui/type-alias-enum-variants/issue-57866.rs
diff --git a/src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs b/tests/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs
index 9c9eaab8d..9c9eaab8d 100644
--- a/src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs
+++ b/tests/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs
diff --git a/src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs b/tests/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs
index 66fb8dd0d..66fb8dd0d 100644
--- a/src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs
+++ b/tests/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs
diff --git a/src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs b/tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs
index 872ece0c0..872ece0c0 100644
--- a/src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs
+++ b/tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs
diff --git a/src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr b/tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr
index 51b1c8a10..51b1c8a10 100644
--- a/src/test/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr
+++ b/tests/ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.stderr
diff --git a/src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs b/tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs
index 11f4b05d0..11f4b05d0 100644
--- a/src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs
+++ b/tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs
diff --git a/src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr b/tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr
index f190bfb69..f190bfb69 100644
--- a/src/test/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr
+++ b/tests/ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.stderr
diff --git a/src/test/ui/type-alias-enum-variants/self-in-enum-definition.rs b/tests/ui/type-alias-enum-variants/self-in-enum-definition.rs
index 8dadd77fc..8dadd77fc 100644
--- a/src/test/ui/type-alias-enum-variants/self-in-enum-definition.rs
+++ b/tests/ui/type-alias-enum-variants/self-in-enum-definition.rs
diff --git a/src/test/ui/type-alias-enum-variants/self-in-enum-definition.stderr b/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr
index 576fc6a4f..576fc6a4f 100644
--- a/src/test/ui/type-alias-enum-variants/self-in-enum-definition.stderr
+++ b/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr
diff --git a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs b/tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs
index 39677733d..39677733d 100644
--- a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs
+++ b/tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs
diff --git a/src/test/ui/type-alias-impl-trait/argument-types.rs b/tests/ui/type-alias-impl-trait/argument-types.rs
index 185207b98..185207b98 100644
--- a/src/test/ui/type-alias-impl-trait/argument-types.rs
+++ b/tests/ui/type-alias-impl-trait/argument-types.rs
diff --git a/src/test/ui/type-alias-impl-trait/assoc-projection-ice.rs b/tests/ui/type-alias-impl-trait/assoc-projection-ice.rs
index 703e3e869..703e3e869 100644
--- a/src/test/ui/type-alias-impl-trait/assoc-projection-ice.rs
+++ b/tests/ui/type-alias-impl-trait/assoc-projection-ice.rs
diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-const.rs b/tests/ui/type-alias-impl-trait/assoc-type-const.rs
index 0ade36daf..0ade36daf 100644
--- a/src/test/ui/type-alias-impl-trait/assoc-type-const.rs
+++ b/tests/ui/type-alias-impl-trait/assoc-type-const.rs
diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs b/tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs
index 3f34b00ec..3f34b00ec 100644
--- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs
+++ b/tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs
diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr b/tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr
index e594dc577..e594dc577 100644
--- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr
+++ b/tests/ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.stderr
diff --git a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs b/tests/ui/type-alias-impl-trait/assoc-type-lifetime.rs
index 39f785d8c..39f785d8c 100644
--- a/src/test/ui/type-alias-impl-trait/assoc-type-lifetime.rs
+++ b/tests/ui/type-alias-impl-trait/assoc-type-lifetime.rs
diff --git a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs b/tests/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs
index 42f07d49f..42f07d49f 100644
--- a/src/test/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs
+++ b/tests/ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs
diff --git a/tests/ui/type-alias-impl-trait/associated-type-impl-trait-lifetime.rs b/tests/ui/type-alias-impl-trait/associated-type-impl-trait-lifetime.rs
new file mode 100644
index 000000000..962606508
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/associated-type-impl-trait-lifetime.rs
@@ -0,0 +1,20 @@
+//check-pass
+
+#![feature(type_alias_impl_trait)]
+
+trait Trait {
+ type Opaque1;
+ type Opaque2;
+ fn constrain(self);
+}
+
+impl<'a> Trait for &'a () {
+ type Opaque1 = impl Sized;
+ type Opaque2 = impl Sized + 'a;
+ fn constrain(self) {
+ let _: Self::Opaque1 = ();
+ let _: Self::Opaque2 = self;
+ }
+}
+
+fn main() {}
diff --git a/src/test/ui/type-alias-impl-trait/auto-trait-leakage.rs b/tests/ui/type-alias-impl-trait/auto-trait-leakage.rs
index a1584581e..a1584581e 100644
--- a/src/test/ui/type-alias-impl-trait/auto-trait-leakage.rs
+++ b/tests/ui/type-alias-impl-trait/auto-trait-leakage.rs
diff --git a/src/test/ui/type-alias-impl-trait/auto-trait-leakage2.rs b/tests/ui/type-alias-impl-trait/auto-trait-leakage2.rs
index fc89b0e87..fc89b0e87 100644
--- a/src/test/ui/type-alias-impl-trait/auto-trait-leakage2.rs
+++ b/tests/ui/type-alias-impl-trait/auto-trait-leakage2.rs
diff --git a/src/test/ui/type-alias-impl-trait/auto-trait-leakage2.stderr b/tests/ui/type-alias-impl-trait/auto-trait-leakage2.stderr
index d7247302d..d7247302d 100644
--- a/src/test/ui/type-alias-impl-trait/auto-trait-leakage2.stderr
+++ b/tests/ui/type-alias-impl-trait/auto-trait-leakage2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/auto-trait-leakage3.rs b/tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs
index 5fb7a9473..5fb7a9473 100644
--- a/src/test/ui/type-alias-impl-trait/auto-trait-leakage3.rs
+++ b/tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs
diff --git a/src/test/ui/type-alias-impl-trait/auto-trait-leakage3.stderr b/tests/ui/type-alias-impl-trait/auto-trait-leakage3.stderr
index 1e9a45aac..1e9a45aac 100644
--- a/src/test/ui/type-alias-impl-trait/auto-trait-leakage3.stderr
+++ b/tests/ui/type-alias-impl-trait/auto-trait-leakage3.stderr
diff --git a/tests/ui/type-alias-impl-trait/auxiliary/coherence_cross_crate_trait_decl.rs b/tests/ui/type-alias-impl-trait/auxiliary/coherence_cross_crate_trait_decl.rs
new file mode 100644
index 000000000..712ed5543
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/auxiliary/coherence_cross_crate_trait_decl.rs
@@ -0,0 +1,9 @@
+pub trait SomeTrait {}
+
+impl SomeTrait for () {}
+
+// Adding this `impl` would cause errors in this crate's dependent,
+// so it would be a breaking change. We explicitly don't add this impl,
+// as the dependent crate already assumes this impl exists and thus already
+// does not compile.
+//impl SomeTrait for i32 {}
diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs b/tests/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs
index 75d20a6fe..75d20a6fe 100644
--- a/src/test/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs
+++ b/tests/ui/type-alias-impl-trait/auxiliary/collect_hidden_types.rs
diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs b/tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs
index e7bca2231..e7bca2231 100644
--- a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs
+++ b/tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice.rs
diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs b/tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs
index 119f7df1f..119f7df1f 100644
--- a/src/test/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs
+++ b/tests/ui/type-alias-impl-trait/auxiliary/cross_crate_ice2.rs
diff --git a/src/test/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs b/tests/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs
index 52802dd8f..52802dd8f 100644
--- a/src/test/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs
+++ b/tests/ui/type-alias-impl-trait/auxiliary/foreign-crate.rs
diff --git a/src/test/ui/type-alias-impl-trait/bound_reduction.rs b/tests/ui/type-alias-impl-trait/bound_reduction.rs
index b9b50f0b7..b9b50f0b7 100644
--- a/src/test/ui/type-alias-impl-trait/bound_reduction.rs
+++ b/tests/ui/type-alias-impl-trait/bound_reduction.rs
diff --git a/tests/ui/type-alias-impl-trait/bound_reduction2.rs b/tests/ui/type-alias-impl-trait/bound_reduction2.rs
new file mode 100644
index 000000000..0bcc9e002
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/bound_reduction2.rs
@@ -0,0 +1,18 @@
+#![feature(type_alias_impl_trait)]
+
+fn main() {}
+
+trait TraitWithAssoc {
+ type Assoc;
+}
+
+type Foo<V> = impl Trait<V>;
+
+trait Trait<U> {}
+
+impl<W> Trait<W> for () {}
+
+fn foo_desugared<T: TraitWithAssoc>(_: T) -> Foo<T::Assoc> {
+ ()
+ //~^ ERROR expected generic type parameter, found `<T as TraitWithAssoc>::Assoc`
+}
diff --git a/tests/ui/type-alias-impl-trait/bound_reduction2.stderr b/tests/ui/type-alias-impl-trait/bound_reduction2.stderr
new file mode 100644
index 000000000..3c259bd9e
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/bound_reduction2.stderr
@@ -0,0 +1,12 @@
+error[E0792]: expected generic type parameter, found `<T as TraitWithAssoc>::Assoc`
+ --> $DIR/bound_reduction2.rs:16:5
+ |
+LL | type Foo<V> = impl Trait<V>;
+ | - this generic parameter must be used with a generic type parameter
+...
+LL | ()
+ | ^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0792`.
diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs b/tests/ui/type-alias-impl-trait/bounds-are-checked-2.rs
index 55b4dc8dc..55b4dc8dc 100644
--- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.rs
+++ b/tests/ui/type-alias-impl-trait/bounds-are-checked-2.rs
diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr b/tests/ui/type-alias-impl-trait/bounds-are-checked-2.stderr
index 8678e9b33..8678e9b33 100644
--- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.stderr
+++ b/tests/ui/type-alias-impl-trait/bounds-are-checked-2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs b/tests/ui/type-alias-impl-trait/bounds-are-checked.rs
index 83d22161e..83d22161e 100644
--- a/src/test/ui/type-alias-impl-trait/bounds-are-checked.rs
+++ b/tests/ui/type-alias-impl-trait/bounds-are-checked.rs
diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr b/tests/ui/type-alias-impl-trait/bounds-are-checked.stderr
index 920eef11d..920eef11d 100644
--- a/src/test/ui/type-alias-impl-trait/bounds-are-checked.stderr
+++ b/tests/ui/type-alias-impl-trait/bounds-are-checked.stderr
diff --git a/src/test/ui/type-alias-impl-trait/closure_args.rs b/tests/ui/type-alias-impl-trait/closure_args.rs
index c5e7af81d..c5e7af81d 100644
--- a/src/test/ui/type-alias-impl-trait/closure_args.rs
+++ b/tests/ui/type-alias-impl-trait/closure_args.rs
diff --git a/src/test/ui/type-alias-impl-trait/closure_args2.rs b/tests/ui/type-alias-impl-trait/closure_args2.rs
index 82386c280..82386c280 100644
--- a/src/test/ui/type-alias-impl-trait/closure_args2.rs
+++ b/tests/ui/type-alias-impl-trait/closure_args2.rs
diff --git a/src/test/ui/type-alias-impl-trait/closure_parent_substs.rs b/tests/ui/type-alias-impl-trait/closure_parent_substs.rs
index 475f4724f..475f4724f 100644
--- a/src/test/ui/type-alias-impl-trait/closure_parent_substs.rs
+++ b/tests/ui/type-alias-impl-trait/closure_parent_substs.rs
diff --git a/src/test/ui/type-alias-impl-trait/closure_wf_outlives.rs b/tests/ui/type-alias-impl-trait/closure_wf_outlives.rs
index 53974dbb3..53974dbb3 100644
--- a/src/test/ui/type-alias-impl-trait/closure_wf_outlives.rs
+++ b/tests/ui/type-alias-impl-trait/closure_wf_outlives.rs
diff --git a/src/test/ui/type-alias-impl-trait/closure_wf_outlives.stderr b/tests/ui/type-alias-impl-trait/closure_wf_outlives.stderr
index ae6462bb6..ae6462bb6 100644
--- a/src/test/ui/type-alias-impl-trait/closure_wf_outlives.stderr
+++ b/tests/ui/type-alias-impl-trait/closure_wf_outlives.stderr
diff --git a/src/test/ui/type-alias-impl-trait/closures_in_branches.rs b/tests/ui/type-alias-impl-trait/closures_in_branches.rs
index 7bb490bbe..7bb490bbe 100644
--- a/src/test/ui/type-alias-impl-trait/closures_in_branches.rs
+++ b/tests/ui/type-alias-impl-trait/closures_in_branches.rs
diff --git a/src/test/ui/type-alias-impl-trait/closures_in_branches.stderr b/tests/ui/type-alias-impl-trait/closures_in_branches.stderr
index 48b7946ea..9cc15f14a 100644
--- a/src/test/ui/type-alias-impl-trait/closures_in_branches.stderr
+++ b/tests/ui/type-alias-impl-trait/closures_in_branches.stderr
@@ -6,8 +6,8 @@ LL | |x| x.len()
|
help: consider giving this closure parameter an explicit type
|
-LL | |x: _| x.len()
- | +++
+LL | |x: /* Type */| x.len()
+ | ++++++++++++
error[E0282]: type annotations needed
--> $DIR/closures_in_branches.rs:21:10
@@ -17,8 +17,8 @@ LL | |x| x.len()
|
help: consider giving this closure parameter an explicit type
|
-LL | |x: _| x.len()
- | +++
+LL | |x: /* Type */| x.len()
+ | ++++++++++++
error: aborting due to 2 previous errors
diff --git a/src/test/ui/type-alias-impl-trait/coherence.rs b/tests/ui/type-alias-impl-trait/coherence.rs
index 077a31494..077a31494 100644
--- a/src/test/ui/type-alias-impl-trait/coherence.rs
+++ b/tests/ui/type-alias-impl-trait/coherence.rs
diff --git a/src/test/ui/type-alias-impl-trait/coherence.stderr b/tests/ui/type-alias-impl-trait/coherence.stderr
index c923eb08a..00b0dbbb5 100644
--- a/src/test/ui/type-alias-impl-trait/coherence.stderr
+++ b/tests/ui/type-alias-impl-trait/coherence.stderr
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
LL | impl<T> foreign_crate::ForeignTrait for AliasOfForeignType<T> {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------
| | |
- | | `AliasOfForeignType<T>` is not defined in the current crate
+ | | type alias impl trait is treated as if it were foreign, because its hidden type could be from a foreign crate
| impl doesn't use only types from inside the current crate
|
= note: define and implement a trait or new type instead
diff --git a/tests/ui/type-alias-impl-trait/coherence_cross_crate.rs b/tests/ui/type-alias-impl-trait/coherence_cross_crate.rs
new file mode 100644
index 000000000..a63e0a1ee
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/coherence_cross_crate.rs
@@ -0,0 +1,24 @@
+// aux-build: coherence_cross_crate_trait_decl.rs
+// This test ensures that adding an `impl SomeTrait for i32` within
+// `coherence_cross_crate_trait_decl` is not a breaking change, by
+// making sure that even without such an impl this test fails to compile.
+
+#![feature(type_alias_impl_trait)]
+
+extern crate coherence_cross_crate_trait_decl;
+
+use coherence_cross_crate_trait_decl::SomeTrait;
+
+trait OtherTrait {}
+
+type Alias = impl SomeTrait;
+
+fn constrain() -> Alias {
+ ()
+}
+
+impl OtherTrait for Alias {}
+impl OtherTrait for i32 {}
+//~^ ERROR: conflicting implementations of trait `OtherTrait` for type `Alias`
+
+fn main() {}
diff --git a/tests/ui/type-alias-impl-trait/coherence_cross_crate.stderr b/tests/ui/type-alias-impl-trait/coherence_cross_crate.stderr
new file mode 100644
index 000000000..63a3ce29c
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/coherence_cross_crate.stderr
@@ -0,0 +1,13 @@
+error[E0119]: conflicting implementations of trait `OtherTrait` for type `Alias`
+ --> $DIR/coherence_cross_crate.rs:21:1
+ |
+LL | impl OtherTrait for Alias {}
+ | ------------------------- first implementation here
+LL | impl OtherTrait for i32 {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Alias`
+ |
+ = note: upstream crates may add a new impl of trait `coherence_cross_crate_trait_decl::SomeTrait` for type `i32` in future versions
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0119`.
diff --git a/src/test/ui/type-alias-impl-trait/coherence_generalization.rs b/tests/ui/type-alias-impl-trait/coherence_generalization.rs
index 5c9ad9498..5c9ad9498 100644
--- a/src/test/ui/type-alias-impl-trait/coherence_generalization.rs
+++ b/tests/ui/type-alias-impl-trait/coherence_generalization.rs
diff --git a/src/test/ui/type-alias-impl-trait/collect_hidden_types.rs b/tests/ui/type-alias-impl-trait/collect_hidden_types.rs
index e78f178e4..e78f178e4 100644
--- a/src/test/ui/type-alias-impl-trait/collect_hidden_types.rs
+++ b/tests/ui/type-alias-impl-trait/collect_hidden_types.rs
diff --git a/src/test/ui/type-alias-impl-trait/constrain_inputs.rs b/tests/ui/type-alias-impl-trait/constrain_inputs.rs
index 03fb64b7b..03fb64b7b 100644
--- a/src/test/ui/type-alias-impl-trait/constrain_inputs.rs
+++ b/tests/ui/type-alias-impl-trait/constrain_inputs.rs
diff --git a/src/test/ui/type-alias-impl-trait/constrain_inputs.stderr b/tests/ui/type-alias-impl-trait/constrain_inputs.stderr
index 93953fd06..93953fd06 100644
--- a/src/test/ui/type-alias-impl-trait/constrain_inputs.stderr
+++ b/tests/ui/type-alias-impl-trait/constrain_inputs.stderr
diff --git a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs b/tests/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
index 3bae0f173..3bae0f173 100644
--- a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
+++ b/tests/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
diff --git a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr b/tests/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr
index d5fc46cb1..d5fc46cb1 100644
--- a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr
+++ b/tests/ui/type-alias-impl-trait/constrain_inputs_unsound.stderr
diff --git a/src/test/ui/type-alias-impl-trait/cross_crate_ice.rs b/tests/ui/type-alias-impl-trait/cross_crate_ice.rs
index c30608176..c30608176 100644
--- a/src/test/ui/type-alias-impl-trait/cross_crate_ice.rs
+++ b/tests/ui/type-alias-impl-trait/cross_crate_ice.rs
diff --git a/src/test/ui/type-alias-impl-trait/cross_crate_ice2.rs b/tests/ui/type-alias-impl-trait/cross_crate_ice2.rs
index 3a7e49026..3a7e49026 100644
--- a/src/test/ui/type-alias-impl-trait/cross_crate_ice2.rs
+++ b/tests/ui/type-alias-impl-trait/cross_crate_ice2.rs
diff --git a/src/test/ui/type-alias-impl-trait/cross_inference.rs b/tests/ui/type-alias-impl-trait/cross_inference.rs
index dafaf40a6..dafaf40a6 100644
--- a/src/test/ui/type-alias-impl-trait/cross_inference.rs
+++ b/tests/ui/type-alias-impl-trait/cross_inference.rs
diff --git a/src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs b/tests/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs
index 9a50c0f98..9a50c0f98 100644
--- a/src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs
+++ b/tests/ui/type-alias-impl-trait/cross_inference_pattern_bug.rs
diff --git a/src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs b/tests/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs
index b929122a6..b929122a6 100644
--- a/src/test/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs
+++ b/tests/ui/type-alias-impl-trait/cross_inference_pattern_bug_no_type.rs
diff --git a/src/test/ui/type-alias-impl-trait/cross_inference_rpit.rs b/tests/ui/type-alias-impl-trait/cross_inference_rpit.rs
index f6affbf17..f6affbf17 100644
--- a/src/test/ui/type-alias-impl-trait/cross_inference_rpit.rs
+++ b/tests/ui/type-alias-impl-trait/cross_inference_rpit.rs
diff --git a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs b/tests/ui/type-alias-impl-trait/declared_but_never_defined.rs
index 6febd0715..6febd0715 100644
--- a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.rs
+++ b/tests/ui/type-alias-impl-trait/declared_but_never_defined.rs
diff --git a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr b/tests/ui/type-alias-impl-trait/declared_but_never_defined.stderr
index 60bc24320..60bc24320 100644
--- a/src/test/ui/type-alias-impl-trait/declared_but_never_defined.stderr
+++ b/tests/ui/type-alias-impl-trait/declared_but_never_defined.stderr
diff --git a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs b/tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs
index 5bda5f0fc..5bda5f0fc 100644
--- a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs
+++ b/tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs
diff --git a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr b/tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr
index fbfa0ccf1..fbfa0ccf1 100644
--- a/src/test/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr
+++ b/tests/ui/type-alias-impl-trait/declared_but_not_defined_in_scope.stderr
diff --git a/src/test/ui/type-alias-impl-trait/defining-use-submodule.rs b/tests/ui/type-alias-impl-trait/defining-use-submodule.rs
index 8b51f5571..8b51f5571 100644
--- a/src/test/ui/type-alias-impl-trait/defining-use-submodule.rs
+++ b/tests/ui/type-alias-impl-trait/defining-use-submodule.rs
diff --git a/tests/ui/type-alias-impl-trait/destructuring.rs b/tests/ui/type-alias-impl-trait/destructuring.rs
new file mode 100644
index 000000000..b752e5838
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/destructuring.rs
@@ -0,0 +1,10 @@
+#![feature(type_alias_impl_trait)]
+
+// check-pass
+
+// issue: https://github.com/rust-lang/rust/issues/104551
+
+fn main() {
+ type T = impl Sized;
+ let (_a, _b): T = (1u32, 2u32);
+}
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses.rs b/tests/ui/type-alias-impl-trait/different_defining_uses.rs
index 4505c4d95..4505c4d95 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses.rs
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses.rs
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses.stderr b/tests/ui/type-alias-impl-trait/different_defining_uses.stderr
index a8b4cd7af..a8b4cd7af 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses.stderr
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses.stderr
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type.rs
index 0b8157fe3..0b8157fe3 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.rs
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type.rs
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr
index 09dadb0af..09dadb0af 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type.stderr
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs
index 8549687ea..8549687ea 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type2.rs
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs
index bc827a8f2..bc827a8f2 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr
index 146a57cbb..146a57cbb 100644
--- a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr
+++ b/tests/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr
diff --git a/src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs b/tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs
index 5f75fdc71..5f75fdc71 100644
--- a/src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs
+++ b/tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.rs
diff --git a/src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr b/tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr
index 546598e8a..546598e8a 100644
--- a/src/test/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr
+++ b/tests/ui/type-alias-impl-trait/different_lifetimes_defining_uses.stderr
diff --git a/src/test/ui/type-alias-impl-trait/fallback.rs b/tests/ui/type-alias-impl-trait/fallback.rs
index d8cf7d71f..d8cf7d71f 100644
--- a/src/test/ui/type-alias-impl-trait/fallback.rs
+++ b/tests/ui/type-alias-impl-trait/fallback.rs
diff --git a/src/test/ui/type-alias-impl-trait/fallback.stderr b/tests/ui/type-alias-impl-trait/fallback.stderr
index e767bfdb0..e767bfdb0 100644
--- a/src/test/ui/type-alias-impl-trait/fallback.stderr
+++ b/tests/ui/type-alias-impl-trait/fallback.stderr
diff --git a/src/test/ui/type-alias-impl-trait/field-types.rs b/tests/ui/type-alias-impl-trait/field-types.rs
index d99ed5812..d99ed5812 100644
--- a/src/test/ui/type-alias-impl-trait/field-types.rs
+++ b/tests/ui/type-alias-impl-trait/field-types.rs
diff --git a/src/test/ui/type-alias-impl-trait/future.rs b/tests/ui/type-alias-impl-trait/future.rs
index 56323216e..56323216e 100644
--- a/src/test/ui/type-alias-impl-trait/future.rs
+++ b/tests/ui/type-alias-impl-trait/future.rs
diff --git a/src/test/ui/type-alias-impl-trait/future.stderr b/tests/ui/type-alias-impl-trait/future.stderr
index 7e76c120a..7e76c120a 100644
--- a/src/test/ui/type-alias-impl-trait/future.stderr
+++ b/tests/ui/type-alias-impl-trait/future.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs b/tests/ui/type-alias-impl-trait/generic_different_defining_uses.rs
index 8b683ad28..8b683ad28 100644
--- a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.rs
+++ b/tests/ui/type-alias-impl-trait/generic_different_defining_uses.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr b/tests/ui/type-alias-impl-trait/generic_different_defining_uses.stderr
index 47ac33462..47ac33462 100644
--- a/src/test/ui/type-alias-impl-trait/generic_different_defining_uses.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_different_defining_uses.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs
index 9d938a616..9d938a616 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr
index 72e1ef4b4..72e1ef4b4 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_lifetime_param.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use.rs
index 80462f8ac..80462f8ac 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr
index 98e4bfea1..98e4bfea1 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs
index c17d595db..c17d595db 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use10.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs
index 201535efe..201535efe 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr
index 3dbfff745..3dbfff745 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs
index e7a25fc72..e7a25fc72 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr
index 7bec38220..7bec38220 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use3.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs
index d1e5a0f01..d1e5a0f01 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr
index 21a5369d9..21a5369d9 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use4.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs
index 3bd1dda63..3bd1dda63 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr
index 586ea8234..586ea8234 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use5.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs
index 5120925e5..5120925e5 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr
index cb162d382..cb162d382 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use6.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs
index feebf81ee..feebf81ee 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use7.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs
index 3a4b5047b..3a4b5047b 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr
index 14cbfb380..14cbfb380 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use8.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs
index 6afcdfe4d..6afcdfe4d 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr
index 722693e42..722693e42 100644
--- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_duplicate_param_use9.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs b/tests/ui/type-alias-impl-trait/generic_lifetime_param.rs
index 106efefba..106efefba 100644
--- a/src/test/ui/type-alias-impl-trait/generic_lifetime_param.rs
+++ b/tests/ui/type-alias-impl-trait/generic_lifetime_param.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs b/tests/ui/type-alias-impl-trait/generic_nondefining_use.rs
index f39741a6a..f5045d382 100644
--- a/src/test/ui/type-alias-impl-trait/generic_nondefining_use.rs
+++ b/tests/ui/type-alias-impl-trait/generic_nondefining_use.rs
@@ -10,12 +10,11 @@ type OneLifetime<'a> = impl Debug;
type OneConst<const X: usize> = impl Debug;
-
// Not defining uses, because they doesn't define *all* possible generics.
fn concrete_ty() -> OneTy<u32> {
5u32
- //~^ ERROR non-defining opaque type use in defining scope
+ //~^ ERROR expected generic type parameter, found `u32`
}
fn concrete_lifetime() -> OneLifetime<'static> {
@@ -25,5 +24,5 @@ fn concrete_lifetime() -> OneLifetime<'static> {
fn concrete_const() -> OneConst<{ 123 }> {
7u32
- //~^ ERROR non-defining opaque type use in defining scope
+ //~^ ERROR expected generic constant parameter, found `123`
}
diff --git a/tests/ui/type-alias-impl-trait/generic_nondefining_use.stderr b/tests/ui/type-alias-impl-trait/generic_nondefining_use.stderr
new file mode 100644
index 000000000..564648630
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/generic_nondefining_use.stderr
@@ -0,0 +1,30 @@
+error[E0792]: expected generic type parameter, found `u32`
+ --> $DIR/generic_nondefining_use.rs:16:5
+ |
+LL | type OneTy<T> = impl Debug;
+ | - this generic parameter must be used with a generic type parameter
+...
+LL | 5u32
+ | ^^^^
+
+error: non-defining opaque type use in defining scope
+ --> $DIR/generic_nondefining_use.rs:21:5
+ |
+LL | type OneLifetime<'a> = impl Debug;
+ | -- cannot use static lifetime; use a bound lifetime instead or remove the lifetime parameter from the opaque type
+...
+LL | 6u32
+ | ^^^^
+
+error[E0792]: expected generic constant parameter, found `123`
+ --> $DIR/generic_nondefining_use.rs:26:5
+ |
+LL | type OneConst<const X: usize> = impl Debug;
+ | -------------- this generic parameter must be used with a generic constant parameter
+...
+LL | 7u32
+ | ^^^^
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0792`.
diff --git a/src/test/ui/type-alias-impl-trait/generic_not_used.rs b/tests/ui/type-alias-impl-trait/generic_not_used.rs
index c70f473cf..c70f473cf 100644
--- a/src/test/ui/type-alias-impl-trait/generic_not_used.rs
+++ b/tests/ui/type-alias-impl-trait/generic_not_used.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_not_used.stderr b/tests/ui/type-alias-impl-trait/generic_not_used.stderr
index fd720239a..fd720239a 100644
--- a/src/test/ui/type-alias-impl-trait/generic_not_used.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_not_used.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs b/tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs
index cb9077647..d3e169a70 100644
--- a/src/test/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs
+++ b/tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs
@@ -4,7 +4,7 @@ fn main() {
let y = 42;
let x = wrong_generic(&y);
let z: i32 = x;
- //~^ ERROR non-defining opaque type use
+ //~^ ERROR expected generic type parameter, found `&'static i32
}
type WrongGeneric<T> = impl 'static;
diff --git a/tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr b/tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr
new file mode 100644
index 000000000..19115fd28
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.stderr
@@ -0,0 +1,30 @@
+error: at least one trait must be specified
+ --> $DIR/generic_type_does_not_live_long_enough.rs:10:24
+ |
+LL | type WrongGeneric<T> = impl 'static;
+ | ^^^^^^^^^^^^
+
+error[E0792]: expected generic type parameter, found `&'static i32`
+ --> $DIR/generic_type_does_not_live_long_enough.rs:6:18
+ |
+LL | let z: i32 = x;
+ | ^
+...
+LL | type WrongGeneric<T> = impl 'static;
+ | - this generic parameter must be used with a generic type parameter
+
+error[E0310]: the parameter type `T` may not live long enough
+ --> $DIR/generic_type_does_not_live_long_enough.rs:14:5
+ |
+LL | t
+ | ^ ...so that the type `T` will meet its required lifetime bounds
+ |
+help: consider adding an explicit lifetime bound...
+ |
+LL | fn wrong_generic<T: 'static>(t: T) -> WrongGeneric<T> {
+ | +++++++++
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0310, E0792.
+For more information about an error, try `rustc --explain E0310`.
diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs b/tests/ui/type-alias-impl-trait/generic_underconstrained.rs
index d87a25aad..d87a25aad 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.rs
+++ b/tests/ui/type-alias-impl-trait/generic_underconstrained.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr b/tests/ui/type-alias-impl-trait/generic_underconstrained.stderr
index c73288329..c73288329 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_underconstrained.stderr
diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs b/tests/ui/type-alias-impl-trait/generic_underconstrained2.rs
index 8adc0bf32..8adc0bf32 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.rs
+++ b/tests/ui/type-alias-impl-trait/generic_underconstrained2.rs
diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr b/tests/ui/type-alias-impl-trait/generic_underconstrained2.stderr
index d77d978aa..d77d978aa 100644
--- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.stderr
+++ b/tests/ui/type-alias-impl-trait/generic_underconstrained2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs b/tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs
index 851c2f66c..851c2f66c 100644
--- a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs
+++ b/tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr b/tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr
index 8cf8fb1d1..8cf8fb1d1 100644
--- a/src/test/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr
+++ b/tests/ui/type-alias-impl-trait/impl-with-unconstrained-param.stderr
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs b/tests/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs
index 0efbd1c2b..0efbd1c2b 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_generic_tait.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs b/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs
index 3f1a9d12b..3f1a9d12b 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr b/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr
index aaf75cc3d..aaf75cc3d 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.stderr
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait.rs b/tests/ui/type-alias-impl-trait/impl_trait_for_tait.rs
index 9f32c5d88..9f32c5d88 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait.rs
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_tait.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs
index 8ec20acef..8ec20acef 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr
index 1c83105a1..1c83105a1 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound.stderr
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs
index a4b8c2d19..a4b8c2d19 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.rs
diff --git a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr
index a6440f02c..a6440f02c 100644
--- a/src/test/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr
+++ b/tests/ui/type-alias-impl-trait/impl_trait_for_tait_bound2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds.rs b/tests/ui/type-alias-impl-trait/implied_bounds.rs
index 53cbf8d22..53cbf8d22 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds.rs
+++ b/tests/ui/type-alias-impl-trait/implied_bounds.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds.stderr b/tests/ui/type-alias-impl-trait/implied_bounds.stderr
index 6f11b6663..6f11b6663 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds.stderr
+++ b/tests/ui/type-alias-impl-trait/implied_bounds.stderr
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds2.rs b/tests/ui/type-alias-impl-trait/implied_bounds2.rs
index b4c4c013c..b4c4c013c 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds2.rs
+++ b/tests/ui/type-alias-impl-trait/implied_bounds2.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds3.rs b/tests/ui/type-alias-impl-trait/implied_bounds3.rs
index e39c61328..e39c61328 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds3.rs
+++ b/tests/ui/type-alias-impl-trait/implied_bounds3.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds_closure.rs b/tests/ui/type-alias-impl-trait/implied_bounds_closure.rs
index 4cf35f951..4cf35f951 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds_closure.rs
+++ b/tests/ui/type-alias-impl-trait/implied_bounds_closure.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds_closure.stderr b/tests/ui/type-alias-impl-trait/implied_bounds_closure.stderr
index 151564c3b..151564c3b 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds_closure.stderr
+++ b/tests/ui/type-alias-impl-trait/implied_bounds_closure.stderr
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds_from_types.rs b/tests/ui/type-alias-impl-trait/implied_bounds_from_types.rs
index 8023cd24f..8023cd24f 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds_from_types.rs
+++ b/tests/ui/type-alias-impl-trait/implied_bounds_from_types.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_bounds_from_types.stderr b/tests/ui/type-alias-impl-trait/implied_bounds_from_types.stderr
index cbc5e6073..cbc5e6073 100644
--- a/src/test/ui/type-alias-impl-trait/implied_bounds_from_types.stderr
+++ b/tests/ui/type-alias-impl-trait/implied_bounds_from_types.stderr
diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs
index b6a7264a5..b6a7264a5 100644
--- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs
+++ b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs
index 07f825aea..07f825aea 100644
--- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs
+++ b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr
index 887620a4d..887620a4d 100644
--- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr
+++ b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.stderr
diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs
index ac32dbde0..ac32dbde0 100644
--- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs
+++ b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs
diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr
index 47bc31e78..47bc31e78 100644
--- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr
+++ b/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.stderr
diff --git a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs
index ee9bce15d..ee9bce15d 100644
--- a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs
+++ b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds.rs
diff --git a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs
index ae21a9134..ae21a9134 100644
--- a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs
+++ b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.rs
diff --git a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr
index 0ed8a703b..0ed8a703b 100644
--- a/src/test/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr
+++ b/tests/ui/type-alias-impl-trait/imply_bounds_from_bounds_param.stderr
diff --git a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs b/tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs
index 685d76ee3..685d76ee3 100644
--- a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs
+++ b/tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs
diff --git a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr b/tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr
index b93ea955c..b93ea955c 100644
--- a/src/test/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr
+++ b/tests/ui/type-alias-impl-trait/incoherent-assoc-imp-trait.stderr
diff --git a/src/test/ui/type-alias-impl-trait/incomplete-inference.rs b/tests/ui/type-alias-impl-trait/incomplete-inference.rs
index 4c8bf2cfc..4c8bf2cfc 100644
--- a/src/test/ui/type-alias-impl-trait/incomplete-inference.rs
+++ b/tests/ui/type-alias-impl-trait/incomplete-inference.rs
diff --git a/src/test/ui/type-alias-impl-trait/incomplete-inference.stderr b/tests/ui/type-alias-impl-trait/incomplete-inference.stderr
index 9a0e71b4e..9a0e71b4e 100644
--- a/src/test/ui/type-alias-impl-trait/incomplete-inference.stderr
+++ b/tests/ui/type-alias-impl-trait/incomplete-inference.stderr
diff --git a/src/test/ui/type-alias-impl-trait/inference-cycle.rs b/tests/ui/type-alias-impl-trait/inference-cycle.rs
index 79caddf79..79caddf79 100644
--- a/src/test/ui/type-alias-impl-trait/inference-cycle.rs
+++ b/tests/ui/type-alias-impl-trait/inference-cycle.rs
diff --git a/src/test/ui/type-alias-impl-trait/inference-cycle.stderr b/tests/ui/type-alias-impl-trait/inference-cycle.stderr
index b9d646b92..b9d646b92 100644
--- a/src/test/ui/type-alias-impl-trait/inference-cycle.stderr
+++ b/tests/ui/type-alias-impl-trait/inference-cycle.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-101750.rs b/tests/ui/type-alias-impl-trait/issue-101750.rs
index f564f4fa7..f564f4fa7 100644
--- a/src/test/ui/type-alias-impl-trait/issue-101750.rs
+++ b/tests/ui/type-alias-impl-trait/issue-101750.rs
diff --git a/tests/ui/type-alias-impl-trait/issue-104817.rs b/tests/ui/type-alias-impl-trait/issue-104817.rs
new file mode 100644
index 000000000..0d3bace4d
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-104817.rs
@@ -0,0 +1,19 @@
+#![feature(type_alias_impl_trait)]
+#![cfg_attr(specialized, feature(specialization))]
+#![allow(incomplete_features)]
+
+// revisions: stock specialized
+// [specialized]check-pass
+
+trait OpaqueTrait {}
+impl<T> OpaqueTrait for T {}
+type OpaqueType = impl OpaqueTrait;
+fn mk_opaque() -> OpaqueType {
+ || 0
+}
+trait AnotherTrait {}
+impl<T: Send> AnotherTrait for T {}
+impl AnotherTrait for OpaqueType {}
+//[stock]~^ conflicting implementations of trait `AnotherTrait` for type `OpaqueType`
+
+fn main() {}
diff --git a/tests/ui/type-alias-impl-trait/issue-104817.stock.stderr b/tests/ui/type-alias-impl-trait/issue-104817.stock.stderr
new file mode 100644
index 000000000..47bae8bd1
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-104817.stock.stderr
@@ -0,0 +1,11 @@
+error[E0119]: conflicting implementations of trait `AnotherTrait` for type `OpaqueType`
+ --> $DIR/issue-104817.rs:16:1
+ |
+LL | impl<T: Send> AnotherTrait for T {}
+ | -------------------------------- first implementation here
+LL | impl AnotherTrait for OpaqueType {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `OpaqueType`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0119`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs b/tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs
index 50eeff0b1..50eeff0b1 100644
--- a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs
+++ b/tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr b/tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr
index 4c5fd2255..4c5fd2255 100644
--- a/src/test/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-52843-closure-constrain.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.rs b/tests/ui/type-alias-impl-trait/issue-52843.rs
index 159d3ccd2..159d3ccd2 100644
--- a/src/test/ui/type-alias-impl-trait/issue-52843.rs
+++ b/tests/ui/type-alias-impl-trait/issue-52843.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.stderr b/tests/ui/type-alias-impl-trait/issue-52843.stderr
index acd40f980..acd40f980 100644
--- a/src/test/ui/type-alias-impl-trait/issue-52843.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-52843.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-53092-2.rs b/tests/ui/type-alias-impl-trait/issue-53092-2.rs
index 438ac35fd..057930f0c 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53092-2.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53092-2.rs
@@ -4,7 +4,6 @@
type Bug<T, U> = impl Fn(T) -> U + Copy; //~ ERROR cycle detected
const CONST_BUG: Bug<u8, ()> = unsafe { std::mem::transmute(|_: u8| ()) };
-//~^ ERROR: cannot transmute
fn make_bug<T, U: From<T>>() -> Bug<T, U> {
|x| x.into() //~ ERROR the trait bound `U: From<T>` is not satisfied
diff --git a/tests/ui/type-alias-impl-trait/issue-53092-2.stderr b/tests/ui/type-alias-impl-trait/issue-53092-2.stderr
new file mode 100644
index 000000000..2565a28b4
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-53092-2.stderr
@@ -0,0 +1,46 @@
+error[E0391]: cycle detected when computing type of `Bug::{opaque#0}`
+ --> $DIR/issue-53092-2.rs:4:18
+ |
+LL | type Bug<T, U> = impl Fn(T) -> U + Copy;
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+note: ...which requires type-checking `CONST_BUG`...
+ --> $DIR/issue-53092-2.rs:6:1
+ |
+LL | const CONST_BUG: Bug<u8, ()> = unsafe { std::mem::transmute(|_: u8| ()) };
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ = note: ...which requires computing layout of `Bug<u8, ()>`...
+ = note: ...which requires normalizing `Bug<u8, ()>`...
+ = note: ...which again requires computing type of `Bug::{opaque#0}`, completing the cycle
+note: cycle used when checking item types in top-level module
+ --> $DIR/issue-53092-2.rs:1:1
+ |
+LL | / #![feature(type_alias_impl_trait)]
+LL | | #![allow(dead_code)]
+LL | |
+LL | | type Bug<T, U> = impl Fn(T) -> U + Copy;
+... |
+LL | | CONST_BUG(0);
+LL | | }
+ | |_^
+
+error[E0277]: the trait bound `U: From<T>` is not satisfied
+ --> $DIR/issue-53092-2.rs:9:5
+ |
+LL | |x| x.into()
+ | ^^^^^^^^^^^^ the trait `From<T>` is not implemented for `U`
+ |
+note: required by a bound in `make_bug`
+ --> $DIR/issue-53092-2.rs:8:19
+ |
+LL | fn make_bug<T, U: From<T>>() -> Bug<T, U> {
+ | ^^^^^^^ required by this bound in `make_bug`
+help: consider restricting type parameter `U`
+ |
+LL | type Bug<T, U: std::convert::From<T>> = impl Fn(T) -> U + Copy;
+ | +++++++++++++++++++++++
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0277, E0391.
+For more information about an error, try `rustc --explain E0277`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-53092.rs b/tests/ui/type-alias-impl-trait/issue-53092.rs
index 1be5b46d6..1be5b46d6 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53092.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53092.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-53092.stderr b/tests/ui/type-alias-impl-trait/issue-53092.stderr
index 2109cf8a7..2109cf8a7 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53092.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-53092.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-53096.rs b/tests/ui/type-alias-impl-trait/issue-53096.rs
index 007dcf3bc..007dcf3bc 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53096.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53096.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-53096.stderr b/tests/ui/type-alias-impl-trait/issue-53096.stderr
index 0af3a75f8..0af3a75f8 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53096.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-53096.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs b/tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs
index 4a11bb502..4a11bb502 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr b/tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr
index 0a34e8486..0a34e8486 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-53398-cyclic-types.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-53598.rs b/tests/ui/type-alias-impl-trait/issue-53598.rs
index 9c1cbf926..9c1cbf926 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53598.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53598.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-53598.stderr b/tests/ui/type-alias-impl-trait/issue-53598.stderr
index f8b8201e2..f8b8201e2 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53598.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-53598.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs b/tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs
index a3f126d56..a3f126d56 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs
+++ b/tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr b/tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr
index eb1c9603a..eb1c9603a 100644
--- a/src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs b/tests/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs
index af0780ab0..af0780ab0 100644
--- a/src/test/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs
+++ b/tests/ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs b/tests/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs
index 3a7a5da07..3a7a5da07 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs
+++ b/tests/ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs b/tests/ui/type-alias-impl-trait/issue-57611-trait-alias.rs
index cad3e0f66..cad3e0f66 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57611-trait-alias.rs
+++ b/tests/ui/type-alias-impl-trait/issue-57611-trait-alias.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-57700.rs b/tests/ui/type-alias-impl-trait/issue-57700.rs
index 484589387..484589387 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57700.rs
+++ b/tests/ui/type-alias-impl-trait/issue-57700.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-57700.stderr b/tests/ui/type-alias-impl-trait/issue-57700.stderr
index 31b6df5d4..31b6df5d4 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57700.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-57700.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs b/tests/ui/type-alias-impl-trait/issue-57807-associated-type.rs
index fcab2c7db..fcab2c7db 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57807-associated-type.rs
+++ b/tests/ui/type-alias-impl-trait/issue-57807-associated-type.rs
diff --git a/tests/ui/type-alias-impl-trait/issue-57961.rs b/tests/ui/type-alias-impl-trait/issue-57961.rs
new file mode 100644
index 000000000..4aa5966ff
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-57961.rs
@@ -0,0 +1,18 @@
+#![feature(type_alias_impl_trait)]
+
+type X = impl Sized;
+
+trait Foo {
+ type Bar: Iterator<Item = X>;
+}
+
+impl Foo for () {
+ type Bar = std::vec::IntoIter<u32>;
+ //~^ ERROR expected `IntoIter<u32>` to be an iterator that yields `X`, but it yields `u32`
+}
+
+fn incoherent() {
+ let f: X = 22_i32;
+}
+
+fn main() {}
diff --git a/src/test/ui/type-alias-impl-trait/issue-57961.stderr b/tests/ui/type-alias-impl-trait/issue-57961.stderr
index fb40895c4..8d11b4888 100644
--- a/src/test/ui/type-alias-impl-trait/issue-57961.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-57961.stderr
@@ -1,4 +1,4 @@
-error[E0271]: expected `std::vec::IntoIter<u32>` to be an iterator that yields `X`, but it yields `u32`
+error[E0271]: expected `IntoIter<u32>` to be an iterator that yields `X`, but it yields `u32`
--> $DIR/issue-57961.rs:10:16
|
LL | type X = impl Sized;
diff --git a/src/test/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs b/tests/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs
index 477b61390..477b61390 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs
+++ b/tests/ui/type-alias-impl-trait/issue-58662-generator-with-lifetime.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-58662-simplified.rs b/tests/ui/type-alias-impl-trait/issue-58662-simplified.rs
index 27ca7d0fd..27ca7d0fd 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58662-simplified.rs
+++ b/tests/ui/type-alias-impl-trait/issue-58662-simplified.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-58887.rs b/tests/ui/type-alias-impl-trait/issue-58887.rs
index 96ac78602..96ac78602 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58887.rs
+++ b/tests/ui/type-alias-impl-trait/issue-58887.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-58951-2.rs b/tests/ui/type-alias-impl-trait/issue-58951-2.rs
index e4ba7f8e2..e4ba7f8e2 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58951-2.rs
+++ b/tests/ui/type-alias-impl-trait/issue-58951-2.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-58951.rs b/tests/ui/type-alias-impl-trait/issue-58951.rs
index 7303cbab4..7303cbab4 100644
--- a/src/test/ui/type-alias-impl-trait/issue-58951.rs
+++ b/tests/ui/type-alias-impl-trait/issue-58951.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-60371.rs b/tests/ui/type-alias-impl-trait/issue-60371.rs
index 9a40f3d9b..9a40f3d9b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60371.rs
+++ b/tests/ui/type-alias-impl-trait/issue-60371.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-60371.stderr b/tests/ui/type-alias-impl-trait/issue-60371.stderr
index d0c04371b..d0c04371b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60371.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-60371.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-60407.rs b/tests/ui/type-alias-impl-trait/issue-60407.rs
index b833429c7..b833429c7 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60407.rs
+++ b/tests/ui/type-alias-impl-trait/issue-60407.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-60407.stderr b/tests/ui/type-alias-impl-trait/issue-60407.stderr
index fecee2779..fecee2779 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60407.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-60407.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-60564-working.rs b/tests/ui/type-alias-impl-trait/issue-60564-working.rs
index 38accc824..38accc824 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60564-working.rs
+++ b/tests/ui/type-alias-impl-trait/issue-60564-working.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-60564.rs b/tests/ui/type-alias-impl-trait/issue-60564.rs
index 4fc767931..c2f4c3708 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60564.rs
+++ b/tests/ui/type-alias-impl-trait/issue-60564.rs
@@ -18,7 +18,7 @@ where
type BitsIter = IterBitsIter<T, E, u8>;
fn iter_bits(self, n: u8) -> Self::BitsIter {
(0u8..n).rev().map(move |shift| ((self >> T::from(shift)) & T::from(1)).try_into().unwrap())
- //~^ ERROR non-defining opaque type use in defining scope
+ //~^ ERROR expected generic type parameter, found `u8`
}
}
diff --git a/tests/ui/type-alias-impl-trait/issue-60564.stderr b/tests/ui/type-alias-impl-trait/issue-60564.stderr
new file mode 100644
index 000000000..f8fdb004d
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-60564.stderr
@@ -0,0 +1,12 @@
+error[E0792]: expected generic type parameter, found `u8`
+ --> $DIR/issue-60564.rs:20:9
+ |
+LL | type IterBitsIter<T, E, I> = impl std::iter::Iterator<Item = I>;
+ | - this generic parameter must be used with a generic type parameter
+...
+LL | (0u8..n).rev().map(move |shift| ((self >> T::from(shift)) & T::from(1)).try_into().unwrap())
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0792`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-60662.rs b/tests/ui/type-alias-impl-trait/issue-60662.rs
index b9faa668b..b9faa668b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60662.rs
+++ b/tests/ui/type-alias-impl-trait/issue-60662.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-60662.stdout b/tests/ui/type-alias-impl-trait/issue-60662.stdout
index 5b3d7375d..5b3d7375d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-60662.stdout
+++ b/tests/ui/type-alias-impl-trait/issue-60662.stdout
diff --git a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs b/tests/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs
index 36779a0ce..36779a0ce 100644
--- a/src/test/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs
+++ b/tests/ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs b/tests/ui/type-alias-impl-trait/issue-63263-closure-return.rs
index 7414611a7..7414611a7 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63263-closure-return.rs
+++ b/tests/ui/type-alias-impl-trait/issue-63263-closure-return.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.rs b/tests/ui/type-alias-impl-trait/issue-63279.rs
index 97332e16d..97332e16d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63279.rs
+++ b/tests/ui/type-alias-impl-trait/issue-63279.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-63279.stderr b/tests/ui/type-alias-impl-trait/issue-63279.stderr
index 110b8d1ee..110b8d1ee 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63279.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-63279.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-63355.rs b/tests/ui/type-alias-impl-trait/issue-63355.rs
index 7066a0535..7066a0535 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63355.rs
+++ b/tests/ui/type-alias-impl-trait/issue-63355.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs b/tests/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs
index 28f4a85c9..28f4a85c9 100644
--- a/src/test/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs
+++ b/tests/ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-65384.rs b/tests/ui/type-alias-impl-trait/issue-65384.rs
index 9a9b2269f..9a9b2269f 100644
--- a/src/test/ui/type-alias-impl-trait/issue-65384.rs
+++ b/tests/ui/type-alias-impl-trait/issue-65384.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-65384.stderr b/tests/ui/type-alias-impl-trait/issue-65384.stderr
index f6692ae32..f6692ae32 100644
--- a/src/test/ui/type-alias-impl-trait/issue-65384.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-65384.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs b/tests/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs
index 72c22827f..72c22827f 100644
--- a/src/test/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs
+++ b/tests/ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-65918.rs b/tests/ui/type-alias-impl-trait/issue-65918.rs
index af6d50109..af6d50109 100644
--- a/src/test/ui/type-alias-impl-trait/issue-65918.rs
+++ b/tests/ui/type-alias-impl-trait/issue-65918.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs b/tests/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs
index d97270c31..d97270c31 100644
--- a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs
+++ b/tests/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs b/tests/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs
index cd219328a..cd219328a 100644
--- a/src/test/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs
+++ b/tests/ui/type-alias-impl-trait/issue-67844-nested-opaque.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs
index 5223fb1c7..5e0a82a72 100644
--- a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs
+++ b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.rs
@@ -7,7 +7,7 @@ trait Trait<T> {}
type Alias<'a, U> = impl Trait<U>;
fn f<'a>() -> Alias<'a, ()> {}
-//~^ ERROR non-defining opaque type use in defining scope
+//~^ ERROR expected generic type parameter, found `()`
fn main() {}
diff --git a/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.stderr b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.stderr
new file mode 100644
index 000000000..271743a40
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use-2.stderr
@@ -0,0 +1,12 @@
+error[E0792]: expected generic type parameter, found `()`
+ --> $DIR/issue-68368-non-defining-use-2.rs:9:29
+ |
+LL | type Alias<'a, U> = impl Trait<U>;
+ | - this generic parameter must be used with a generic type parameter
+LL |
+LL | fn f<'a>() -> Alias<'a, ()> {}
+ | ^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0792`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs
index b50462bf2..3b32260c9 100644
--- a/src/test/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs
+++ b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.rs
@@ -7,7 +7,7 @@ trait Trait<T> {}
type Alias<'a, U> = impl Trait<U>;
fn f<'a>() -> Alias<'a, ()> {}
-//~^ ERROR non-defining opaque type use in defining scope
+//~^ ERROR expected generic type parameter, found `()`
fn main() {}
diff --git a/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr
new file mode 100644
index 000000000..4d9a8d6ee
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/issue-68368-non-defining-use.stderr
@@ -0,0 +1,12 @@
+error[E0792]: expected generic type parameter, found `()`
+ --> $DIR/issue-68368-non-defining-use.rs:9:29
+ |
+LL | type Alias<'a, U> = impl Trait<U>;
+ | - this generic parameter must be used with a generic type parameter
+LL |
+LL | fn f<'a>() -> Alias<'a, ()> {}
+ | ^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0792`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs
index 428454bc0..7657fe2fb 100644
--- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs
+++ b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs
@@ -18,6 +18,6 @@ type Return<A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
//~^ ERROR use of undeclared lifetime name `'a`
fn my_fun() -> Return<()> {}
-//~^ ERROR non-defining opaque type use in defining scope
+//~^ ERROR expected generic type parameter, found `()`
fn main() {}
diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr
index 7b50c8af2..d1250786d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.stderr
@@ -14,18 +14,16 @@ help: consider introducing lifetime `'a` here
LL | type Return<'a, A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
| +++
-error: non-defining opaque type use in defining scope
+error[E0792]: expected generic type parameter, found `()`
--> $DIR/issue-69136-inner-lifetime-resolve-error.rs:20:27
|
+LL | type Return<A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
+ | - this generic parameter must be used with a generic type parameter
+...
LL | fn my_fun() -> Return<()> {}
| ^^
- |
-note: used non-generic type `()` for generic parameter
- --> $DIR/issue-69136-inner-lifetime-resolve-error.rs:17:13
- |
-LL | type Return<A> = impl WithAssoc<A, AssocType = impl SomeTrait + 'a>;
- | ^
error: aborting due to 2 previous errors
-For more information about this error, try `rustc --explain E0261`.
+Some errors have detailed explanations: E0261, E0792.
+For more information about an error, try `rustc --explain E0261`.
diff --git a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs
index a6916eda8..a6916eda8 100644
--- a/src/test/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs
+++ b/tests/ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-69323.rs b/tests/ui/type-alias-impl-trait/issue-69323.rs
index a9bd6daf2..a9bd6daf2 100644
--- a/src/test/ui/type-alias-impl-trait/issue-69323.rs
+++ b/tests/ui/type-alias-impl-trait/issue-69323.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-70121.rs b/tests/ui/type-alias-impl-trait/issue-70121.rs
index dff0d89d4..dff0d89d4 100644
--- a/src/test/ui/type-alias-impl-trait/issue-70121.rs
+++ b/tests/ui/type-alias-impl-trait/issue-70121.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-72793.rs b/tests/ui/type-alias-impl-trait/issue-72793.rs
index 828c87114..828c87114 100644
--- a/src/test/ui/type-alias-impl-trait/issue-72793.rs
+++ b/tests/ui/type-alias-impl-trait/issue-72793.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-74244.rs b/tests/ui/type-alias-impl-trait/issue-74244.rs
index bb4104b3d..bb4104b3d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74244.rs
+++ b/tests/ui/type-alias-impl-trait/issue-74244.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-74244.stderr b/tests/ui/type-alias-impl-trait/issue-74244.stderr
index ff6bacd27..ff6bacd27 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74244.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-74244.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-74280.rs b/tests/ui/type-alias-impl-trait/issue-74280.rs
index ad641eaa0..ad641eaa0 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74280.rs
+++ b/tests/ui/type-alias-impl-trait/issue-74280.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-74280.stderr b/tests/ui/type-alias-impl-trait/issue-74280.stderr
index 66886db6e..66886db6e 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74280.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-74280.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761-2.rs b/tests/ui/type-alias-impl-trait/issue-74761-2.rs
index d26ca5c3e..d26ca5c3e 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74761-2.rs
+++ b/tests/ui/type-alias-impl-trait/issue-74761-2.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr b/tests/ui/type-alias-impl-trait/issue-74761-2.stderr
index f15d0a069..f15d0a069 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74761-2.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-74761-2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.rs b/tests/ui/type-alias-impl-trait/issue-74761.rs
index d26ca5c3e..d26ca5c3e 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74761.rs
+++ b/tests/ui/type-alias-impl-trait/issue-74761.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.stderr b/tests/ui/type-alias-impl-trait/issue-74761.stderr
index 1d016fe07..1d016fe07 100644
--- a/src/test/ui/type-alias-impl-trait/issue-74761.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-74761.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs b/tests/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs
index b97e444c6..b97e444c6 100644
--- a/src/test/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs
+++ b/tests/ui/type-alias-impl-trait/issue-76202-trait-impl-for-tait.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-77179.rs b/tests/ui/type-alias-impl-trait/issue-77179.rs
index 8d818d4a3..8d818d4a3 100644
--- a/src/test/ui/type-alias-impl-trait/issue-77179.rs
+++ b/tests/ui/type-alias-impl-trait/issue-77179.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-77179.stderr b/tests/ui/type-alias-impl-trait/issue-77179.stderr
index 053546e4b..053546e4b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-77179.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-77179.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-78450.rs b/tests/ui/type-alias-impl-trait/issue-78450.rs
index fccbfb74f..fccbfb74f 100644
--- a/src/test/ui/type-alias-impl-trait/issue-78450.rs
+++ b/tests/ui/type-alias-impl-trait/issue-78450.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs b/tests/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs
index 2ba4befea..2ba4befea 100644
--- a/src/test/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs
+++ b/tests/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.rs b/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs
index 48d4b0c96..48d4b0c96 100644
--- a/src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.rs
+++ b/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr b/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr
index 6a75e1bd2..6a75e1bd2 100644
--- a/src/test/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs b/tests/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs
index 80a74eb63..80a74eb63 100644
--- a/src/test/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs
+++ b/tests/ui/type-alias-impl-trait/issue-87455-static-lifetime-ice.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-89686.rs b/tests/ui/type-alias-impl-trait/issue-89686.rs
index 058417bdb..058417bdb 100644
--- a/src/test/ui/type-alias-impl-trait/issue-89686.rs
+++ b/tests/ui/type-alias-impl-trait/issue-89686.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-89686.stderr b/tests/ui/type-alias-impl-trait/issue-89686.stderr
index 3b95a575a..3b95a575a 100644
--- a/src/test/ui/type-alias-impl-trait/issue-89686.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-89686.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-89952.rs b/tests/ui/type-alias-impl-trait/issue-89952.rs
index dc0f19c04..dc0f19c04 100644
--- a/src/test/ui/type-alias-impl-trait/issue-89952.rs
+++ b/tests/ui/type-alias-impl-trait/issue-89952.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-90400-1.rs b/tests/ui/type-alias-impl-trait/issue-90400-1.rs
index 15aead2f6..15aead2f6 100644
--- a/src/test/ui/type-alias-impl-trait/issue-90400-1.rs
+++ b/tests/ui/type-alias-impl-trait/issue-90400-1.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-90400-1.stderr b/tests/ui/type-alias-impl-trait/issue-90400-1.stderr
index ead28769f..ead28769f 100644
--- a/src/test/ui/type-alias-impl-trait/issue-90400-1.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-90400-1.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-90400-2.rs b/tests/ui/type-alias-impl-trait/issue-90400-2.rs
index 4c6e893c1..4c6e893c1 100644
--- a/src/test/ui/type-alias-impl-trait/issue-90400-2.rs
+++ b/tests/ui/type-alias-impl-trait/issue-90400-2.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-90400-2.stderr b/tests/ui/type-alias-impl-trait/issue-90400-2.stderr
index 50b2dc049..0c45046f5 100644
--- a/src/test/ui/type-alias-impl-trait/issue-90400-2.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-90400-2.stderr
@@ -8,7 +8,9 @@ note: required for `MyBaz<B>` to implement `Baz`
--> $DIR/issue-90400-2.rs:30:14
|
LL | impl<B: Bar> Baz for MyBaz<B> {
- | ^^^ ^^^^^^^^
+ | --- ^^^ ^^^^^^^^
+ | |
+ | unsatisfied trait bound introduced here
help: consider restricting type parameter `B`
|
LL | type FooFn<B: Bar> = impl Baz;
diff --git a/src/test/ui/type-alias-impl-trait/issue-93411.rs b/tests/ui/type-alias-impl-trait/issue-93411.rs
index 1f8c78926..1f8c78926 100644
--- a/src/test/ui/type-alias-impl-trait/issue-93411.rs
+++ b/tests/ui/type-alias-impl-trait/issue-93411.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-94429.rs b/tests/ui/type-alias-impl-trait/issue-94429.rs
index 2c965b875..2c965b875 100644
--- a/src/test/ui/type-alias-impl-trait/issue-94429.rs
+++ b/tests/ui/type-alias-impl-trait/issue-94429.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-94429.stderr b/tests/ui/type-alias-impl-trait/issue-94429.stderr
index 8d7f7a07b..8d7f7a07b 100644
--- a/src/test/ui/type-alias-impl-trait/issue-94429.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-94429.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs
index 825710851..825710851 100644
--- a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs
+++ b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr
index 728244a18..728244a18 100644
--- a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained-mismatch.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained.rs b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained.rs
index 2c740ccc1..2c740ccc1 100644
--- a/src/test/ui/type-alias-impl-trait/issue-96572-unconstrained.rs
+++ b/tests/ui/type-alias-impl-trait/issue-96572-unconstrained.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-98604.rs b/tests/ui/type-alias-impl-trait/issue-98604.rs
index 32c2f9ed5..32c2f9ed5 100644
--- a/src/test/ui/type-alias-impl-trait/issue-98604.rs
+++ b/tests/ui/type-alias-impl-trait/issue-98604.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-98604.stderr b/tests/ui/type-alias-impl-trait/issue-98604.stderr
index 92d01eb0d..92d01eb0d 100644
--- a/src/test/ui/type-alias-impl-trait/issue-98604.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-98604.stderr
diff --git a/src/test/ui/type-alias-impl-trait/issue-98608.rs b/tests/ui/type-alias-impl-trait/issue-98608.rs
index 1f89af045..1f89af045 100644
--- a/src/test/ui/type-alias-impl-trait/issue-98608.rs
+++ b/tests/ui/type-alias-impl-trait/issue-98608.rs
diff --git a/src/test/ui/type-alias-impl-trait/issue-98608.stderr b/tests/ui/type-alias-impl-trait/issue-98608.stderr
index 916a58451..916a58451 100644
--- a/src/test/ui/type-alias-impl-trait/issue-98608.stderr
+++ b/tests/ui/type-alias-impl-trait/issue-98608.stderr
diff --git a/src/test/ui/type-alias-impl-trait/missing_lifetime_bound.rs b/tests/ui/type-alias-impl-trait/missing_lifetime_bound.rs
index 01d1f5db1..01d1f5db1 100644
--- a/src/test/ui/type-alias-impl-trait/missing_lifetime_bound.rs
+++ b/tests/ui/type-alias-impl-trait/missing_lifetime_bound.rs
diff --git a/src/test/ui/type-alias-impl-trait/missing_lifetime_bound.stderr b/tests/ui/type-alias-impl-trait/missing_lifetime_bound.stderr
index 65a0af0d2..65a0af0d2 100644
--- a/src/test/ui/type-alias-impl-trait/missing_lifetime_bound.stderr
+++ b/tests/ui/type-alias-impl-trait/missing_lifetime_bound.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs
index b887fcf30..b887fcf30 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr
index 278117009..278117009 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-infer.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs
index 65eb2952e..65eb2952e 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr
index d7676b8e9..d7676b8e9 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-lifetimes.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs
index 21fca047a..21fca047a 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn-pass.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs
index da845e861..da845e861 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr
index 66a6b0bbf..66a6b0bbf 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs
index 14510a529..14510a529 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr
index 0f752212a..0f752212a 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs
index 11a922443..11a922443 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.rs
diff --git a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr
index bbe709dcc..bbe709dcc 100644
--- a/src/test/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr
+++ b/tests/ui/type-alias-impl-trait/multiple-def-uses-in-one-fn3.stderr
diff --git a/src/test/ui/type-alias-impl-trait/multiple_definitions.rs b/tests/ui/type-alias-impl-trait/multiple_definitions.rs
index 9e6268e63..9e6268e63 100644
--- a/src/test/ui/type-alias-impl-trait/multiple_definitions.rs
+++ b/tests/ui/type-alias-impl-trait/multiple_definitions.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference.rs b/tests/ui/type-alias-impl-trait/nested-tait-inference.rs
index 822489716..822489716 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference.rs
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference.stderr b/tests/ui/type-alias-impl-trait/nested-tait-inference.stderr
index 62db019ed..62db019ed 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference.stderr
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference.stderr
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference2.rs b/tests/ui/type-alias-impl-trait/nested-tait-inference2.rs
index 0d7f5bad2..0d7f5bad2 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference2.rs
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference2.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference2.stderr b/tests/ui/type-alias-impl-trait/nested-tait-inference2.stderr
index f4d96038d..f4d96038d 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference2.stderr
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference3.rs b/tests/ui/type-alias-impl-trait/nested-tait-inference3.rs
index b0ebdd1bf..b0ebdd1bf 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference3.rs
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference3.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested-tait-inference3.stderr b/tests/ui/type-alias-impl-trait/nested-tait-inference3.stderr
index b1d947a9c..b1d947a9c 100644
--- a/src/test/ui/type-alias-impl-trait/nested-tait-inference3.stderr
+++ b/tests/ui/type-alias-impl-trait/nested-tait-inference3.stderr
diff --git a/src/test/ui/type-alias-impl-trait/nested.rs b/tests/ui/type-alias-impl-trait/nested.rs
index 6b866be7d..6b866be7d 100644
--- a/src/test/ui/type-alias-impl-trait/nested.rs
+++ b/tests/ui/type-alias-impl-trait/nested.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested.stderr b/tests/ui/type-alias-impl-trait/nested.stderr
index 732af5c0b..732af5c0b 100644
--- a/src/test/ui/type-alias-impl-trait/nested.stderr
+++ b/tests/ui/type-alias-impl-trait/nested.stderr
diff --git a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs b/tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs
index 60b6e1aac..60b6e1aac 100644
--- a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs
+++ b/tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs
diff --git a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr b/tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr
index fa6ecf68d..fa6ecf68d 100644
--- a/src/test/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr
+++ b/tests/ui/type-alias-impl-trait/nested_type_alias_impl_trait.stderr
diff --git a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs b/tests/ui/type-alias-impl-trait/never_reveal_concrete_type.rs
index fed5ac07c..fed5ac07c 100644
--- a/src/test/ui/type-alias-impl-trait/never_reveal_concrete_type.rs
+++ b/tests/ui/type-alias-impl-trait/never_reveal_concrete_type.rs
diff --git a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs b/tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs
index 46621362e..0f0a02e97 100644
--- a/src/test/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs
+++ b/tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.rs
@@ -15,5 +15,4 @@ mod foo {
fn main() {
let _: foo::Foo = std::mem::transmute(0u8);
- //~^ ERROR cannot transmute between types of different sizes, or dependently-sized types
}
diff --git a/tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr b/tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr
new file mode 100644
index 000000000..f3e8ae9c7
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/no_inferrable_concrete_type.stderr
@@ -0,0 +1,10 @@
+error: unconstrained opaque type
+ --> $DIR/no_inferrable_concrete_type.rs:7:20
+ |
+LL | pub type Foo = impl Copy;
+ | ^^^^^^^^^
+ |
+ = note: `Foo` must be used in combination with a concrete type within the same module
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs b/tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs
index 61153b1e1..61153b1e1 100644
--- a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs
+++ b/tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs
diff --git a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr b/tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr
index ae03a5b3e..ae03a5b3e 100644
--- a/src/test/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr
+++ b/tests/ui/type-alias-impl-trait/no_revealing_outside_defining_module.stderr
diff --git a/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs b/tests/ui/type-alias-impl-trait/not_a_defining_use.rs
index fa47d13f5..fa47d13f5 100644
--- a/src/test/ui/type-alias-impl-trait/not_a_defining_use.rs
+++ b/tests/ui/type-alias-impl-trait/not_a_defining_use.rs
diff --git a/src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr b/tests/ui/type-alias-impl-trait/not_a_defining_use.stderr
index b11198c58..b11198c58 100644
--- a/src/test/ui/type-alias-impl-trait/not_a_defining_use.stderr
+++ b/tests/ui/type-alias-impl-trait/not_a_defining_use.stderr
diff --git a/src/test/ui/type-alias-impl-trait/not_well_formed.rs b/tests/ui/type-alias-impl-trait/not_well_formed.rs
index fbb7a4d58..fbb7a4d58 100644
--- a/src/test/ui/type-alias-impl-trait/not_well_formed.rs
+++ b/tests/ui/type-alias-impl-trait/not_well_formed.rs
diff --git a/src/test/ui/type-alias-impl-trait/not_well_formed.stderr b/tests/ui/type-alias-impl-trait/not_well_formed.stderr
index c36b95f47..c36b95f47 100644
--- a/src/test/ui/type-alias-impl-trait/not_well_formed.stderr
+++ b/tests/ui/type-alias-impl-trait/not_well_formed.stderr
diff --git a/tests/ui/type-alias-impl-trait/outlives-bound-var.rs b/tests/ui/type-alias-impl-trait/outlives-bound-var.rs
new file mode 100644
index 000000000..b8fac45b7
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/outlives-bound-var.rs
@@ -0,0 +1,18 @@
+// Here we process outlive obligations involving
+// opaque types with bound vars in substs.
+// This was an ICE.
+//
+// check-pass
+#![feature(type_alias_impl_trait)]
+
+type Ty<'a> = impl Sized + 'a;
+fn define<'a>() -> Ty<'a> {}
+
+// Ty<'^0>: 'static
+fn test1(_: &'static fn(Ty<'_>)) {}
+
+fn test2() {
+ None::<&fn(Ty<'_>)>;
+}
+
+fn main() { }
diff --git a/src/test/ui/type-alias-impl-trait/reveal_local.rs b/tests/ui/type-alias-impl-trait/reveal_local.rs
index 7ecb55353..7ecb55353 100644
--- a/src/test/ui/type-alias-impl-trait/reveal_local.rs
+++ b/tests/ui/type-alias-impl-trait/reveal_local.rs
diff --git a/src/test/ui/type-alias-impl-trait/reveal_local.stderr b/tests/ui/type-alias-impl-trait/reveal_local.stderr
index 27fded333..27fded333 100644
--- a/src/test/ui/type-alias-impl-trait/reveal_local.stderr
+++ b/tests/ui/type-alias-impl-trait/reveal_local.stderr
diff --git a/src/test/ui/type-alias-impl-trait/self-referential-2.rs b/tests/ui/type-alias-impl-trait/self-referential-2.rs
index 8781196c3..8781196c3 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential-2.rs
+++ b/tests/ui/type-alias-impl-trait/self-referential-2.rs
diff --git a/src/test/ui/type-alias-impl-trait/self-referential-2.stderr b/tests/ui/type-alias-impl-trait/self-referential-2.stderr
index c2cf70687..c2cf70687 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential-2.stderr
+++ b/tests/ui/type-alias-impl-trait/self-referential-2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/self-referential-3.rs b/tests/ui/type-alias-impl-trait/self-referential-3.rs
index d40715717..d40715717 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential-3.rs
+++ b/tests/ui/type-alias-impl-trait/self-referential-3.rs
diff --git a/src/test/ui/type-alias-impl-trait/self-referential-4.rs b/tests/ui/type-alias-impl-trait/self-referential-4.rs
index 36742c8ad..36742c8ad 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential-4.rs
+++ b/tests/ui/type-alias-impl-trait/self-referential-4.rs
diff --git a/src/test/ui/type-alias-impl-trait/self-referential-4.stderr b/tests/ui/type-alias-impl-trait/self-referential-4.stderr
index 98c762e3d..98c762e3d 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential-4.stderr
+++ b/tests/ui/type-alias-impl-trait/self-referential-4.stderr
diff --git a/src/test/ui/type-alias-impl-trait/self-referential.rs b/tests/ui/type-alias-impl-trait/self-referential.rs
index 3ff5406a3..3ff5406a3 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential.rs
+++ b/tests/ui/type-alias-impl-trait/self-referential.rs
diff --git a/src/test/ui/type-alias-impl-trait/self-referential.stderr b/tests/ui/type-alias-impl-trait/self-referential.stderr
index aff489d70..aff489d70 100644
--- a/src/test/ui/type-alias-impl-trait/self-referential.stderr
+++ b/tests/ui/type-alias-impl-trait/self-referential.stderr
diff --git a/src/test/ui/type-alias-impl-trait/self_implication.rs b/tests/ui/type-alias-impl-trait/self_implication.rs
index 4e805ee30..4e805ee30 100644
--- a/src/test/ui/type-alias-impl-trait/self_implication.rs
+++ b/tests/ui/type-alias-impl-trait/self_implication.rs
diff --git a/src/test/ui/type-alias-impl-trait/static-const-types.rs b/tests/ui/type-alias-impl-trait/static-const-types.rs
index 748a279e4..748a279e4 100644
--- a/src/test/ui/type-alias-impl-trait/static-const-types.rs
+++ b/tests/ui/type-alias-impl-trait/static-const-types.rs
diff --git a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs b/tests/ui/type-alias-impl-trait/structural-match-no-leak.rs
index c2ab6a9d1..c2ab6a9d1 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.rs
+++ b/tests/ui/type-alias-impl-trait/structural-match-no-leak.rs
diff --git a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr b/tests/ui/type-alias-impl-trait/structural-match-no-leak.stderr
index dbc183f54..dbc183f54 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match-no-leak.stderr
+++ b/tests/ui/type-alias-impl-trait/structural-match-no-leak.stderr
diff --git a/src/test/ui/type-alias-impl-trait/structural-match.rs b/tests/ui/type-alias-impl-trait/structural-match.rs
index 7cc9ccaab..7cc9ccaab 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match.rs
+++ b/tests/ui/type-alias-impl-trait/structural-match.rs
diff --git a/src/test/ui/type-alias-impl-trait/structural-match.stderr b/tests/ui/type-alias-impl-trait/structural-match.stderr
index 61287f268..61287f268 100644
--- a/src/test/ui/type-alias-impl-trait/structural-match.stderr
+++ b/tests/ui/type-alias-impl-trait/structural-match.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs
index f6a830296..f6a830296 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-dyn.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs
index fddecfcac..fddecfcac 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-assoc-impl-trait.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs
index 5630e036b..5630e036b 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-const.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs
index 857066c78..857066c78 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr
index a31cf1a51..a31cf1a51 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs
index 07c891f06..07c891f06 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs
index c5e8068e5..c5e8068e5 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs
index 1a4064055..1a4064055 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-struct.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs
index 1f2d0e47e..1f2d0e47e 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs
index efbf4f1e3..efbf4f1e3 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr
index 8cdce2f8e..8cdce2f8e 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-unconstrained-lifetime.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs
index e5e7fb677..e5e7fb677 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr
index a770eeac3..a770eeac3 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs
index 7c7a1b405..7c7a1b405 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr
index 3f3699ce5..3f3699ce5 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs
index 8ca279eec..8ca279eec 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr
index 3f7acd338..3f7acd338 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.stderr
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait.rs
index 70c2ee427..70c2ee427 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait2.rs b/tests/ui/type-alias-impl-trait/type-alias-impl-trait2.rs
index 67f56bcde..67f56bcde 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait2.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-impl-trait2.rs
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs b/tests/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs
index fd954801d..fd954801d 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs
+++ b/tests/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs
diff --git a/src/test/ui/type-alias-impl-trait/type_of_a_let.rs b/tests/ui/type-alias-impl-trait/type_of_a_let.rs
index 4e9d1788b..4e9d1788b 100644
--- a/src/test/ui/type-alias-impl-trait/type_of_a_let.rs
+++ b/tests/ui/type-alias-impl-trait/type_of_a_let.rs
diff --git a/src/test/ui/type-alias-impl-trait/type_of_a_let.stderr b/tests/ui/type-alias-impl-trait/type_of_a_let.stderr
index 1dabe4586..1dabe4586 100644
--- a/src/test/ui/type-alias-impl-trait/type_of_a_let.stderr
+++ b/tests/ui/type-alias-impl-trait/type_of_a_let.stderr
diff --git a/src/test/ui/type-alias-impl-trait/unbounded_opaque_type.rs b/tests/ui/type-alias-impl-trait/unbounded_opaque_type.rs
index f43ad7dce..f43ad7dce 100644
--- a/src/test/ui/type-alias-impl-trait/unbounded_opaque_type.rs
+++ b/tests/ui/type-alias-impl-trait/unbounded_opaque_type.rs
diff --git a/src/test/ui/type-alias-impl-trait/underconstrained_generic.rs b/tests/ui/type-alias-impl-trait/underconstrained_generic.rs
index aa537dfc9..aa537dfc9 100644
--- a/src/test/ui/type-alias-impl-trait/underconstrained_generic.rs
+++ b/tests/ui/type-alias-impl-trait/underconstrained_generic.rs
diff --git a/src/test/ui/type-alias-impl-trait/underconstrained_generic.stderr b/tests/ui/type-alias-impl-trait/underconstrained_generic.stderr
index 95fb6f6a5..103636b6c 100644
--- a/src/test/ui/type-alias-impl-trait/underconstrained_generic.stderr
+++ b/tests/ui/type-alias-impl-trait/underconstrained_generic.stderr
@@ -8,7 +8,9 @@ note: required for `()` to implement `ProofForConversion<T>`
--> $DIR/underconstrained_generic.rs:13:16
|
LL | impl<X: Trait> ProofForConversion<X> for () {
- | ^^^^^^^^^^^^^^^^^^^^^ ^^
+ | ----- ^^^^^^^^^^^^^^^^^^^^^ ^^
+ | |
+ | unsatisfied trait bound introduced here
help: consider restricting type parameter `T`
|
LL | type Converter<T: Trait> = impl ProofForConversion<T>;
diff --git a/src/test/ui/type-alias-impl-trait/underconstrained_lifetime.rs b/tests/ui/type-alias-impl-trait/underconstrained_lifetime.rs
index c5b2e8a1c..c5b2e8a1c 100644
--- a/src/test/ui/type-alias-impl-trait/underconstrained_lifetime.rs
+++ b/tests/ui/type-alias-impl-trait/underconstrained_lifetime.rs
diff --git a/src/test/ui/type-alias-impl-trait/underconstrained_lifetime.stderr b/tests/ui/type-alias-impl-trait/underconstrained_lifetime.stderr
index 12d85a49d..12d85a49d 100644
--- a/src/test/ui/type-alias-impl-trait/underconstrained_lifetime.stderr
+++ b/tests/ui/type-alias-impl-trait/underconstrained_lifetime.stderr
diff --git a/tests/ui/type-alias-impl-trait/unnameable_type.rs b/tests/ui/type-alias-impl-trait/unnameable_type.rs
new file mode 100644
index 000000000..1739ab006
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/unnameable_type.rs
@@ -0,0 +1,24 @@
+#![feature(type_alias_impl_trait)]
+
+// This test ensures that unnameable types stay unnameable
+// https://github.com/rust-lang/rust/issues/63063#issuecomment-1360053614
+
+// library
+mod private {
+ pub struct Private;
+ pub trait Trait {
+ fn dont_define_this(_private: Private) {}
+ }
+}
+
+use private::Trait;
+
+// downstream
+type MyPrivate = impl Sized;
+//~^ ERROR: unconstrained opaque type
+impl Trait for u32 {
+ fn dont_define_this(_private: MyPrivate) {}
+ //~^ ERROR: incompatible type for trait
+}
+
+fn main() {}
diff --git a/tests/ui/type-alias-impl-trait/unnameable_type.stderr b/tests/ui/type-alias-impl-trait/unnameable_type.stderr
new file mode 100644
index 000000000..7dc6efc4b
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/unnameable_type.stderr
@@ -0,0 +1,31 @@
+error: unconstrained opaque type
+ --> $DIR/unnameable_type.rs:17:18
+ |
+LL | type MyPrivate = impl Sized;
+ | ^^^^^^^^^^
+ |
+ = note: `MyPrivate` must be used in combination with a concrete type within the same module
+
+error[E0053]: method `dont_define_this` has an incompatible type for trait
+ --> $DIR/unnameable_type.rs:20:35
+ |
+LL | type MyPrivate = impl Sized;
+ | ---------- the found opaque type
+...
+LL | fn dont_define_this(_private: MyPrivate) {}
+ | ^^^^^^^^^
+ | |
+ | expected struct `Private`, found opaque type
+ | help: change the parameter type to match the trait: `Private`
+ |
+note: type in trait
+ --> $DIR/unnameable_type.rs:10:39
+ |
+LL | fn dont_define_this(_private: Private) {}
+ | ^^^^^^^
+ = note: expected signature `fn(Private)`
+ found signature `fn(MyPrivate)`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0053`.
diff --git a/src/test/ui/type-alias-impl-trait/unused_generic_param.rs b/tests/ui/type-alias-impl-trait/unused_generic_param.rs
index ad5e4918c..ad5e4918c 100644
--- a/src/test/ui/type-alias-impl-trait/unused_generic_param.rs
+++ b/tests/ui/type-alias-impl-trait/unused_generic_param.rs
diff --git a/src/test/ui/type-alias-impl-trait/weird-return-types.rs b/tests/ui/type-alias-impl-trait/weird-return-types.rs
index faad5ee95..faad5ee95 100644
--- a/src/test/ui/type-alias-impl-trait/weird-return-types.rs
+++ b/tests/ui/type-alias-impl-trait/weird-return-types.rs
diff --git a/src/test/ui/type-alias-impl-trait/wf-check-fn-def.rs b/tests/ui/type-alias-impl-trait/wf-check-fn-def.rs
index 449e9fbd0..449e9fbd0 100644
--- a/src/test/ui/type-alias-impl-trait/wf-check-fn-def.rs
+++ b/tests/ui/type-alias-impl-trait/wf-check-fn-def.rs
diff --git a/src/test/ui/type-alias-impl-trait/wf-check-fn-def.stderr b/tests/ui/type-alias-impl-trait/wf-check-fn-def.stderr
index e0005489d..e0005489d 100644
--- a/src/test/ui/type-alias-impl-trait/wf-check-fn-def.stderr
+++ b/tests/ui/type-alias-impl-trait/wf-check-fn-def.stderr
diff --git a/src/test/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs b/tests/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs
index 3b8470e4a..3b8470e4a 100644
--- a/src/test/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs
+++ b/tests/ui/type-alias-impl-trait/wf-check-fn-ptrs.rs
diff --git a/src/test/ui/type-alias-impl-trait/wf_check_closures.rs b/tests/ui/type-alias-impl-trait/wf_check_closures.rs
index 2c70696ff..2c70696ff 100644
--- a/src/test/ui/type-alias-impl-trait/wf_check_closures.rs
+++ b/tests/ui/type-alias-impl-trait/wf_check_closures.rs
diff --git a/src/test/ui/type-alias-impl-trait/wf_check_closures.stderr b/tests/ui/type-alias-impl-trait/wf_check_closures.stderr
index 58ae8617b..58ae8617b 100644
--- a/src/test/ui/type-alias-impl-trait/wf_check_closures.stderr
+++ b/tests/ui/type-alias-impl-trait/wf_check_closures.stderr
diff --git a/src/test/ui/type-alias/issue-14933.rs b/tests/ui/type-alias/issue-14933.rs
index bd95332ca..bd95332ca 100644
--- a/src/test/ui/type-alias/issue-14933.rs
+++ b/tests/ui/type-alias/issue-14933.rs
diff --git a/src/test/ui/issues/issue-37515.rs b/tests/ui/type-alias/issue-37515.rs
index b3a870d50..b3a870d50 100644
--- a/src/test/ui/issues/issue-37515.rs
+++ b/tests/ui/type-alias/issue-37515.rs
diff --git a/src/test/ui/issues/issue-37515.stderr b/tests/ui/type-alias/issue-37515.stderr
index f1e83ca74..f1e83ca74 100644
--- a/src/test/ui/issues/issue-37515.stderr
+++ b/tests/ui/type-alias/issue-37515.stderr
diff --git a/src/test/ui/type-alias/issue-62263-self-in-atb.rs b/tests/ui/type-alias/issue-62263-self-in-atb.rs
index 91522d891..91522d891 100644
--- a/src/test/ui/type-alias/issue-62263-self-in-atb.rs
+++ b/tests/ui/type-alias/issue-62263-self-in-atb.rs
diff --git a/src/test/ui/type-alias/issue-62263-self-in-atb.stderr b/tests/ui/type-alias/issue-62263-self-in-atb.stderr
index c20074dc2..c20074dc2 100644
--- a/src/test/ui/type-alias/issue-62263-self-in-atb.stderr
+++ b/tests/ui/type-alias/issue-62263-self-in-atb.stderr
diff --git a/src/test/ui/type-alias/issue-62305-self-assoc-ty.rs b/tests/ui/type-alias/issue-62305-self-assoc-ty.rs
index a4d9a2854..a4d9a2854 100644
--- a/src/test/ui/type-alias/issue-62305-self-assoc-ty.rs
+++ b/tests/ui/type-alias/issue-62305-self-assoc-ty.rs
diff --git a/src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr b/tests/ui/type-alias/issue-62305-self-assoc-ty.stderr
index f3da50df9..f3da50df9 100644
--- a/src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr
+++ b/tests/ui/type-alias/issue-62305-self-assoc-ty.stderr
diff --git a/src/test/ui/type-alias/issue-62364-self-ty-arg.rs b/tests/ui/type-alias/issue-62364-self-ty-arg.rs
index bebb4a902..bebb4a902 100644
--- a/src/test/ui/type-alias/issue-62364-self-ty-arg.rs
+++ b/tests/ui/type-alias/issue-62364-self-ty-arg.rs
diff --git a/src/test/ui/type-alias/issue-62364-self-ty-arg.stderr b/tests/ui/type-alias/issue-62364-self-ty-arg.stderr
index 7e15e42e3..7e15e42e3 100644
--- a/src/test/ui/type-alias/issue-62364-self-ty-arg.stderr
+++ b/tests/ui/type-alias/issue-62364-self-ty-arg.stderr
diff --git a/src/test/ui/type-id-higher-rank-2.rs b/tests/ui/type-id-higher-rank-2.rs
index 5391c849d..5391c849d 100644
--- a/src/test/ui/type-id-higher-rank-2.rs
+++ b/tests/ui/type-id-higher-rank-2.rs
diff --git a/src/test/ui/type-inference/issue-30225.rs b/tests/ui/type-inference/issue-30225.rs
index 42315332c..42315332c 100644
--- a/src/test/ui/type-inference/issue-30225.rs
+++ b/tests/ui/type-inference/issue-30225.rs
diff --git a/src/test/ui/type-inference/issue-30225.stderr b/tests/ui/type-inference/issue-30225.stderr
index ccd05fa6b..ccd05fa6b 100644
--- a/src/test/ui/type-inference/issue-30225.stderr
+++ b/tests/ui/type-inference/issue-30225.stderr
diff --git a/src/test/ui/type-inference/or_else-multiple-type-params.rs b/tests/ui/type-inference/or_else-multiple-type-params.rs
index b15de2a45..b15de2a45 100644
--- a/src/test/ui/type-inference/or_else-multiple-type-params.rs
+++ b/tests/ui/type-inference/or_else-multiple-type-params.rs
diff --git a/src/test/ui/type-inference/or_else-multiple-type-params.stderr b/tests/ui/type-inference/or_else-multiple-type-params.stderr
index 6ac63a91e..6ac63a91e 100644
--- a/src/test/ui/type-inference/or_else-multiple-type-params.stderr
+++ b/tests/ui/type-inference/or_else-multiple-type-params.stderr
diff --git a/src/test/ui/type-inference/sort_by_key.rs b/tests/ui/type-inference/sort_by_key.rs
index afc4d90b8..afc4d90b8 100644
--- a/src/test/ui/type-inference/sort_by_key.rs
+++ b/tests/ui/type-inference/sort_by_key.rs
diff --git a/src/test/ui/type-inference/sort_by_key.stderr b/tests/ui/type-inference/sort_by_key.stderr
index 0a48d5756..0a48d5756 100644
--- a/src/test/ui/type-inference/sort_by_key.stderr
+++ b/tests/ui/type-inference/sort_by_key.stderr
diff --git a/src/test/ui/type-inference/unbounded-associated-type.rs b/tests/ui/type-inference/unbounded-associated-type.rs
index 0167e9436..0167e9436 100644
--- a/src/test/ui/type-inference/unbounded-associated-type.rs
+++ b/tests/ui/type-inference/unbounded-associated-type.rs
diff --git a/src/test/ui/type-inference/unbounded-associated-type.stderr b/tests/ui/type-inference/unbounded-associated-type.stderr
index e0fecc72f..e0fecc72f 100644
--- a/src/test/ui/type-inference/unbounded-associated-type.stderr
+++ b/tests/ui/type-inference/unbounded-associated-type.stderr
diff --git a/src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs b/tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs
index 81d054b3a..81d054b3a 100644
--- a/src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs
+++ b/tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs
diff --git a/src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr b/tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr
index 209abfe5c..209abfe5c 100644
--- a/src/test/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr
+++ b/tests/ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.stderr
diff --git a/src/test/ui/type-inference/unbounded-type-param-in-fn.rs b/tests/ui/type-inference/unbounded-type-param-in-fn.rs
index 1f336ed59..1f336ed59 100644
--- a/src/test/ui/type-inference/unbounded-type-param-in-fn.rs
+++ b/tests/ui/type-inference/unbounded-type-param-in-fn.rs
diff --git a/src/test/ui/type-inference/unbounded-type-param-in-fn.stderr b/tests/ui/type-inference/unbounded-type-param-in-fn.stderr
index d92892eeb..d92892eeb 100644
--- a/src/test/ui/type-inference/unbounded-type-param-in-fn.stderr
+++ b/tests/ui/type-inference/unbounded-type-param-in-fn.stderr
diff --git a/src/test/ui/type-namespace.rs b/tests/ui/type-namespace.rs
index 3cc0bc447..3cc0bc447 100644
--- a/src/test/ui/type-namespace.rs
+++ b/tests/ui/type-namespace.rs
diff --git a/src/test/ui/type-param-constraints.rs b/tests/ui/type-param-constraints.rs
index 3d87a089f..3d87a089f 100644
--- a/src/test/ui/type-param-constraints.rs
+++ b/tests/ui/type-param-constraints.rs
diff --git a/src/test/ui/type-param.rs b/tests/ui/type-param.rs
index ca2f24d37..ca2f24d37 100644
--- a/src/test/ui/type-param.rs
+++ b/tests/ui/type-param.rs
diff --git a/src/test/ui/type-ptr.rs b/tests/ui/type-ptr.rs
index 7c2438d38..7c2438d38 100644
--- a/src/test/ui/type-ptr.rs
+++ b/tests/ui/type-ptr.rs
diff --git a/src/test/ui/type-use-i1-versus-i8.rs b/tests/ui/type-use-i1-versus-i8.rs
index 7315cd2fe..7315cd2fe 100644
--- a/src/test/ui/type-use-i1-versus-i8.rs
+++ b/tests/ui/type-use-i1-versus-i8.rs
diff --git a/src/test/ui/type/ascription/issue-34255-1.rs b/tests/ui/type/ascription/issue-34255-1.rs
index 44b47cc4e..44b47cc4e 100644
--- a/src/test/ui/type/ascription/issue-34255-1.rs
+++ b/tests/ui/type/ascription/issue-34255-1.rs
diff --git a/src/test/ui/type/ascription/issue-34255-1.stderr b/tests/ui/type/ascription/issue-34255-1.stderr
index 6819d14bb..fafff19f8 100644
--- a/src/test/ui/type/ascription/issue-34255-1.stderr
+++ b/tests/ui/type/ascription/issue-34255-1.stderr
@@ -25,15 +25,10 @@ error[E0107]: missing generics for struct `Vec`
LL | input_cells: Vec::new()
| ^^^ expected at least 1 generic argument
|
-note: struct defined here, with at least 1 generic parameter: `T`
- --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
- |
-LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
- | ^^^ -
help: add missing generic argument
|
LL | input_cells: Vec<T>::new()
- | ~~~~~~
+ | +++
error: aborting due to 3 previous errors
diff --git a/src/test/ui/type/ascription/issue-47666.fixed b/tests/ui/type/ascription/issue-47666.fixed
index c4db74755..c4db74755 100644
--- a/src/test/ui/type/ascription/issue-47666.fixed
+++ b/tests/ui/type/ascription/issue-47666.fixed
diff --git a/src/test/ui/type/ascription/issue-47666.rs b/tests/ui/type/ascription/issue-47666.rs
index c67202e21..c67202e21 100644
--- a/src/test/ui/type/ascription/issue-47666.rs
+++ b/tests/ui/type/ascription/issue-47666.rs
diff --git a/src/test/ui/type/ascription/issue-47666.stderr b/tests/ui/type/ascription/issue-47666.stderr
index 0f90fce3a..0f90fce3a 100644
--- a/src/test/ui/type/ascription/issue-47666.stderr
+++ b/tests/ui/type/ascription/issue-47666.stderr
diff --git a/src/test/ui/type/ascription/issue-54516.fixed b/tests/ui/type/ascription/issue-54516.fixed
index f78268894..f78268894 100644
--- a/src/test/ui/type/ascription/issue-54516.fixed
+++ b/tests/ui/type/ascription/issue-54516.fixed
diff --git a/src/test/ui/type/ascription/issue-54516.rs b/tests/ui/type/ascription/issue-54516.rs
index 1f34e6943..1f34e6943 100644
--- a/src/test/ui/type/ascription/issue-54516.rs
+++ b/tests/ui/type/ascription/issue-54516.rs
diff --git a/src/test/ui/type/ascription/issue-54516.stderr b/tests/ui/type/ascription/issue-54516.stderr
index 1ab9093e5..1ab9093e5 100644
--- a/src/test/ui/type/ascription/issue-54516.stderr
+++ b/tests/ui/type/ascription/issue-54516.stderr
diff --git a/src/test/ui/type/ascription/issue-60933.fixed b/tests/ui/type/ascription/issue-60933.fixed
index 3e8be3875..3e8be3875 100644
--- a/src/test/ui/type/ascription/issue-60933.fixed
+++ b/tests/ui/type/ascription/issue-60933.fixed
diff --git a/src/test/ui/type/ascription/issue-60933.rs b/tests/ui/type/ascription/issue-60933.rs
index 2a4ad7bdc..2a4ad7bdc 100644
--- a/src/test/ui/type/ascription/issue-60933.rs
+++ b/tests/ui/type/ascription/issue-60933.rs
diff --git a/src/test/ui/type/ascription/issue-60933.stderr b/tests/ui/type/ascription/issue-60933.stderr
index 0b7f8edf6..0b7f8edf6 100644
--- a/src/test/ui/type/ascription/issue-60933.stderr
+++ b/tests/ui/type/ascription/issue-60933.stderr
diff --git a/src/test/ui/type/auxiliary/crate_a1.rs b/tests/ui/type/auxiliary/crate_a1.rs
index e2e185005..e2e185005 100644
--- a/src/test/ui/type/auxiliary/crate_a1.rs
+++ b/tests/ui/type/auxiliary/crate_a1.rs
diff --git a/src/test/ui/type/auxiliary/crate_a2.rs b/tests/ui/type/auxiliary/crate_a2.rs
index d16a4ac10..d16a4ac10 100644
--- a/src/test/ui/type/auxiliary/crate_a2.rs
+++ b/tests/ui/type/auxiliary/crate_a2.rs
diff --git a/tests/ui/type/binding-assigned-block-without-tail-expression.rs b/tests/ui/type/binding-assigned-block-without-tail-expression.rs
new file mode 100644
index 000000000..09afd27a0
--- /dev/null
+++ b/tests/ui/type/binding-assigned-block-without-tail-expression.rs
@@ -0,0 +1,22 @@
+struct S;
+fn main() {
+ let x = {
+ println!("foo");
+ 42;
+ };
+ let y = {};
+ let z = {
+ "hi";
+ };
+ let s = {
+ S;
+ };
+ println!("{}", x); //~ ERROR E0277
+ println!("{}", y); //~ ERROR E0277
+ println!("{}", z); //~ ERROR E0277
+ println!("{}", s); //~ ERROR E0277
+ let _: i32 = x; //~ ERROR E0308
+ let _: i32 = y; //~ ERROR E0308
+ let _: i32 = z; //~ ERROR E0308
+ let _: i32 = s; //~ ERROR E0308
+}
diff --git a/tests/ui/type/binding-assigned-block-without-tail-expression.stderr b/tests/ui/type/binding-assigned-block-without-tail-expression.stderr
new file mode 100644
index 000000000..3e96d7f31
--- /dev/null
+++ b/tests/ui/type/binding-assigned-block-without-tail-expression.stderr
@@ -0,0 +1,109 @@
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:14:20
+ |
+LL | 42;
+ | - help: remove this semicolon
+...
+LL | println!("{}", x);
+ | ^ `()` cannot be formatted with the default formatter
+ |
+ = help: the trait `std::fmt::Display` is not implemented for `()`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+ = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:15:20
+ |
+LL | let y = {};
+ | -- this empty block is missing a tail expression
+...
+LL | println!("{}", y);
+ | ^ `()` cannot be formatted with the default formatter
+ |
+ = help: the trait `std::fmt::Display` is not implemented for `()`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+ = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:16:20
+ |
+LL | "hi";
+ | - help: remove this semicolon
+...
+LL | println!("{}", z);
+ | ^ `()` cannot be formatted with the default formatter
+ |
+ = help: the trait `std::fmt::Display` is not implemented for `()`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+ = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:17:20
+ |
+LL | let s = {
+ | _____________-
+LL | | S;
+LL | | };
+ | |_____- this block is missing a tail expression
+...
+LL | println!("{}", s);
+ | ^ `()` cannot be formatted with the default formatter
+ |
+ = help: the trait `std::fmt::Display` is not implemented for `()`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+ = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0308]: mismatched types
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:18:18
+ |
+LL | 42;
+ | - help: remove this semicolon
+...
+LL | let _: i32 = x;
+ | --- ^ expected `i32`, found `()`
+ | |
+ | expected due to this
+
+error[E0308]: mismatched types
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:19:18
+ |
+LL | let y = {};
+ | -- this empty block is missing a tail expression
+...
+LL | let _: i32 = y;
+ | --- ^ expected `i32`, found `()`
+ | |
+ | expected due to this
+
+error[E0308]: mismatched types
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:20:18
+ |
+LL | let z = {
+ | _____________-
+LL | | "hi";
+LL | | };
+ | |_____- this block is missing a tail expression
+...
+LL | let _: i32 = z;
+ | --- ^ expected `i32`, found `()`
+ | |
+ | expected due to this
+
+error[E0308]: mismatched types
+ --> $DIR/binding-assigned-block-without-tail-expression.rs:21:18
+ |
+LL | let s = {
+ | _____________-
+LL | | S;
+LL | | };
+ | |_____- this block is missing a tail expression
+...
+LL | let _: i32 = s;
+ | --- ^ expected `i32`, found `()`
+ | |
+ | expected due to this
+
+error: aborting due to 8 previous errors
+
+Some errors have detailed explanations: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.
diff --git a/tests/ui/type/closure-with-wrong-borrows.rs b/tests/ui/type/closure-with-wrong-borrows.rs
new file mode 100644
index 000000000..5f6a78351
--- /dev/null
+++ b/tests/ui/type/closure-with-wrong-borrows.rs
@@ -0,0 +1,10 @@
+struct S<'a>(&'a str);
+
+fn f(inner: fn(&str, &S)) {
+}
+
+#[allow(unreachable_code)]
+fn main() {
+ let inner: fn(_, _) = unimplemented!();
+ f(inner); //~ ERROR mismatched types
+}
diff --git a/tests/ui/type/closure-with-wrong-borrows.stderr b/tests/ui/type/closure-with-wrong-borrows.stderr
new file mode 100644
index 000000000..7370bc764
--- /dev/null
+++ b/tests/ui/type/closure-with-wrong-borrows.stderr
@@ -0,0 +1,19 @@
+error[E0308]: mismatched types
+ --> $DIR/closure-with-wrong-borrows.rs:9:7
+ |
+LL | f(inner);
+ | - ^^^^^ one type is more general than the other
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected fn pointer `for<'a, 'b, 'c> fn(&'a str, &'b S<'c>)`
+ found fn pointer `fn(_, _)`
+note: function defined here
+ --> $DIR/closure-with-wrong-borrows.rs:3:4
+ |
+LL | fn f(inner: fn(&str, &S)) {
+ | ^ -------------------
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/type/issue-100584.rs b/tests/ui/type/issue-100584.rs
index 102846563..102846563 100644
--- a/src/test/ui/type/issue-100584.rs
+++ b/tests/ui/type/issue-100584.rs
diff --git a/src/test/ui/type/issue-100584.stderr b/tests/ui/type/issue-100584.stderr
index e1db14d1f..e1db14d1f 100644
--- a/src/test/ui/type/issue-100584.stderr
+++ b/tests/ui/type/issue-100584.stderr
diff --git a/src/test/ui/type/issue-101866.rs b/tests/ui/type/issue-101866.rs
index d332c4adb..d332c4adb 100644
--- a/src/test/ui/type/issue-101866.rs
+++ b/tests/ui/type/issue-101866.rs
diff --git a/src/test/ui/type/issue-101866.stderr b/tests/ui/type/issue-101866.stderr
index fe9982119..fe9982119 100644
--- a/src/test/ui/type/issue-101866.stderr
+++ b/tests/ui/type/issue-101866.stderr
diff --git a/tests/ui/type/issue-102598.rs b/tests/ui/type/issue-102598.rs
new file mode 100644
index 000000000..93808f18b
--- /dev/null
+++ b/tests/ui/type/issue-102598.rs
@@ -0,0 +1,8 @@
+fn foo<'a>(_: impl 'a Sized) {}
+//~^ ERROR: expected `+` between lifetime and Sized
+//~| ERROR: expected one of `:`, `@`, or `|`, found `)`
+//~| ERROR: expected one of `)`, `+`, or `,`, found `Sized`
+//~| ERROR: at least one trait must be specified
+
+fn main(){
+}
diff --git a/tests/ui/type/issue-102598.stderr b/tests/ui/type/issue-102598.stderr
new file mode 100644
index 000000000..a232395ce
--- /dev/null
+++ b/tests/ui/type/issue-102598.stderr
@@ -0,0 +1,43 @@
+error: expected `+` between lifetime and Sized
+ --> $DIR/issue-102598.rs:1:20
+ |
+LL | fn foo<'a>(_: impl 'a Sized) {}
+ | ^^
+ |
+help: add `+`
+ |
+LL | fn foo<'a>(_: impl 'a + Sized) {}
+ | +
+
+error: expected one of `:`, `@`, or `|`, found `)`
+ --> $DIR/issue-102598.rs:1:28
+ |
+LL | fn foo<'a>(_: impl 'a Sized) {}
+ | ^ expected one of `:`, `@`, or `|`
+ |
+ = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
+help: if this is a parameter name, give it a type
+ |
+LL | fn foo<'a>(_: impl 'a Sized: TypeName) {}
+ | ++++++++++
+help: if this is a type, explicitly ignore the parameter name
+ |
+LL | fn foo<'a>(_: impl 'a _: Sized) {}
+ | ++
+
+error: expected one of `)`, `+`, or `,`, found `Sized`
+ --> $DIR/issue-102598.rs:1:23
+ |
+LL | fn foo<'a>(_: impl 'a Sized) {}
+ | -^^^^^ expected one of `)`, `+`, or `,`
+ | |
+ | help: missing `,`
+
+error: at least one trait must be specified
+ --> $DIR/issue-102598.rs:1:15
+ |
+LL | fn foo<'a>(_: impl 'a Sized) {}
+ | ^^^^^^^
+
+error: aborting due to 4 previous errors
+
diff --git a/src/test/ui/type/issue-103271.rs b/tests/ui/type/issue-103271.rs
index 7cd76286a..7cd76286a 100644
--- a/src/test/ui/type/issue-103271.rs
+++ b/tests/ui/type/issue-103271.rs
diff --git a/src/test/ui/type/issue-103271.stderr b/tests/ui/type/issue-103271.stderr
index f4dac51b2..f4dac51b2 100644
--- a/src/test/ui/type/issue-103271.stderr
+++ b/tests/ui/type/issue-103271.stderr
diff --git a/tests/ui/type/issue-58355.rs b/tests/ui/type/issue-58355.rs
new file mode 100644
index 000000000..3b62fdece
--- /dev/null
+++ b/tests/ui/type/issue-58355.rs
@@ -0,0 +1,7 @@
+#![crate_type = "lib"]
+
+pub fn foo(callback: fn() -> dyn ToString) {
+ let mut x: Option<Box<dyn Fn() -> dyn ToString>> = None;
+ x = Some(Box::new(callback));
+ //~^ ERROR: the size for values of type `dyn ToString` cannot be known at compilation time
+}
diff --git a/tests/ui/type/issue-58355.stderr b/tests/ui/type/issue-58355.stderr
new file mode 100644
index 000000000..6f89a7b00
--- /dev/null
+++ b/tests/ui/type/issue-58355.stderr
@@ -0,0 +1,13 @@
+error[E0277]: the size for values of type `dyn ToString` cannot be known at compilation time
+ --> $DIR/issue-58355.rs:5:14
+ |
+LL | x = Some(Box::new(callback));
+ | ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
+ |
+ = help: within `fn() -> dyn ToString`, the trait `Sized` is not implemented for `dyn ToString`
+ = note: required because it appears within the type `fn() -> dyn ToString`
+ = note: required for the cast from `fn() -> dyn ToString` to the object type `dyn Fn() -> (dyn ToString + 'static)`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs b/tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs
index 68aadcf60..68aadcf60 100644
--- a/src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs
+++ b/tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs
diff --git a/src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr b/tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr
index 125ffbbb4..125ffbbb4 100644
--- a/src/test/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr
+++ b/tests/ui/type/issue-67690-type-alias-bound-diagnostic-crash.stderr
diff --git a/src/test/ui/type/issue-91268.rs b/tests/ui/type/issue-91268.rs
index f1e16bc7b..f1e16bc7b 100644
--- a/src/test/ui/type/issue-91268.rs
+++ b/tests/ui/type/issue-91268.rs
diff --git a/src/test/ui/type/issue-91268.stderr b/tests/ui/type/issue-91268.stderr
index 6c9ee9945..6c9ee9945 100644
--- a/src/test/ui/type/issue-91268.stderr
+++ b/tests/ui/type/issue-91268.stderr
diff --git a/src/test/ui/type/issue-94187-verbose-type-name.rs b/tests/ui/type/issue-94187-verbose-type-name.rs
index 3713a32eb..3713a32eb 100644
--- a/src/test/ui/type/issue-94187-verbose-type-name.rs
+++ b/tests/ui/type/issue-94187-verbose-type-name.rs
diff --git a/src/test/ui/type/missing-let-in-binding.fixed b/tests/ui/type/missing-let-in-binding.fixed
index d17876889..d17876889 100644
--- a/src/test/ui/type/missing-let-in-binding.fixed
+++ b/tests/ui/type/missing-let-in-binding.fixed
diff --git a/src/test/ui/type/missing-let-in-binding.rs b/tests/ui/type/missing-let-in-binding.rs
index ca42f2e6e..ca42f2e6e 100644
--- a/src/test/ui/type/missing-let-in-binding.rs
+++ b/tests/ui/type/missing-let-in-binding.rs
diff --git a/src/test/ui/type/missing-let-in-binding.stderr b/tests/ui/type/missing-let-in-binding.stderr
index 12759c509..12759c509 100644
--- a/src/test/ui/type/missing-let-in-binding.stderr
+++ b/tests/ui/type/missing-let-in-binding.stderr
diff --git a/src/test/ui/type/type-alias-bounds.rs b/tests/ui/type/type-alias-bounds.rs
index e49731725..e49731725 100644
--- a/src/test/ui/type/type-alias-bounds.rs
+++ b/tests/ui/type/type-alias-bounds.rs
diff --git a/src/test/ui/type/type-alias-bounds.stderr b/tests/ui/type/type-alias-bounds.stderr
index 92e573393..92e573393 100644
--- a/src/test/ui/type/type-alias-bounds.stderr
+++ b/tests/ui/type/type-alias-bounds.stderr
diff --git a/src/test/ui/type/type-annotation-needed.rs b/tests/ui/type/type-annotation-needed.rs
index 347887f4b..347887f4b 100644
--- a/src/test/ui/type/type-annotation-needed.rs
+++ b/tests/ui/type/type-annotation-needed.rs
diff --git a/src/test/ui/type/type-annotation-needed.stderr b/tests/ui/type/type-annotation-needed.stderr
index 4af4c22f7..87bba3166 100644
--- a/src/test/ui/type/type-annotation-needed.stderr
+++ b/tests/ui/type/type-annotation-needed.stderr
@@ -10,7 +10,7 @@ note: required by a bound in `foo`
|
LL | fn foo<T: Into<String>>(x: i32) {}
| ^^^^^^^^^^^^ required by this bound in `foo`
-help: consider specifying the type argument in the function call
+help: consider specifying the generic argument
|
LL | foo::<T>(42);
| +++++
diff --git a/src/test/ui/type/type-arg-out-of-scope.rs b/tests/ui/type/type-arg-out-of-scope.rs
index 02aad0077..02aad0077 100644
--- a/src/test/ui/type/type-arg-out-of-scope.rs
+++ b/tests/ui/type/type-arg-out-of-scope.rs
diff --git a/src/test/ui/type/type-arg-out-of-scope.stderr b/tests/ui/type/type-arg-out-of-scope.stderr
index 7f18b4510..7f18b4510 100644
--- a/src/test/ui/type/type-arg-out-of-scope.stderr
+++ b/tests/ui/type/type-arg-out-of-scope.stderr
diff --git a/tests/ui/type/type-ascription-instead-of-initializer.rs b/tests/ui/type/type-ascription-instead-of-initializer.rs
new file mode 100644
index 000000000..8978c85ed
--- /dev/null
+++ b/tests/ui/type/type-ascription-instead-of-initializer.rs
@@ -0,0 +1,4 @@
+fn main() {
+ let x: Vec::with_capacity(10, 20); //~ ERROR expected type, found `10`
+ //~^ ERROR function takes 1 argument
+}
diff --git a/src/test/ui/type/type-ascription-instead-of-initializer.stderr b/tests/ui/type/type-ascription-instead-of-initializer.stderr
index de578ca93..ba8d15d0b 100644
--- a/src/test/ui/type/type-ascription-instead-of-initializer.stderr
+++ b/tests/ui/type/type-ascription-instead-of-initializer.stderr
@@ -15,9 +15,6 @@ LL | let x: Vec::with_capacity(10, 20);
|
note: associated function defined here
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
- |
-LL | pub fn with_capacity(capacity: usize) -> Self {
- | ^^^^^^^^^^^^^
help: remove the extra argument
|
LL | let x: Vec::with_capacity(10);
diff --git a/src/test/ui/type/type-ascription-instead-of-statement-end.rs b/tests/ui/type/type-ascription-instead-of-statement-end.rs
index 1d5565ab5..1d5565ab5 100644
--- a/src/test/ui/type/type-ascription-instead-of-statement-end.rs
+++ b/tests/ui/type/type-ascription-instead-of-statement-end.rs
diff --git a/src/test/ui/type/type-ascription-instead-of-statement-end.stderr b/tests/ui/type/type-ascription-instead-of-statement-end.stderr
index 521ebcdf1..521ebcdf1 100644
--- a/src/test/ui/type/type-ascription-instead-of-statement-end.stderr
+++ b/tests/ui/type/type-ascription-instead-of-statement-end.stderr
diff --git a/src/test/ui/type/type-ascription-precedence.rs b/tests/ui/type/type-ascription-precedence.rs
index d3aef929b..d3aef929b 100644
--- a/src/test/ui/type/type-ascription-precedence.rs
+++ b/tests/ui/type/type-ascription-precedence.rs
diff --git a/src/test/ui/type/type-ascription-precedence.stderr b/tests/ui/type/type-ascription-precedence.stderr
index a8139063d..edc5aeffd 100644
--- a/src/test/ui/type/type-ascription-precedence.stderr
+++ b/tests/ui/type/type-ascription-precedence.stderr
@@ -33,11 +33,8 @@ note: an implementation of `std::ops::Neg` might be missing for `Z`
|
LL | struct Z;
| ^^^^^^^^ must implement `std::ops::Neg`
-note: the following trait must be implemented
+note: the trait `std::ops::Neg` must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL
- |
-LL | pub trait Neg {
- | ^^^^^^^^^^^^^
error[E0308]: mismatched types
--> $DIR/type-ascription-precedence.rs:45:5
@@ -55,7 +52,7 @@ error[E0308]: mismatched types
--> $DIR/type-ascription-precedence.rs:53:5
|
LL | (S .. S): S;
- | ^^^^^^^^ expected struct `S`, found struct `std::ops::Range`
+ | ^^^^^^^^ expected struct `S`, found struct `Range`
|
= note: expected struct `S`
found struct `std::ops::Range<S>`
diff --git a/src/test/ui/type/type-ascription-soundness.rs b/tests/ui/type/type-ascription-soundness.rs
index 08316cdcd..08316cdcd 100644
--- a/src/test/ui/type/type-ascription-soundness.rs
+++ b/tests/ui/type/type-ascription-soundness.rs
diff --git a/src/test/ui/type/type-ascription-soundness.stderr b/tests/ui/type/type-ascription-soundness.stderr
index 522d5b2e3..522d5b2e3 100644
--- a/src/test/ui/type/type-ascription-soundness.stderr
+++ b/tests/ui/type/type-ascription-soundness.stderr
diff --git a/src/test/ui/type/type-ascription-with-fn-call.fixed b/tests/ui/type/type-ascription-with-fn-call.fixed
index 6d96c4303..6d96c4303 100644
--- a/src/test/ui/type/type-ascription-with-fn-call.fixed
+++ b/tests/ui/type/type-ascription-with-fn-call.fixed
diff --git a/src/test/ui/type/type-ascription-with-fn-call.rs b/tests/ui/type/type-ascription-with-fn-call.rs
index ed4f7c904..ed4f7c904 100644
--- a/src/test/ui/type/type-ascription-with-fn-call.rs
+++ b/tests/ui/type/type-ascription-with-fn-call.rs
diff --git a/src/test/ui/type/type-ascription-with-fn-call.stderr b/tests/ui/type/type-ascription-with-fn-call.stderr
index d78fd08fd..d78fd08fd 100644
--- a/src/test/ui/type/type-ascription-with-fn-call.stderr
+++ b/tests/ui/type/type-ascription-with-fn-call.stderr
diff --git a/src/test/ui/type/type-ascription.rs b/tests/ui/type/type-ascription.rs
index e4a4c89d0..e4a4c89d0 100644
--- a/src/test/ui/type/type-ascription.rs
+++ b/tests/ui/type/type-ascription.rs
diff --git a/src/test/ui/type/type-check-defaults.rs b/tests/ui/type/type-check-defaults.rs
index 6a0a7ed33..6a0a7ed33 100644
--- a/src/test/ui/type/type-check-defaults.rs
+++ b/tests/ui/type/type-check-defaults.rs
diff --git a/src/test/ui/type/type-check-defaults.stderr b/tests/ui/type/type-check-defaults.stderr
index 9ba63ffe9..9ba63ffe9 100644
--- a/src/test/ui/type/type-check-defaults.stderr
+++ b/tests/ui/type/type-check-defaults.stderr
diff --git a/src/test/ui/type/type-check/assignment-expected-bool.rs b/tests/ui/type/type-check/assignment-expected-bool.rs
index 191939bdb..191939bdb 100644
--- a/src/test/ui/type/type-check/assignment-expected-bool.rs
+++ b/tests/ui/type/type-check/assignment-expected-bool.rs
diff --git a/src/test/ui/type/type-check/assignment-expected-bool.stderr b/tests/ui/type/type-check/assignment-expected-bool.stderr
index 56494baff..56494baff 100644
--- a/src/test/ui/type/type-check/assignment-expected-bool.stderr
+++ b/tests/ui/type/type-check/assignment-expected-bool.stderr
diff --git a/src/test/ui/type/type-check/assignment-in-if.rs b/tests/ui/type/type-check/assignment-in-if.rs
index ada250df2..ada250df2 100644
--- a/src/test/ui/type/type-check/assignment-in-if.rs
+++ b/tests/ui/type/type-check/assignment-in-if.rs
diff --git a/src/test/ui/type/type-check/assignment-in-if.stderr b/tests/ui/type/type-check/assignment-in-if.stderr
index 8ab08e25e..9f4558ada 100644
--- a/src/test/ui/type/type-check/assignment-in-if.stderr
+++ b/tests/ui/type/type-check/assignment-in-if.stderr
@@ -68,7 +68,9 @@ error[E0308]: mismatched types
--> $DIR/assignment-in-if.rs:44:18
|
LL | if x == x && x = x && x == x {
- | ^ expected `bool`, found `usize`
+ | ------ ^ expected `bool`, found `usize`
+ | |
+ | expected because this is `bool`
error[E0308]: mismatched types
--> $DIR/assignment-in-if.rs:44:22
@@ -91,7 +93,9 @@ error[E0308]: mismatched types
--> $DIR/assignment-in-if.rs:51:28
|
LL | if x == x && x == x && x = x {
- | ^ expected `bool`, found `usize`
+ | ---------------- ^ expected `bool`, found `usize`
+ | |
+ | expected because this is `bool`
error[E0308]: mismatched types
--> $DIR/assignment-in-if.rs:51:8
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_array.rs b/tests/ui/type/type-check/cannot_infer_local_or_array.rs
index af7552523..af7552523 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_array.rs
+++ b/tests/ui/type/type-check/cannot_infer_local_or_array.rs
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_array.stderr b/tests/ui/type/type-check/cannot_infer_local_or_array.stderr
index e823bad26..e823bad26 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_array.stderr
+++ b/tests/ui/type/type-check/cannot_infer_local_or_array.stderr
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_vec.rs b/tests/ui/type/type-check/cannot_infer_local_or_vec.rs
index e72ddabf3..e72ddabf3 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_vec.rs
+++ b/tests/ui/type/type-check/cannot_infer_local_or_vec.rs
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_vec.stderr b/tests/ui/type/type-check/cannot_infer_local_or_vec.stderr
index b63d2a3b6..b63d2a3b6 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_vec.stderr
+++ b/tests/ui/type/type-check/cannot_infer_local_or_vec.stderr
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs b/tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs
index d21456439..d21456439 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs
+++ b/tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs
diff --git a/src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr b/tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr
index be60cda68..e544b3695 100644
--- a/src/test/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr
+++ b/tests/ui/type/type-check/cannot_infer_local_or_vec_in_tuples.stderr
@@ -2,7 +2,7 @@ error[E0282]: type annotations needed for `(Vec<T>,)`
--> $DIR/cannot_infer_local_or_vec_in_tuples.rs:2:9
|
LL | let (x, ) = (vec![], );
- | ^^^^^
+ | ^^^^^ ---------- type must be known at this point
|
help: consider giving this pattern a type, where the type for type parameter `T` is specified
|
diff --git a/src/test/ui/type/type-check/issue-22897.rs b/tests/ui/type/type-check/issue-22897.rs
index 8171a0ef1..8171a0ef1 100644
--- a/src/test/ui/type/type-check/issue-22897.rs
+++ b/tests/ui/type/type-check/issue-22897.rs
diff --git a/src/test/ui/type/type-check/issue-22897.stderr b/tests/ui/type/type-check/issue-22897.stderr
index fae7b7926..fae7b7926 100644
--- a/src/test/ui/type/type-check/issue-22897.stderr
+++ b/tests/ui/type/type-check/issue-22897.stderr
diff --git a/src/test/ui/type/type-check/issue-40294.rs b/tests/ui/type/type-check/issue-40294.rs
index 5493a4e5f..5493a4e5f 100644
--- a/src/test/ui/type/type-check/issue-40294.rs
+++ b/tests/ui/type/type-check/issue-40294.rs
diff --git a/tests/ui/type/type-check/issue-40294.stderr b/tests/ui/type/type-check/issue-40294.stderr
new file mode 100644
index 000000000..d15fd2341
--- /dev/null
+++ b/tests/ui/type/type-check/issue-40294.stderr
@@ -0,0 +1,17 @@
+error[E0283]: type annotations needed: cannot satisfy `&'a T: Foo`
+ --> $DIR/issue-40294.rs:6:19
+ |
+LL | where &'a T : Foo,
+ | ^^^
+ |
+note: multiple `impl`s or `where` clauses satisfying `&'a T: Foo` found
+ --> $DIR/issue-40294.rs:6:19
+ |
+LL | where &'a T : Foo,
+ | ^^^
+LL | &'b T : Foo
+ | ^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0283`.
diff --git a/src/test/ui/type/type-check/issue-41314.rs b/tests/ui/type/type-check/issue-41314.rs
index cbd39f5f9..cbd39f5f9 100644
--- a/src/test/ui/type/type-check/issue-41314.rs
+++ b/tests/ui/type/type-check/issue-41314.rs
diff --git a/src/test/ui/type/type-check/issue-41314.stderr b/tests/ui/type/type-check/issue-41314.stderr
index 4a9bf6106..4a9bf6106 100644
--- a/src/test/ui/type/type-check/issue-41314.stderr
+++ b/tests/ui/type/type-check/issue-41314.stderr
diff --git a/src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs b/tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs
index c39ab9544..c39ab9544 100644
--- a/src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs
+++ b/tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs
diff --git a/src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr b/tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr
index a431fe89c..a431fe89c 100644
--- a/src/test/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr
+++ b/tests/ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.stderr
diff --git a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs b/tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs
index e50cc5865..e50cc5865 100644
--- a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs
+++ b/tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.rs
diff --git a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr b/tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr
index 847bc517e..847bc517e 100644
--- a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr
+++ b/tests/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr
diff --git a/src/test/ui/type/type-check/missing_trait_impl.rs b/tests/ui/type/type-check/missing_trait_impl.rs
index 0e3e703a2..0e3e703a2 100644
--- a/src/test/ui/type/type-check/missing_trait_impl.rs
+++ b/tests/ui/type/type-check/missing_trait_impl.rs
diff --git a/src/test/ui/type/type-check/missing_trait_impl.stderr b/tests/ui/type/type-check/missing_trait_impl.stderr
index 2b58cd418..2b58cd418 100644
--- a/src/test/ui/type/type-check/missing_trait_impl.stderr
+++ b/tests/ui/type/type-check/missing_trait_impl.stderr
diff --git a/tests/ui/type/type-check/point-at-inference-2.rs b/tests/ui/type/type-check/point-at-inference-2.rs
new file mode 100644
index 000000000..6557d7fa1
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference-2.rs
@@ -0,0 +1,13 @@
+fn bar(_: Vec<i32>) {}
+fn baz(_: &Vec<&i32>) {}
+fn main() {
+ let v = vec![&1];
+ bar(v); //~ ERROR E0308
+ let v = vec![];
+ baz(&v);
+ baz(&v);
+ bar(v); //~ ERROR E0308
+ let v = vec![];
+ baz(&v);
+ bar(v); //~ ERROR E0308
+}
diff --git a/tests/ui/type/type-check/point-at-inference-2.stderr b/tests/ui/type/type-check/point-at-inference-2.stderr
new file mode 100644
index 000000000..1368aba0d
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference-2.stderr
@@ -0,0 +1,51 @@
+error[E0308]: mismatched types
+ --> $DIR/point-at-inference-2.rs:5:9
+ |
+LL | bar(v);
+ | --- ^ expected `i32`, found `&{integer}`
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected struct `Vec<i32>`
+ found struct `Vec<&{integer}>`
+note: function defined here
+ --> $DIR/point-at-inference-2.rs:1:4
+ |
+LL | fn bar(_: Vec<i32>) {}
+ | ^^^ -----------
+
+error[E0308]: mismatched types
+ --> $DIR/point-at-inference-2.rs:9:9
+ |
+LL | bar(v);
+ | --- ^ expected `i32`, found `&i32`
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected struct `Vec<i32>`
+ found struct `Vec<&i32>`
+note: function defined here
+ --> $DIR/point-at-inference-2.rs:1:4
+ |
+LL | fn bar(_: Vec<i32>) {}
+ | ^^^ -----------
+
+error[E0308]: mismatched types
+ --> $DIR/point-at-inference-2.rs:12:9
+ |
+LL | bar(v);
+ | --- ^ expected `i32`, found `&i32`
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected struct `Vec<i32>`
+ found struct `Vec<&i32>`
+note: function defined here
+ --> $DIR/point-at-inference-2.rs:1:4
+ |
+LL | fn bar(_: Vec<i32>) {}
+ | ^^^ -----------
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/type/type-check/point-at-inference-3.fixed b/tests/ui/type/type-check/point-at-inference-3.fixed
new file mode 100644
index 000000000..44c057c0d
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference-3.fixed
@@ -0,0 +1,11 @@
+// run-rustfix
+fn main() {
+ let mut v = Vec::new();
+ v.push(0i32);
+ v.push(0);
+ v.push(1i32); //~ ERROR mismatched types
+ //~^ NOTE expected `i32`, found `u32`
+ //~| NOTE arguments to this method are incorrect
+ //~| NOTE associated function defined here
+ //~| HELP change the type of the numeric literal from `u32` to `i32`
+}
diff --git a/tests/ui/type/type-check/point-at-inference-3.rs b/tests/ui/type/type-check/point-at-inference-3.rs
new file mode 100644
index 000000000..e7ae54384
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference-3.rs
@@ -0,0 +1,11 @@
+// run-rustfix
+fn main() {
+ let mut v = Vec::new();
+ v.push(0i32);
+ v.push(0);
+ v.push(1u32); //~ ERROR mismatched types
+ //~^ NOTE expected `i32`, found `u32`
+ //~| NOTE arguments to this method are incorrect
+ //~| NOTE associated function defined here
+ //~| HELP change the type of the numeric literal from `u32` to `i32`
+}
diff --git a/tests/ui/type/type-check/point-at-inference-3.stderr b/tests/ui/type/type-check/point-at-inference-3.stderr
new file mode 100644
index 000000000..d7936e39c
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference-3.stderr
@@ -0,0 +1,18 @@
+error[E0308]: mismatched types
+ --> $DIR/point-at-inference-3.rs:6:12
+ |
+LL | v.push(1u32);
+ | ---- ^^^^ expected `i32`, found `u32`
+ | |
+ | arguments to this method are incorrect
+ |
+note: associated function defined here
+ --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
+help: change the type of the numeric literal from `u32` to `i32`
+ |
+LL | v.push(1i32);
+ | ~~~
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/type/type-check/point-at-inference.rs b/tests/ui/type/type-check/point-at-inference.rs
new file mode 100644
index 000000000..5c46dd4ed
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference.rs
@@ -0,0 +1,12 @@
+fn bar(_: Vec<i32>) {}
+fn baz(_: &impl std::any::Any) {}
+fn main() {
+ let v = vec![1, 2, 3, 4, 5];
+ let mut foo = vec![];
+ baz(&foo);
+ for i in &v {
+ foo.push(i);
+ }
+ baz(&foo);
+ bar(foo); //~ ERROR E0308
+}
diff --git a/tests/ui/type/type-check/point-at-inference.stderr b/tests/ui/type/type-check/point-at-inference.stderr
new file mode 100644
index 000000000..2e17e5c5f
--- /dev/null
+++ b/tests/ui/type/type-check/point-at-inference.stderr
@@ -0,0 +1,19 @@
+error[E0308]: mismatched types
+ --> $DIR/point-at-inference.rs:11:9
+ |
+LL | bar(foo);
+ | --- ^^^ expected `i32`, found `&{integer}`
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected struct `Vec<i32>`
+ found struct `Vec<&{integer}>`
+note: function defined here
+ --> $DIR/point-at-inference.rs:1:4
+ |
+LL | fn bar(_: Vec<i32>) {}
+ | ^^^ -----------
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/type/type-check/unknown_type_for_closure.rs b/tests/ui/type/type-check/unknown_type_for_closure.rs
index 167687c18..167687c18 100644
--- a/src/test/ui/type/type-check/unknown_type_for_closure.rs
+++ b/tests/ui/type/type-check/unknown_type_for_closure.rs
diff --git a/src/test/ui/type/type-check/unknown_type_for_closure.stderr b/tests/ui/type/type-check/unknown_type_for_closure.stderr
index 9ae97f390..e5e29aabf 100644
--- a/src/test/ui/type/type-check/unknown_type_for_closure.stderr
+++ b/tests/ui/type/type-check/unknown_type_for_closure.stderr
@@ -12,8 +12,8 @@ LL | let x = |_| {};
|
help: consider giving this closure parameter an explicit type
|
-LL | let x = |_: _| {};
- | +++
+LL | let x = |_: /* Type */| {};
+ | ++++++++++++
error[E0282]: type annotations needed
--> $DIR/unknown_type_for_closure.rs:10:14
diff --git a/src/test/ui/type/type-dependent-def-issue-49241.rs b/tests/ui/type/type-dependent-def-issue-49241.rs
index caf5bade5..caf5bade5 100644
--- a/src/test/ui/type/type-dependent-def-issue-49241.rs
+++ b/tests/ui/type/type-dependent-def-issue-49241.rs
diff --git a/src/test/ui/type/type-dependent-def-issue-49241.stderr b/tests/ui/type/type-dependent-def-issue-49241.stderr
index af16a6e8f..af16a6e8f 100644
--- a/src/test/ui/type/type-dependent-def-issue-49241.stderr
+++ b/tests/ui/type/type-dependent-def-issue-49241.stderr
diff --git a/src/test/ui/type/type-error-break-tail.rs b/tests/ui/type/type-error-break-tail.rs
index d4e3e93d0..d4e3e93d0 100644
--- a/src/test/ui/type/type-error-break-tail.rs
+++ b/tests/ui/type/type-error-break-tail.rs
diff --git a/src/test/ui/type/type-error-break-tail.stderr b/tests/ui/type/type-error-break-tail.stderr
index 16dc6475c..16dc6475c 100644
--- a/src/test/ui/type/type-error-break-tail.stderr
+++ b/tests/ui/type/type-error-break-tail.stderr
diff --git a/src/test/ui/type/type-mismatch-multiple.rs b/tests/ui/type/type-mismatch-multiple.rs
index 55d6ceef1..55d6ceef1 100644
--- a/src/test/ui/type/type-mismatch-multiple.rs
+++ b/tests/ui/type/type-mismatch-multiple.rs
diff --git a/src/test/ui/type/type-mismatch-multiple.stderr b/tests/ui/type/type-mismatch-multiple.stderr
index 2e8654d31..2e8654d31 100644
--- a/src/test/ui/type/type-mismatch-multiple.stderr
+++ b/tests/ui/type/type-mismatch-multiple.stderr
diff --git a/src/test/ui/type/type-mismatch-same-crate-name.rs b/tests/ui/type/type-mismatch-same-crate-name.rs
index c9cdc874c..c9cdc874c 100644
--- a/src/test/ui/type/type-mismatch-same-crate-name.rs
+++ b/tests/ui/type/type-mismatch-same-crate-name.rs
diff --git a/src/test/ui/type/type-mismatch-same-crate-name.stderr b/tests/ui/type/type-mismatch-same-crate-name.stderr
index fcafd315e..fcafd315e 100644
--- a/src/test/ui/type/type-mismatch-same-crate-name.stderr
+++ b/tests/ui/type/type-mismatch-same-crate-name.stderr
diff --git a/src/test/ui/type/type-mismatch.rs b/tests/ui/type/type-mismatch.rs
index 11bfa3a72..11bfa3a72 100644
--- a/src/test/ui/type/type-mismatch.rs
+++ b/tests/ui/type/type-mismatch.rs
diff --git a/src/test/ui/type/type-mismatch.stderr b/tests/ui/type/type-mismatch.stderr
index 6c187bad0..6c187bad0 100644
--- a/src/test/ui/type/type-mismatch.stderr
+++ b/tests/ui/type/type-mismatch.stderr
diff --git a/src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs b/tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs
index 444453dc6..444453dc6 100644
--- a/src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs
+++ b/tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.rs
diff --git a/src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr b/tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr
index 8a296dc7e..8a296dc7e 100644
--- a/src/test/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr
+++ b/tests/ui/type/type-parameter-defaults-referencing-Self-ppaux.stderr
diff --git a/src/test/ui/type/type-parameter-defaults-referencing-Self.rs b/tests/ui/type/type-parameter-defaults-referencing-Self.rs
index e5c81556e..e5c81556e 100644
--- a/src/test/ui/type/type-parameter-defaults-referencing-Self.rs
+++ b/tests/ui/type/type-parameter-defaults-referencing-Self.rs
diff --git a/src/test/ui/type/type-parameter-defaults-referencing-Self.stderr b/tests/ui/type/type-parameter-defaults-referencing-Self.stderr
index 67a4745b3..67a4745b3 100644
--- a/src/test/ui/type/type-parameter-defaults-referencing-Self.stderr
+++ b/tests/ui/type/type-parameter-defaults-referencing-Self.stderr
diff --git a/src/test/ui/type/type-parameter-names.rs b/tests/ui/type/type-parameter-names.rs
index b54a3fae0..b54a3fae0 100644
--- a/src/test/ui/type/type-parameter-names.rs
+++ b/tests/ui/type/type-parameter-names.rs
diff --git a/src/test/ui/type/type-parameter-names.stderr b/tests/ui/type/type-parameter-names.stderr
index f0ca8afca..f0ca8afca 100644
--- a/src/test/ui/type/type-parameter-names.stderr
+++ b/tests/ui/type/type-parameter-names.stderr
diff --git a/src/test/ui/type/type-params-in-different-spaces-1.rs b/tests/ui/type/type-params-in-different-spaces-1.rs
index 6efd14d37..6efd14d37 100644
--- a/src/test/ui/type/type-params-in-different-spaces-1.rs
+++ b/tests/ui/type/type-params-in-different-spaces-1.rs
diff --git a/src/test/ui/type/type-params-in-different-spaces-1.stderr b/tests/ui/type/type-params-in-different-spaces-1.stderr
index 4e73e10a3..7529f25bd 100644
--- a/src/test/ui/type/type-params-in-different-spaces-1.stderr
+++ b/tests/ui/type/type-params-in-different-spaces-1.stderr
@@ -6,7 +6,9 @@ LL | trait BrokenAdd: Copy + Add<Output=Self> {
LL | fn broken_add<T>(&self, rhs: T) -> Self {
| - found type parameter
LL | *self + rhs
- | ^^^ expected type parameter `Self`, found type parameter `T`
+ | ----- ^^^ expected type parameter `Self`, found type parameter `T`
+ | |
+ | expected because this is `Self`
|
= note: expected type parameter `Self`
found type parameter `T`
diff --git a/src/test/ui/type/type-params-in-different-spaces-2.rs b/tests/ui/type/type-params-in-different-spaces-2.rs
index 1211e465b..1211e465b 100644
--- a/src/test/ui/type/type-params-in-different-spaces-2.rs
+++ b/tests/ui/type/type-params-in-different-spaces-2.rs
diff --git a/src/test/ui/type/type-params-in-different-spaces-2.stderr b/tests/ui/type/type-params-in-different-spaces-2.stderr
index 220b3929c..220b3929c 100644
--- a/src/test/ui/type/type-params-in-different-spaces-2.stderr
+++ b/tests/ui/type/type-params-in-different-spaces-2.stderr
diff --git a/src/test/ui/type/type-params-in-different-spaces-3.rs b/tests/ui/type/type-params-in-different-spaces-3.rs
index ac7b0c11f..ac7b0c11f 100644
--- a/src/test/ui/type/type-params-in-different-spaces-3.rs
+++ b/tests/ui/type/type-params-in-different-spaces-3.rs
diff --git a/src/test/ui/type/type-params-in-different-spaces-3.stderr b/tests/ui/type/type-params-in-different-spaces-3.stderr
index c538d6731..c538d6731 100644
--- a/src/test/ui/type/type-params-in-different-spaces-3.stderr
+++ b/tests/ui/type/type-params-in-different-spaces-3.stderr
diff --git a/src/test/ui/type/type-path-err-node-types.rs b/tests/ui/type/type-path-err-node-types.rs
index b3795772e..b3795772e 100644
--- a/src/test/ui/type/type-path-err-node-types.rs
+++ b/tests/ui/type/type-path-err-node-types.rs
diff --git a/src/test/ui/type/type-path-err-node-types.stderr b/tests/ui/type/type-path-err-node-types.stderr
index c1ae10efa..1aed1dbe4 100644
--- a/src/test/ui/type/type-path-err-node-types.stderr
+++ b/tests/ui/type/type-path-err-node-types.stderr
@@ -30,8 +30,8 @@ LL | let _ = |a, b: _| -> _ { 0 };
|
help: consider giving this closure parameter an explicit type
|
-LL | let _ = |a: _, b: _| -> _ { 0 };
- | +++
+LL | let _ = |a: /* Type */, b: _| -> _ { 0 };
+ | ++++++++++++
error: aborting due to 5 previous errors
diff --git a/src/test/ui/type/type-recursive-box-shadowed.rs b/tests/ui/type/type-recursive-box-shadowed.rs
index e141c2149..e141c2149 100644
--- a/src/test/ui/type/type-recursive-box-shadowed.rs
+++ b/tests/ui/type/type-recursive-box-shadowed.rs
diff --git a/src/test/ui/type/type-recursive-box-shadowed.stderr b/tests/ui/type/type-recursive-box-shadowed.stderr
index cb0e98287..cb0e98287 100644
--- a/src/test/ui/type/type-recursive-box-shadowed.stderr
+++ b/tests/ui/type/type-recursive-box-shadowed.stderr
diff --git a/src/test/ui/type/type-recursive.rs b/tests/ui/type/type-recursive.rs
index e8084f0d0..e8084f0d0 100644
--- a/src/test/ui/type/type-recursive.rs
+++ b/tests/ui/type/type-recursive.rs
diff --git a/src/test/ui/type/type-recursive.stderr b/tests/ui/type/type-recursive.stderr
index 9a4d798f6..9a4d798f6 100644
--- a/src/test/ui/type/type-recursive.stderr
+++ b/tests/ui/type/type-recursive.stderr
diff --git a/src/test/ui/type/type-shadow.rs b/tests/ui/type/type-shadow.rs
index 48a68a390..48a68a390 100644
--- a/src/test/ui/type/type-shadow.rs
+++ b/tests/ui/type/type-shadow.rs
diff --git a/src/test/ui/type/type-shadow.stderr b/tests/ui/type/type-shadow.stderr
index 25b4bff4d..25b4bff4d 100644
--- a/src/test/ui/type/type-shadow.stderr
+++ b/tests/ui/type/type-shadow.stderr
diff --git a/src/test/ui/type/type-unsatisfiable.rs b/tests/ui/type/type-unsatisfiable.rs
index 7fbbb50dc..7fbbb50dc 100644
--- a/src/test/ui/type/type-unsatisfiable.rs
+++ b/tests/ui/type/type-unsatisfiable.rs
diff --git a/src/test/ui/type/type-unsatisfiable.usage.stderr b/tests/ui/type/type-unsatisfiable.usage.stderr
index 56e2e30af..56e2e30af 100644
--- a/src/test/ui/type/type-unsatisfiable.usage.stderr
+++ b/tests/ui/type/type-unsatisfiable.usage.stderr
diff --git a/tests/ui/type/wrong-call-return-type-due-to-generic-arg.rs b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.rs
new file mode 100644
index 000000000..ba5b9f542
--- /dev/null
+++ b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.rs
@@ -0,0 +1,28 @@
+fn function<T>(x: T, y: bool) -> T {
+ x
+}
+
+struct S {}
+impl S {
+ fn method<T>(&self, x: T) -> T {
+ x
+ }
+}
+
+fn wrong_arg_type(x: u32) -> u32 {
+ x
+}
+
+fn main() {
+ // Should not trigger.
+ let x = wrong_arg_type(0u16); //~ ERROR mismatched types
+ let x: u16 = function(0, 0u8); //~ ERROR mismatched types
+
+ // Should trigger exactly once for the first argument.
+ let x: u16 = function(0u32, 0u8); //~ ERROR arguments to this function are incorrect
+
+ // Should trigger.
+ let x: u16 = function(0u32, true); //~ ERROR mismatched types
+ let x: u16 = (S {}).method(0u32); //~ ERROR mismatched types
+ function(0u32, 8u8) //~ ERROR arguments to this function are incorrect
+}
diff --git a/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr
new file mode 100644
index 000000000..4d012cb15
--- /dev/null
+++ b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr
@@ -0,0 +1,131 @@
+error[E0308]: mismatched types
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:18:28
+ |
+LL | let x = wrong_arg_type(0u16);
+ | -------------- ^^^^ expected `u32`, found `u16`
+ | |
+ | arguments to this function are incorrect
+ |
+note: function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:12:4
+ |
+LL | fn wrong_arg_type(x: u32) -> u32 {
+ | ^^^^^^^^^^^^^^ ------
+help: change the type of the numeric literal from `u16` to `u32`
+ |
+LL | let x = wrong_arg_type(0u32);
+ | ~~~
+
+error[E0308]: mismatched types
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:19:30
+ |
+LL | let x: u16 = function(0, 0u8);
+ | -------- ^^^ expected `bool`, found `u8`
+ | |
+ | arguments to this function are incorrect
+ |
+note: function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:1:4
+ |
+LL | fn function<T>(x: T, y: bool) -> T {
+ | ^^^^^^^^ -------
+
+error[E0308]: arguments to this function are incorrect
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:22:18
+ |
+LL | let x: u16 = function(0u32, 0u8);
+ | ^^^^^^^^ ---- --- expected `bool`, found `u8`
+ | |
+ | expected `u16`, found `u32`
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:22:18
+ |
+LL | let x: u16 = function(0u32, 0u8);
+ | ^^^^^^^^^----^^^^^^
+ | |
+ | this argument influences the return type of `function`
+note: function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:1:4
+ |
+LL | fn function<T>(x: T, y: bool) -> T {
+ | ^^^^^^^^ ---- -------
+help: change the type of the numeric literal from `u32` to `u16`
+ |
+LL | let x: u16 = function(0u16, 0u8);
+ | ~~~
+
+error[E0308]: mismatched types
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:25:27
+ |
+LL | let x: u16 = function(0u32, true);
+ | -------- ^^^^ expected `u16`, found `u32`
+ | |
+ | arguments to this function are incorrect
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:25:18
+ |
+LL | let x: u16 = function(0u32, true);
+ | ^^^^^^^^^----^^^^^^^
+ | |
+ | this argument influences the return type of `function`
+note: function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:1:4
+ |
+LL | fn function<T>(x: T, y: bool) -> T {
+ | ^^^^^^^^ ----
+help: change the type of the numeric literal from `u32` to `u16`
+ |
+LL | let x: u16 = function(0u16, true);
+ | ~~~
+
+error[E0308]: mismatched types
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:26:32
+ |
+LL | let x: u16 = (S {}).method(0u32);
+ | ------ ^^^^ expected `u16`, found `u32`
+ | |
+ | arguments to this method are incorrect
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:26:18
+ |
+LL | let x: u16 = (S {}).method(0u32);
+ | ^^^^^^^^^^^^^^----^
+ | |
+ | this argument influences the return type of `method`
+note: associated function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:7:8
+ |
+LL | fn method<T>(&self, x: T) -> T {
+ | ^^^^^^ ----
+help: change the type of the numeric literal from `u32` to `u16`
+ |
+LL | let x: u16 = (S {}).method(0u16);
+ | ~~~
+
+error[E0308]: arguments to this function are incorrect
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:27:5
+ |
+LL | function(0u32, 8u8)
+ | ^^^^^^^^ ---- --- expected `bool`, found `u8`
+ | |
+ | expected `()`, found `u32`
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:27:5
+ |
+LL | function(0u32, 8u8)
+ | ^^^^^^^^^----^^^^^^
+ | |
+ | this argument influences the return type of `function`
+note: function defined here
+ --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:1:4
+ |
+LL | fn function<T>(x: T, y: bool) -> T {
+ | ^^^^^^^^ ---- -------
+
+error: aborting due to 6 previous errors
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/type_length_limit.polonius.stderr b/tests/ui/type_length_limit.polonius.stderr
index 82d066b2a..82d066b2a 100644
--- a/src/test/ui/type_length_limit.polonius.stderr
+++ b/tests/ui/type_length_limit.polonius.stderr
diff --git a/src/test/ui/type_length_limit.rs b/tests/ui/type_length_limit.rs
index b3c127474..b3c127474 100644
--- a/src/test/ui/type_length_limit.rs
+++ b/tests/ui/type_length_limit.rs
diff --git a/src/test/ui/type_length_limit.stderr b/tests/ui/type_length_limit.stderr
index ff4874669..5b00d387a 100644
--- a/src/test/ui/type_length_limit.stderr
+++ b/tests/ui/type_length_limit.stderr
@@ -1,9 +1,6 @@
error: reached the type-length limit while instantiating `std::mem::drop::<Option<((((..., ..., ...), ..., ...), ..., ...), ..., ...)>>`
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
-LL | pub fn drop<T>(_x: T) {}
- | ^^^^^^^^^^^^^^^^^^^^^
- |
= help: consider adding a `#![type_length_limit="10"]` attribute to your crate
= note: the full type name has been written to '$TEST_BUILD_DIR/type_length_limit/type_length_limit.long-type.txt'
diff --git a/src/test/ui/typeck/assign-non-lval-derefmut.fixed b/tests/ui/typeck/assign-non-lval-derefmut.fixed
index 0c23199af..0c23199af 100644
--- a/src/test/ui/typeck/assign-non-lval-derefmut.fixed
+++ b/tests/ui/typeck/assign-non-lval-derefmut.fixed
diff --git a/src/test/ui/typeck/assign-non-lval-derefmut.rs b/tests/ui/typeck/assign-non-lval-derefmut.rs
index ec1882f52..ec1882f52 100644
--- a/src/test/ui/typeck/assign-non-lval-derefmut.rs
+++ b/tests/ui/typeck/assign-non-lval-derefmut.rs
diff --git a/src/test/ui/typeck/assign-non-lval-derefmut.stderr b/tests/ui/typeck/assign-non-lval-derefmut.stderr
index e394cf820..e394cf820 100644
--- a/src/test/ui/typeck/assign-non-lval-derefmut.stderr
+++ b/tests/ui/typeck/assign-non-lval-derefmut.stderr
diff --git a/src/test/ui/typeck/assign-non-lval-mut-ref.fixed b/tests/ui/typeck/assign-non-lval-mut-ref.fixed
index 10c7b9dbf..10c7b9dbf 100644
--- a/src/test/ui/typeck/assign-non-lval-mut-ref.fixed
+++ b/tests/ui/typeck/assign-non-lval-mut-ref.fixed
diff --git a/src/test/ui/typeck/assign-non-lval-mut-ref.rs b/tests/ui/typeck/assign-non-lval-mut-ref.rs
index bceff0ef0..bceff0ef0 100644
--- a/src/test/ui/typeck/assign-non-lval-mut-ref.rs
+++ b/tests/ui/typeck/assign-non-lval-mut-ref.rs
diff --git a/src/test/ui/typeck/assign-non-lval-mut-ref.stderr b/tests/ui/typeck/assign-non-lval-mut-ref.stderr
index cbdc960ba..cbdc960ba 100644
--- a/src/test/ui/typeck/assign-non-lval-mut-ref.stderr
+++ b/tests/ui/typeck/assign-non-lval-mut-ref.stderr
diff --git a/src/test/ui/typeck/assign-non-lval-needs-deref.rs b/tests/ui/typeck/assign-non-lval-needs-deref.rs
index c979d76b4..c979d76b4 100644
--- a/src/test/ui/typeck/assign-non-lval-needs-deref.rs
+++ b/tests/ui/typeck/assign-non-lval-needs-deref.rs
diff --git a/src/test/ui/typeck/assign-non-lval-needs-deref.stderr b/tests/ui/typeck/assign-non-lval-needs-deref.stderr
index ee83b1453..ee83b1453 100644
--- a/src/test/ui/typeck/assign-non-lval-needs-deref.stderr
+++ b/tests/ui/typeck/assign-non-lval-needs-deref.stderr
diff --git a/src/test/ui/typeck/autoderef-with-param-env-error.rs b/tests/ui/typeck/autoderef-with-param-env-error.rs
index ec96c61c6..ec96c61c6 100644
--- a/src/test/ui/typeck/autoderef-with-param-env-error.rs
+++ b/tests/ui/typeck/autoderef-with-param-env-error.rs
diff --git a/tests/ui/typeck/autoderef-with-param-env-error.stderr b/tests/ui/typeck/autoderef-with-param-env-error.stderr
new file mode 100644
index 000000000..182612d5e
--- /dev/null
+++ b/tests/ui/typeck/autoderef-with-param-env-error.stderr
@@ -0,0 +1,14 @@
+error[E0412]: cannot find type `T` in this scope
+ --> $DIR/autoderef-with-param-env-error.rs:3:5
+ |
+LL | T: Send,
+ | ^ not found in this scope
+ |
+help: you might be missing a type parameter
+ |
+LL | fn foo<T>()
+ | +++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0412`.
diff --git a/src/test/ui/typeck/auxiliary/issue-36708.rs b/tests/ui/typeck/auxiliary/issue-36708.rs
index bd8580f97..bd8580f97 100644
--- a/src/test/ui/typeck/auxiliary/issue-36708.rs
+++ b/tests/ui/typeck/auxiliary/issue-36708.rs
diff --git a/src/test/ui/typeck/auxiliary/issue-81943-lib.rs b/tests/ui/typeck/auxiliary/issue-81943-lib.rs
index 521c54f89..521c54f89 100644
--- a/src/test/ui/typeck/auxiliary/issue-81943-lib.rs
+++ b/tests/ui/typeck/auxiliary/issue-81943-lib.rs
diff --git a/src/test/ui/typeck/auxiliary/tdticc_coherence_lib.rs b/tests/ui/typeck/auxiliary/tdticc_coherence_lib.rs
index ef2cd415f..ef2cd415f 100644
--- a/src/test/ui/typeck/auxiliary/tdticc_coherence_lib.rs
+++ b/tests/ui/typeck/auxiliary/tdticc_coherence_lib.rs
diff --git a/src/test/ui/typeck/auxiliary/xcrate-issue-43189-a.rs b/tests/ui/typeck/auxiliary/xcrate-issue-43189-a.rs
index 9ab570fd1..9ab570fd1 100644
--- a/src/test/ui/typeck/auxiliary/xcrate-issue-43189-a.rs
+++ b/tests/ui/typeck/auxiliary/xcrate-issue-43189-a.rs
diff --git a/src/test/ui/typeck/auxiliary/xcrate-issue-43189-b.rs b/tests/ui/typeck/auxiliary/xcrate-issue-43189-b.rs
index 31dfb050b..31dfb050b 100644
--- a/src/test/ui/typeck/auxiliary/xcrate-issue-43189-b.rs
+++ b/tests/ui/typeck/auxiliary/xcrate-issue-43189-b.rs
diff --git a/src/test/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs b/tests/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs
index 2b517b578..2b517b578 100644
--- a/src/test/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs
+++ b/tests/ui/typeck/auxiliary/xcrate-issue-46112-rexport-core.rs
diff --git a/src/test/ui/typeck/auxiliary/xcrate-issue-61711-b.rs b/tests/ui/typeck/auxiliary/xcrate-issue-61711-b.rs
index 88a040529..88a040529 100644
--- a/src/test/ui/typeck/auxiliary/xcrate-issue-61711-b.rs
+++ b/tests/ui/typeck/auxiliary/xcrate-issue-61711-b.rs
diff --git a/src/test/ui/typeck/call-block.rs b/tests/ui/typeck/call-block.rs
index 0390d7db0..0390d7db0 100644
--- a/src/test/ui/typeck/call-block.rs
+++ b/tests/ui/typeck/call-block.rs
diff --git a/src/test/ui/typeck/call-block.stderr b/tests/ui/typeck/call-block.stderr
index 68984bc1c..68984bc1c 100644
--- a/src/test/ui/typeck/call-block.stderr
+++ b/tests/ui/typeck/call-block.stderr
diff --git a/tests/ui/typeck/check-args-on-fn-err-2.rs b/tests/ui/typeck/check-args-on-fn-err-2.rs
new file mode 100644
index 000000000..af57dbe33
--- /dev/null
+++ b/tests/ui/typeck/check-args-on-fn-err-2.rs
@@ -0,0 +1,5 @@
+fn main() {
+ a((), 1i32 == 2u32);
+ //~^ ERROR cannot find function `a` in this scope
+ //~| ERROR mismatched types
+}
diff --git a/tests/ui/typeck/check-args-on-fn-err-2.stderr b/tests/ui/typeck/check-args-on-fn-err-2.stderr
new file mode 100644
index 000000000..301bb88db
--- /dev/null
+++ b/tests/ui/typeck/check-args-on-fn-err-2.stderr
@@ -0,0 +1,23 @@
+error[E0308]: mismatched types
+ --> $DIR/check-args-on-fn-err-2.rs:2:19
+ |
+LL | a((), 1i32 == 2u32);
+ | ---- ^^^^ expected `i32`, found `u32`
+ | |
+ | expected because this is `i32`
+ |
+help: change the type of the numeric literal from `u32` to `i32`
+ |
+LL | a((), 1i32 == 2i32);
+ | ~~~
+
+error[E0425]: cannot find function `a` in this scope
+ --> $DIR/check-args-on-fn-err-2.rs:2:5
+ |
+LL | a((), 1i32 == 2u32);
+ | ^ not found in this scope
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0308, E0425.
+For more information about an error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/check-args-on-fn-err.rs b/tests/ui/typeck/check-args-on-fn-err.rs
new file mode 100644
index 000000000..04b98ddd9
--- /dev/null
+++ b/tests/ui/typeck/check-args-on-fn-err.rs
@@ -0,0 +1,6 @@
+fn main() {
+ unknown(1, |glyf| {
+ //~^ ERROR: cannot find function `unknown` in this scope
+ let actual = glyf;
+ });
+}
diff --git a/tests/ui/typeck/check-args-on-fn-err.stderr b/tests/ui/typeck/check-args-on-fn-err.stderr
new file mode 100644
index 000000000..864d33e0e
--- /dev/null
+++ b/tests/ui/typeck/check-args-on-fn-err.stderr
@@ -0,0 +1,9 @@
+error[E0425]: cannot find function `unknown` in this scope
+ --> $DIR/check-args-on-fn-err.rs:2:5
+ |
+LL | unknown(1, |glyf| {
+ | ^^^^^^^ not found in this scope
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0425`.
diff --git a/src/test/ui/typeck/conversion-methods.rs b/tests/ui/typeck/conversion-methods.rs
index 46c2e511f..46c2e511f 100644
--- a/src/test/ui/typeck/conversion-methods.rs
+++ b/tests/ui/typeck/conversion-methods.rs
diff --git a/src/test/ui/typeck/conversion-methods.stderr b/tests/ui/typeck/conversion-methods.stderr
index 091502bdd..091502bdd 100644
--- a/src/test/ui/typeck/conversion-methods.stderr
+++ b/tests/ui/typeck/conversion-methods.stderr
diff --git a/src/test/ui/typeck/deref-multi.rs b/tests/ui/typeck/deref-multi.rs
index 3dc4771fe..3dc4771fe 100644
--- a/src/test/ui/typeck/deref-multi.rs
+++ b/tests/ui/typeck/deref-multi.rs
diff --git a/src/test/ui/typeck/deref-multi.stderr b/tests/ui/typeck/deref-multi.stderr
index bd6575c73..bd6575c73 100644
--- a/src/test/ui/typeck/deref-multi.stderr
+++ b/tests/ui/typeck/deref-multi.stderr
diff --git a/src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs b/tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs
index 501f4b6ef..501f4b6ef 100644
--- a/src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs
+++ b/tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.rs
diff --git a/src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr b/tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr
index 1ef1d4c28..1ef1d4c28 100644
--- a/src/test/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr
+++ b/tests/ui/typeck/do-not-suggest-adding-missing-zero-to-floating-point-number.stderr
diff --git a/src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs b/tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs
index 97e0b213f..97e0b213f 100644
--- a/src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs
+++ b/tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.rs
diff --git a/src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr b/tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr
index 8982d6285..8982d6285 100644
--- a/src/test/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr
+++ b/tests/ui/typeck/do-not-suggest-placeholder-to-const-static-without-type.stderr
diff --git a/src/test/ui/typeck/explain_clone_autoref.rs b/tests/ui/typeck/explain_clone_autoref.rs
index 9279e4c39..9279e4c39 100644
--- a/src/test/ui/typeck/explain_clone_autoref.rs
+++ b/tests/ui/typeck/explain_clone_autoref.rs
diff --git a/src/test/ui/typeck/explain_clone_autoref.stderr b/tests/ui/typeck/explain_clone_autoref.stderr
index faac680ea..ff36e18d2 100644
--- a/src/test/ui/typeck/explain_clone_autoref.stderr
+++ b/tests/ui/typeck/explain_clone_autoref.stderr
@@ -12,6 +12,10 @@ note: `NotClone` does not implement `Clone`, so `&NotClone` was cloned instead
|
LL | nc.clone()
| ^^
+help: consider annotating `NotClone` with `#[derive(Clone)]`
+ |
+LL | #[derive(Clone)]
+ |
error: aborting due to previous error
diff --git a/src/test/ui/typeck/issue-100164.fixed b/tests/ui/typeck/issue-100164.fixed
index a5f68beb1..a5f68beb1 100644
--- a/src/test/ui/typeck/issue-100164.fixed
+++ b/tests/ui/typeck/issue-100164.fixed
diff --git a/src/test/ui/typeck/issue-100164.rs b/tests/ui/typeck/issue-100164.rs
index 7efb9ac62..7efb9ac62 100644
--- a/src/test/ui/typeck/issue-100164.rs
+++ b/tests/ui/typeck/issue-100164.rs
diff --git a/src/test/ui/typeck/issue-100164.stderr b/tests/ui/typeck/issue-100164.stderr
index 06a132d65..06a132d65 100644
--- a/src/test/ui/typeck/issue-100164.stderr
+++ b/tests/ui/typeck/issue-100164.stderr
diff --git a/src/test/ui/typeck/issue-100246.rs b/tests/ui/typeck/issue-100246.rs
index 8f0b34bab..8f0b34bab 100644
--- a/src/test/ui/typeck/issue-100246.rs
+++ b/tests/ui/typeck/issue-100246.rs
diff --git a/src/test/ui/typeck/issue-100246.stderr b/tests/ui/typeck/issue-100246.stderr
index 8b77de94e..8b77de94e 100644
--- a/src/test/ui/typeck/issue-100246.stderr
+++ b/tests/ui/typeck/issue-100246.stderr
diff --git a/src/test/ui/typeck/issue-100285.rs b/tests/ui/typeck/issue-100285.rs
index e206469b8..e206469b8 100644
--- a/src/test/ui/typeck/issue-100285.rs
+++ b/tests/ui/typeck/issue-100285.rs
diff --git a/src/test/ui/typeck/issue-100285.stderr b/tests/ui/typeck/issue-100285.stderr
index 42c64b039..42c64b039 100644
--- a/src/test/ui/typeck/issue-100285.stderr
+++ b/tests/ui/typeck/issue-100285.stderr
diff --git a/src/test/ui/typeck/issue-103899.rs b/tests/ui/typeck/issue-103899.rs
index ac9e4c716..ac9e4c716 100644
--- a/src/test/ui/typeck/issue-103899.rs
+++ b/tests/ui/typeck/issue-103899.rs
diff --git a/src/test/ui/typeck/issue-10401.rs b/tests/ui/typeck/issue-10401.rs
index d77ff381e..d77ff381e 100644
--- a/src/test/ui/typeck/issue-10401.rs
+++ b/tests/ui/typeck/issue-10401.rs
diff --git a/src/test/ui/typeck/issue-10401.stderr b/tests/ui/typeck/issue-10401.stderr
index 1f68abcfb..1f68abcfb 100644
--- a/src/test/ui/typeck/issue-10401.stderr
+++ b/tests/ui/typeck/issue-10401.stderr
diff --git a/src/test/ui/typeck/issue-104510-ice.rs b/tests/ui/typeck/issue-104510-ice.rs
index 157bdf07e..157bdf07e 100644
--- a/src/test/ui/typeck/issue-104510-ice.rs
+++ b/tests/ui/typeck/issue-104510-ice.rs
diff --git a/src/test/ui/typeck/issue-104510-ice.stderr b/tests/ui/typeck/issue-104510-ice.stderr
index ddb510ef0..ddb510ef0 100644
--- a/src/test/ui/typeck/issue-104510-ice.stderr
+++ b/tests/ui/typeck/issue-104510-ice.stderr
diff --git a/src/test/ui/typeck/issue-104513-ice.rs b/tests/ui/typeck/issue-104513-ice.rs
index bcac0fa1e..bcac0fa1e 100644
--- a/src/test/ui/typeck/issue-104513-ice.rs
+++ b/tests/ui/typeck/issue-104513-ice.rs
diff --git a/src/test/ui/typeck/issue-104513-ice.stderr b/tests/ui/typeck/issue-104513-ice.stderr
index 2b3b1b9ef..42cfe38ae 100644
--- a/src/test/ui/typeck/issue-104513-ice.stderr
+++ b/tests/ui/typeck/issue-104513-ice.stderr
@@ -1,8 +1,6 @@
error[E0405]: cannot find trait `Oops` in this scope
--> $DIR/issue-104513-ice.rs:3:19
|
-LL | fn f() {
- | - help: you might be missing a type parameter: `<Oops>`
LL | let _: S<impl Oops> = S;
| ^^^^ not found in this scope
diff --git a/tests/ui/typeck/issue-104582.rs b/tests/ui/typeck/issue-104582.rs
new file mode 100644
index 000000000..104669dad
--- /dev/null
+++ b/tests/ui/typeck/issue-104582.rs
@@ -0,0 +1,5 @@
+fn main(){
+ let my_var: String(String?);
+ //~^ ERROR: invalid `?` in type
+ //~| ERROR: parenthesized type parameters may only be used with a `Fn` trait
+}
diff --git a/tests/ui/typeck/issue-104582.stderr b/tests/ui/typeck/issue-104582.stderr
new file mode 100644
index 000000000..61b6b2364
--- /dev/null
+++ b/tests/ui/typeck/issue-104582.stderr
@@ -0,0 +1,25 @@
+error: invalid `?` in type
+ --> $DIR/issue-104582.rs:2:30
+ |
+LL | let my_var: String(String?);
+ | ^ `?` is only allowed on expressions, not types
+ |
+help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
+ |
+LL | let my_var: String(Option<String>);
+ | +++++++ ~
+
+error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
+ --> $DIR/issue-104582.rs:2:17
+ |
+LL | let my_var: String(String?);
+ | ^^^^^^^^^^^^^^^ only `Fn` traits may use parentheses
+ |
+help: use angle brackets instead
+ |
+LL | let my_var: String<String?>;
+ | ~ ~
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0214`.
diff --git a/tests/ui/typeck/issue-105946.rs b/tests/ui/typeck/issue-105946.rs
new file mode 100644
index 000000000..bf01751d5
--- /dev/null
+++ b/tests/ui/typeck/issue-105946.rs
@@ -0,0 +1,12 @@
+fn digit() -> str {
+ return {};
+ //~^ ERROR: mismatched types [E0308]
+}
+fn main() {
+ let [_y..] = [box 1, box 2];
+ //~^ ERROR: cannot find value `_y` in this scope [E0425]
+ //~| ERROR: `X..` patterns in slices are experimental [E0658]
+ //~| ERROR: box expression syntax is experimental; you can call `Box::new` instead [E0658]
+ //~| ERROR: box expression syntax is experimental; you can call `Box::new` instead [E0658]
+ //~| ERROR: pattern requires 1 element but array has 2 [E0527]
+}
diff --git a/tests/ui/typeck/issue-105946.stderr b/tests/ui/typeck/issue-105946.stderr
new file mode 100644
index 000000000..d803de4df
--- /dev/null
+++ b/tests/ui/typeck/issue-105946.stderr
@@ -0,0 +1,49 @@
+error[E0425]: cannot find value `_y` in this scope
+ --> $DIR/issue-105946.rs:6:10
+ |
+LL | let [_y..] = [box 1, box 2];
+ | ^^ not found in this scope
+
+error[E0658]: `X..` patterns in slices are experimental
+ --> $DIR/issue-105946.rs:6:10
+ |
+LL | let [_y..] = [box 1, box 2];
+ | ^^^^
+ |
+ = note: see issue #67264 <https://github.com/rust-lang/rust/issues/67264> for more information
+ = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
+
+error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
+ --> $DIR/issue-105946.rs:6:19
+ |
+LL | let [_y..] = [box 1, box 2];
+ | ^^^^^
+ |
+ = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
+ = help: add `#![feature(box_syntax)]` to the crate attributes to enable
+
+error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
+ --> $DIR/issue-105946.rs:6:26
+ |
+LL | let [_y..] = [box 1, box 2];
+ | ^^^^^
+ |
+ = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
+ = help: add `#![feature(box_syntax)]` to the crate attributes to enable
+
+error[E0308]: mismatched types
+ --> $DIR/issue-105946.rs:2:10
+ |
+LL | return {};
+ | ^^ expected `str`, found `()`
+
+error[E0527]: pattern requires 1 element but array has 2
+ --> $DIR/issue-105946.rs:6:9
+ |
+LL | let [_y..] = [box 1, box 2];
+ | ^^^^^^ expected 2 elements
+
+error: aborting due to 6 previous errors
+
+Some errors have detailed explanations: E0308, E0425, E0527, E0658.
+For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/typeck/issue-10969.rs b/tests/ui/typeck/issue-10969.rs
index 0b78fc1bb..0b78fc1bb 100644
--- a/src/test/ui/typeck/issue-10969.rs
+++ b/tests/ui/typeck/issue-10969.rs
diff --git a/src/test/ui/typeck/issue-10969.stderr b/tests/ui/typeck/issue-10969.stderr
index f64b61aae..f64b61aae 100644
--- a/src/test/ui/typeck/issue-10969.stderr
+++ b/tests/ui/typeck/issue-10969.stderr
diff --git a/src/test/ui/typeck/issue-13853-2.rs b/tests/ui/typeck/issue-13853-2.rs
index 27319c98d..27319c98d 100644
--- a/src/test/ui/typeck/issue-13853-2.rs
+++ b/tests/ui/typeck/issue-13853-2.rs
diff --git a/src/test/ui/typeck/issue-13853-2.stderr b/tests/ui/typeck/issue-13853-2.stderr
index 92068df6c..92068df6c 100644
--- a/src/test/ui/typeck/issue-13853-2.stderr
+++ b/tests/ui/typeck/issue-13853-2.stderr
diff --git a/src/test/ui/typeck/issue-13853-5.rs b/tests/ui/typeck/issue-13853-5.rs
index 2afdf95aa..2afdf95aa 100644
--- a/src/test/ui/typeck/issue-13853-5.rs
+++ b/tests/ui/typeck/issue-13853-5.rs
diff --git a/src/test/ui/typeck/issue-13853-5.stderr b/tests/ui/typeck/issue-13853-5.stderr
index 3d8f824ec..3d8f824ec 100644
--- a/src/test/ui/typeck/issue-13853-5.stderr
+++ b/tests/ui/typeck/issue-13853-5.stderr
diff --git a/src/test/ui/typeck/issue-13853.rs b/tests/ui/typeck/issue-13853.rs
index ac9886d2e..ac9886d2e 100644
--- a/src/test/ui/typeck/issue-13853.rs
+++ b/tests/ui/typeck/issue-13853.rs
diff --git a/src/test/ui/typeck/issue-13853.stderr b/tests/ui/typeck/issue-13853.stderr
index 657bda5f6..876ac2c67 100644
--- a/src/test/ui/typeck/issue-13853.stderr
+++ b/tests/ui/typeck/issue-13853.stderr
@@ -5,7 +5,7 @@ LL | fn nodes<'a, I: Iterator<Item=&'a N>>(&self) -> I
| - this type parameter - expected `I` because of return type
...
LL | self.iter()
- | ^^^^^^^^^^^ expected type parameter `I`, found struct `std::slice::Iter`
+ | ^^^^^^^^^^^ expected type parameter `I`, found struct `Iter`
|
= note: expected type parameter `I`
found struct `std::slice::Iter<'_, N>`
diff --git a/src/test/ui/issues/issue-18937-1.rs b/tests/ui/typeck/issue-18937-1.rs
index 57e56d832..57e56d832 100644
--- a/src/test/ui/issues/issue-18937-1.rs
+++ b/tests/ui/typeck/issue-18937-1.rs
diff --git a/src/test/ui/issues/issue-18937.rs b/tests/ui/typeck/issue-18937.rs
index af85e5b2b..af85e5b2b 100644
--- a/src/test/ui/issues/issue-18937.rs
+++ b/tests/ui/typeck/issue-18937.rs
diff --git a/src/test/ui/issues/issue-18937.stderr b/tests/ui/typeck/issue-18937.stderr
index 5e2ba0ef4..5e2ba0ef4 100644
--- a/src/test/ui/issues/issue-18937.stderr
+++ b/tests/ui/typeck/issue-18937.stderr
diff --git a/src/test/ui/issues/issue-22375.rs b/tests/ui/typeck/issue-22375.rs
index 21a1a4c83..21a1a4c83 100644
--- a/src/test/ui/issues/issue-22375.rs
+++ b/tests/ui/typeck/issue-22375.rs
diff --git a/src/test/ui/typeck/issue-29124.rs b/tests/ui/typeck/issue-29124.rs
index dd2784841..dd2784841 100644
--- a/src/test/ui/typeck/issue-29124.rs
+++ b/tests/ui/typeck/issue-29124.rs
diff --git a/src/test/ui/typeck/issue-29124.stderr b/tests/ui/typeck/issue-29124.stderr
index a837a7d2d..a837a7d2d 100644
--- a/src/test/ui/typeck/issue-29124.stderr
+++ b/tests/ui/typeck/issue-29124.stderr
diff --git a/tests/ui/typeck/issue-31173.rs b/tests/ui/typeck/issue-31173.rs
new file mode 100644
index 000000000..f678df5b4
--- /dev/null
+++ b/tests/ui/typeck/issue-31173.rs
@@ -0,0 +1,15 @@
+use std::vec::IntoIter;
+
+pub fn get_tok(it: &mut IntoIter<u8>) {
+ let mut found_e = false;
+
+ let temp: Vec<u8> = it
+ .take_while(|&x| {
+ found_e = true;
+ false
+ })
+ .cloned() //~ ERROR to be an iterator that yields `&_`, but it yields `u8`
+ .collect(); //~ ERROR the method
+}
+
+fn main() {}
diff --git a/tests/ui/typeck/issue-31173.stderr b/tests/ui/typeck/issue-31173.stderr
new file mode 100644
index 000000000..f3be99f9b
--- /dev/null
+++ b/tests/ui/typeck/issue-31173.stderr
@@ -0,0 +1,45 @@
+error[E0271]: expected `TakeWhile<&mut IntoIter<u8>, [closure@issue-31173.rs:7:21]>` to be an iterator that yields `&_`, but it yields `u8`
+ --> $DIR/issue-31173.rs:11:10
+ |
+LL | .cloned()
+ | ^^^^^^ expected reference, found `u8`
+ |
+ = note: expected reference `&_`
+ found type `u8`
+note: the method call chain might not have had the expected associated types
+ --> $DIR/issue-31173.rs:3:20
+ |
+LL | pub fn get_tok(it: &mut IntoIter<u8>) {
+ | ^^^^^^^^^^^^^^^^^ `Iterator::Item` is `u8` here
+...
+LL | .take_while(|&x| {
+ | __________-
+LL | | found_e = true;
+LL | | false
+LL | | })
+ | |__________- `Iterator::Item` remains `u8` here
+note: required by a bound in `cloned`
+ --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
+
+error[E0599]: the method `collect` exists for struct `Cloned<TakeWhile<&mut IntoIter<u8>, [closure@issue-31173.rs:7:21]>>`, but its trait bounds were not satisfied
+ --> $DIR/issue-31173.rs:12:10
+ |
+LL | .collect();
+ | ^^^^^^^ method cannot be called due to unsatisfied trait bounds
+ --> $SRC_DIR/core/src/iter/adapters/take_while.rs:LL:COL
+ |
+ = note: doesn't satisfy `<_ as Iterator>::Item = &_`
+ --> $SRC_DIR/core/src/iter/adapters/cloned.rs:LL:COL
+ |
+ = note: doesn't satisfy `_: Iterator`
+ |
+ = note: the following trait bounds were not satisfied:
+ `<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]> as Iterator>::Item = &_`
+ which is required by `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>: Iterator`
+ `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>: Iterator`
+ which is required by `&mut Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>: Iterator`
+
+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/issues/issue-33575.rs b/tests/ui/typeck/issue-33575.rs
index de544afae..de544afae 100644
--- a/src/test/ui/issues/issue-33575.rs
+++ b/tests/ui/typeck/issue-33575.rs
diff --git a/src/test/ui/issues/issue-33575.stderr b/tests/ui/typeck/issue-33575.stderr
index bbd8042d1..bbd8042d1 100644
--- a/src/test/ui/issues/issue-33575.stderr
+++ b/tests/ui/typeck/issue-33575.stderr
diff --git a/src/test/ui/typeck/issue-36708.rs b/tests/ui/typeck/issue-36708.rs
index c9d9f2a6d..c9d9f2a6d 100644
--- a/src/test/ui/typeck/issue-36708.rs
+++ b/tests/ui/typeck/issue-36708.rs
diff --git a/src/test/ui/typeck/issue-36708.stderr b/tests/ui/typeck/issue-36708.stderr
index 140f19f1f..140f19f1f 100644
--- a/src/test/ui/typeck/issue-36708.stderr
+++ b/tests/ui/typeck/issue-36708.stderr
diff --git a/src/test/ui/typeck/issue-43189.rs b/tests/ui/typeck/issue-43189.rs
index ce667a500..ce667a500 100644
--- a/src/test/ui/typeck/issue-43189.rs
+++ b/tests/ui/typeck/issue-43189.rs
diff --git a/src/test/ui/typeck/issue-43189.stderr b/tests/ui/typeck/issue-43189.stderr
index caf7530b8..caf7530b8 100644
--- a/src/test/ui/typeck/issue-43189.stderr
+++ b/tests/ui/typeck/issue-43189.stderr
diff --git a/src/test/ui/typeck/issue-46112.rs b/tests/ui/typeck/issue-46112.rs
index 0cdd2c27f..0cdd2c27f 100644
--- a/src/test/ui/typeck/issue-46112.rs
+++ b/tests/ui/typeck/issue-46112.rs
diff --git a/tests/ui/typeck/issue-46112.stderr b/tests/ui/typeck/issue-46112.stderr
new file mode 100644
index 000000000..8f5ff51fb
--- /dev/null
+++ b/tests/ui/typeck/issue-46112.stderr
@@ -0,0 +1,27 @@
+error[E0308]: mismatched types
+ --> $DIR/issue-46112.rs:9:21
+ |
+LL | fn main() { test(Ok(())); }
+ | -- ^^ expected enum `Option`, found `()`
+ | |
+ | arguments to this enum variant are incorrect
+ |
+ = note: expected enum `Option<()>`
+ found unit type `()`
+help: the type constructed contains `()` due to the type of the argument passed
+ --> $DIR/issue-46112.rs:9:18
+ |
+LL | fn main() { test(Ok(())); }
+ | ^^^--^
+ | |
+ | this argument influences the type of `Ok`
+note: tuple variant defined here
+ --> $SRC_DIR/core/src/result.rs:LL:COL
+help: try wrapping the expression in `Some`
+ |
+LL | fn main() { test(Ok(Some(()))); }
+ | +++++ +
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/typeck/issue-50687-ice-on-borrow.rs b/tests/ui/typeck/issue-50687-ice-on-borrow.rs
index 7a8a12c2a..7a8a12c2a 100644
--- a/src/test/ui/typeck/issue-50687-ice-on-borrow.rs
+++ b/tests/ui/typeck/issue-50687-ice-on-borrow.rs
diff --git a/src/test/ui/typeck/issue-50687-ice-on-borrow.stderr b/tests/ui/typeck/issue-50687-ice-on-borrow.stderr
index e6a0edac4..e6a0edac4 100644
--- a/src/test/ui/typeck/issue-50687-ice-on-borrow.stderr
+++ b/tests/ui/typeck/issue-50687-ice-on-borrow.stderr
diff --git a/src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.rs b/tests/ui/typeck/issue-52082-type-param-shadows-existing-type.rs
index 7bf151514..7bf151514 100644
--- a/src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.rs
+++ b/tests/ui/typeck/issue-52082-type-param-shadows-existing-type.rs
diff --git a/src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr b/tests/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr
index 4be4c91df..4be4c91df 100644
--- a/src/test/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr
+++ b/tests/ui/typeck/issue-52082-type-param-shadows-existing-type.stderr
diff --git a/src/test/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs b/tests/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs
index 23ea0ad61..23ea0ad61 100644
--- a/src/test/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs
+++ b/tests/ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs
diff --git a/tests/ui/typeck/issue-57404.rs b/tests/ui/typeck/issue-57404.rs
new file mode 100644
index 000000000..ecabca66a
--- /dev/null
+++ b/tests/ui/typeck/issue-57404.rs
@@ -0,0 +1,7 @@
+#![feature(unboxed_closures)]
+#![feature(fn_traits)]
+
+fn main() {
+ let handlers: Option<Box<dyn for<'a> FnMut<&'a mut (), Output=()>>> = None;
+ handlers.unwrap().as_mut().call_mut(&mut ()); //~ ERROR: `&mut ()` is not a tuple
+}
diff --git a/tests/ui/typeck/issue-57404.stderr b/tests/ui/typeck/issue-57404.stderr
new file mode 100644
index 000000000..a631dbb39
--- /dev/null
+++ b/tests/ui/typeck/issue-57404.stderr
@@ -0,0 +1,19 @@
+error[E0277]: `&mut ()` is not a tuple
+ --> $DIR/issue-57404.rs:6:41
+ |
+LL | handlers.unwrap().as_mut().call_mut(&mut ());
+ | -------- ^^^^^^^ the trait `Tuple` is not implemented for `&mut ()`
+ | |
+ | required by a bound introduced by this call
+ |
+note: required by a bound in `call_mut`
+ --> $SRC_DIR/core/src/ops/function.rs:LL:COL
+help: consider removing the leading `&`-reference
+ |
+LL - handlers.unwrap().as_mut().call_mut(&mut ());
+LL + handlers.unwrap().as_mut().call_mut(());
+ |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs b/tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs
index 0a4e7da2b..0a4e7da2b 100644
--- a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs
+++ b/tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs
diff --git a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr b/tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr
index b92a6f2ec..b92a6f2ec 100644
--- a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr
+++ b/tests/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr
diff --git a/src/test/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs b/tests/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs
index de7d6a0d8..de7d6a0d8 100644
--- a/src/test/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs
+++ b/tests/ui/typeck/issue-61711-once-caused-rustc-inf-loop.rs
diff --git a/src/test/ui/typeck/issue-65611.rs b/tests/ui/typeck/issue-65611.rs
index 764531149..764531149 100644
--- a/src/test/ui/typeck/issue-65611.rs
+++ b/tests/ui/typeck/issue-65611.rs
diff --git a/src/test/ui/typeck/issue-65611.stderr b/tests/ui/typeck/issue-65611.stderr
index 003c63079..003c63079 100644
--- a/src/test/ui/typeck/issue-65611.stderr
+++ b/tests/ui/typeck/issue-65611.stderr
diff --git a/src/test/ui/typeck/issue-67971.rs b/tests/ui/typeck/issue-67971.rs
index 8bf725cb5..8bf725cb5 100644
--- a/src/test/ui/typeck/issue-67971.rs
+++ b/tests/ui/typeck/issue-67971.rs
diff --git a/src/test/ui/typeck/issue-67971.stderr b/tests/ui/typeck/issue-67971.stderr
index 5d07f9cc7..5d07f9cc7 100644
--- a/src/test/ui/typeck/issue-67971.stderr
+++ b/tests/ui/typeck/issue-67971.stderr
diff --git a/src/test/ui/typeck/issue-68590-reborrow-through-derefmut.rs b/tests/ui/typeck/issue-68590-reborrow-through-derefmut.rs
index e4436260e..e4436260e 100644
--- a/src/test/ui/typeck/issue-68590-reborrow-through-derefmut.rs
+++ b/tests/ui/typeck/issue-68590-reborrow-through-derefmut.rs
diff --git a/src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs b/tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs
index 571692a53..571692a53 100644
--- a/src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs
+++ b/tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs
diff --git a/src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr b/tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr
index fc7c23a22..fc7c23a22 100644
--- a/src/test/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr
+++ b/tests/ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.stderr
diff --git a/src/test/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs b/tests/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs
index 3ea05389f..3ea05389f 100644
--- a/src/test/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs
+++ b/tests/ui/typeck/issue-72225-call-fnmut-through-derefmut.rs
diff --git a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.fixed b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.fixed
index 7fdd618c2..7fdd618c2 100644
--- a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.fixed
+++ b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.fixed
diff --git a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.rs b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.rs
index 3b399e629..3b399e629 100644
--- a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.rs
+++ b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.rs
diff --git a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.stderr b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.stderr
index 5f5f672c3..5f5f672c3 100644
--- a/src/test/ui/typeck/issue-73592-borrow_mut-through-deref.stderr
+++ b/tests/ui/typeck/issue-73592-borrow_mut-through-deref.stderr
diff --git a/src/test/ui/typeck/issue-74086.rs b/tests/ui/typeck/issue-74086.rs
index 9b7c0d7cc..9b7c0d7cc 100644
--- a/src/test/ui/typeck/issue-74086.rs
+++ b/tests/ui/typeck/issue-74086.rs
diff --git a/src/test/ui/typeck/issue-74086.stderr b/tests/ui/typeck/issue-74086.stderr
index 95ebf9a90..95ebf9a90 100644
--- a/src/test/ui/typeck/issue-74086.stderr
+++ b/tests/ui/typeck/issue-74086.stderr
diff --git a/src/test/ui/typeck/issue-74933.rs b/tests/ui/typeck/issue-74933.rs
index 4b6c173b8..4b6c173b8 100644
--- a/src/test/ui/typeck/issue-74933.rs
+++ b/tests/ui/typeck/issue-74933.rs
diff --git a/src/test/ui/typeck/issue-75883.rs b/tests/ui/typeck/issue-75883.rs
index 885acc482..885acc482 100644
--- a/src/test/ui/typeck/issue-75883.rs
+++ b/tests/ui/typeck/issue-75883.rs
diff --git a/src/test/ui/typeck/issue-75883.stderr b/tests/ui/typeck/issue-75883.stderr
index 3861e0507..f5adcabe3 100644
--- a/src/test/ui/typeck/issue-75883.stderr
+++ b/tests/ui/typeck/issue-75883.stderr
@@ -6,11 +6,6 @@ LL | pub fn run() -> Result<_> {
| |
| expected 2 generic arguments
|
-note: enum defined here, with 2 generic parameters: `T`, `E`
- --> $SRC_DIR/core/src/result.rs:LL:COL
- |
-LL | pub enum Result<T, E> {
- | ^^^^^^ - -
help: add missing generic argument
|
LL | pub fn run() -> Result<_, E> {
@@ -24,11 +19,6 @@ LL | pub fn interact(&mut self) -> Result<_> {
| |
| expected 2 generic arguments
|
-note: enum defined here, with 2 generic parameters: `T`, `E`
- --> $SRC_DIR/core/src/result.rs:LL:COL
- |
-LL | pub enum Result<T, E> {
- | ^^^^^^ - -
help: add missing generic argument
|
LL | pub fn interact(&mut self) -> Result<_, E> {
diff --git a/src/test/ui/typeck/issue-75889.rs b/tests/ui/typeck/issue-75889.rs
index 84c067ed0..84c067ed0 100644
--- a/src/test/ui/typeck/issue-75889.rs
+++ b/tests/ui/typeck/issue-75889.rs
diff --git a/src/test/ui/typeck/issue-75889.stderr b/tests/ui/typeck/issue-75889.stderr
index 1438f481e..1438f481e 100644
--- a/src/test/ui/typeck/issue-75889.stderr
+++ b/tests/ui/typeck/issue-75889.stderr
diff --git a/src/test/ui/typeck/issue-79040.rs b/tests/ui/typeck/issue-79040.rs
index 941612542..941612542 100644
--- a/src/test/ui/typeck/issue-79040.rs
+++ b/tests/ui/typeck/issue-79040.rs
diff --git a/src/test/ui/typeck/issue-79040.stderr b/tests/ui/typeck/issue-79040.stderr
index c820d1e08..c820d1e08 100644
--- a/src/test/ui/typeck/issue-79040.stderr
+++ b/tests/ui/typeck/issue-79040.stderr
diff --git a/src/test/ui/typeck/issue-80207-unsized-return.rs b/tests/ui/typeck/issue-80207-unsized-return.rs
index 75430da14..75430da14 100644
--- a/src/test/ui/typeck/issue-80207-unsized-return.rs
+++ b/tests/ui/typeck/issue-80207-unsized-return.rs
diff --git a/src/test/ui/typeck/issue-80779.rs b/tests/ui/typeck/issue-80779.rs
index 1624f6b77..1624f6b77 100644
--- a/src/test/ui/typeck/issue-80779.rs
+++ b/tests/ui/typeck/issue-80779.rs
diff --git a/src/test/ui/typeck/issue-80779.stderr b/tests/ui/typeck/issue-80779.stderr
index 2261ba616..2261ba616 100644
--- a/src/test/ui/typeck/issue-80779.stderr
+++ b/tests/ui/typeck/issue-80779.stderr
diff --git a/src/test/ui/typeck/issue-81293.rs b/tests/ui/typeck/issue-81293.rs
index 076b8c944..076b8c944 100644
--- a/src/test/ui/typeck/issue-81293.rs
+++ b/tests/ui/typeck/issue-81293.rs
diff --git a/src/test/ui/typeck/issue-81293.stderr b/tests/ui/typeck/issue-81293.stderr
index 6976be711..6976be711 100644
--- a/src/test/ui/typeck/issue-81293.stderr
+++ b/tests/ui/typeck/issue-81293.stderr
diff --git a/src/test/ui/typeck/issue-81885.rs b/tests/ui/typeck/issue-81885.rs
index fb3949478..fb3949478 100644
--- a/src/test/ui/typeck/issue-81885.rs
+++ b/tests/ui/typeck/issue-81885.rs
diff --git a/src/test/ui/typeck/issue-81885.stderr b/tests/ui/typeck/issue-81885.stderr
index 91c08bd82..91c08bd82 100644
--- a/src/test/ui/typeck/issue-81885.stderr
+++ b/tests/ui/typeck/issue-81885.stderr
diff --git a/src/test/ui/typeck/issue-81943.rs b/tests/ui/typeck/issue-81943.rs
index 18f5970a3..18f5970a3 100644
--- a/src/test/ui/typeck/issue-81943.rs
+++ b/tests/ui/typeck/issue-81943.rs
diff --git a/src/test/ui/typeck/issue-81943.stderr b/tests/ui/typeck/issue-81943.stderr
index 041ff1075..041ff1075 100644
--- a/src/test/ui/typeck/issue-81943.stderr
+++ b/tests/ui/typeck/issue-81943.stderr
diff --git a/src/test/ui/typeck/issue-82772.rs b/tests/ui/typeck/issue-82772.rs
index 326273bfe..326273bfe 100644
--- a/src/test/ui/typeck/issue-82772.rs
+++ b/tests/ui/typeck/issue-82772.rs
diff --git a/src/test/ui/typeck/issue-82772.stderr b/tests/ui/typeck/issue-82772.stderr
index 321143cb9..321143cb9 100644
--- a/src/test/ui/typeck/issue-82772.stderr
+++ b/tests/ui/typeck/issue-82772.stderr
diff --git a/src/test/ui/typeck/issue-83621-placeholder-static-in-extern.rs b/tests/ui/typeck/issue-83621-placeholder-static-in-extern.rs
index 16ec2a546..16ec2a546 100644
--- a/src/test/ui/typeck/issue-83621-placeholder-static-in-extern.rs
+++ b/tests/ui/typeck/issue-83621-placeholder-static-in-extern.rs
diff --git a/src/test/ui/typeck/issue-83621-placeholder-static-in-extern.stderr b/tests/ui/typeck/issue-83621-placeholder-static-in-extern.stderr
index 9376e8bcf..9376e8bcf 100644
--- a/src/test/ui/typeck/issue-83621-placeholder-static-in-extern.stderr
+++ b/tests/ui/typeck/issue-83621-placeholder-static-in-extern.stderr
diff --git a/src/test/ui/typeck/issue-83693.rs b/tests/ui/typeck/issue-83693.rs
index a42558220..a42558220 100644
--- a/src/test/ui/typeck/issue-83693.rs
+++ b/tests/ui/typeck/issue-83693.rs
diff --git a/src/test/ui/typeck/issue-83693.stderr b/tests/ui/typeck/issue-83693.stderr
index 1e45c2d35..ce4f73b82 100644
--- a/src/test/ui/typeck/issue-83693.stderr
+++ b/tests/ui/typeck/issue-83693.stderr
@@ -3,11 +3,9 @@ error[E0412]: cannot find type `F` in this scope
|
LL | impl F {
| ^ help: a trait with a similar name exists: `Fn`
+ --> $SRC_DIR/core/src/ops/function.rs:LL:COL
|
- ::: $SRC_DIR/core/src/ops/function.rs:LL:COL
- |
-LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
- | -------------------------------------- similarly named trait `Fn` defined here
+ = note: similarly named trait `Fn` defined here
error[E0412]: cannot find type `TestResult` in this scope
--> $DIR/issue-83693.rs:9:22
diff --git a/src/test/ui/typeck/issue-84160.rs b/tests/ui/typeck/issue-84160.rs
index 7b444df85..7b444df85 100644
--- a/src/test/ui/typeck/issue-84160.rs
+++ b/tests/ui/typeck/issue-84160.rs
diff --git a/src/test/ui/typeck/issue-84160.stderr b/tests/ui/typeck/issue-84160.stderr
index 24c188b3f..24c188b3f 100644
--- a/src/test/ui/typeck/issue-84160.stderr
+++ b/tests/ui/typeck/issue-84160.stderr
diff --git a/src/test/ui/typeck/issue-84768.rs b/tests/ui/typeck/issue-84768.rs
index ffa92823b..ffa92823b 100644
--- a/src/test/ui/typeck/issue-84768.rs
+++ b/tests/ui/typeck/issue-84768.rs
diff --git a/tests/ui/typeck/issue-84768.stderr b/tests/ui/typeck/issue-84768.stderr
new file mode 100644
index 000000000..09f3aee2d
--- /dev/null
+++ b/tests/ui/typeck/issue-84768.stderr
@@ -0,0 +1,30 @@
+error[E0229]: associated type bindings are not allowed here
+ --> $DIR/issue-84768.rs:7:11
+ |
+LL | <F as FnOnce(&mut u8)>::call_once(f, 1)
+ | ^^^^^^^^^^^^^^^ associated type not allowed here
+
+error[E0308]: mismatched types
+ --> $DIR/issue-84768.rs:7:42
+ |
+LL | <F as FnOnce(&mut u8)>::call_once(f, 1)
+ | --------------------------------- ^ expected tuple, found integer
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected tuple `(&mut u8,)`
+ found type `{integer}`
+help: the return type of this call is `{integer}` due to the type of the argument passed
+ --> $DIR/issue-84768.rs:7:5
+ |
+LL | <F as FnOnce(&mut u8)>::call_once(f, 1)
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-^
+ | |
+ | this argument influences the return type of `FnOnce`
+note: associated function defined here
+ --> $SRC_DIR/core/src/ops/function.rs:LL:COL
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0229, E0308.
+For more information about an error, try `rustc --explain E0229`.
diff --git a/src/test/ui/typeck/issue-84831.rs b/tests/ui/typeck/issue-84831.rs
index c646f7107..c646f7107 100644
--- a/src/test/ui/typeck/issue-84831.rs
+++ b/tests/ui/typeck/issue-84831.rs
diff --git a/src/test/ui/typeck/issue-84831.stderr b/tests/ui/typeck/issue-84831.stderr
index 461ccb142..461ccb142 100644
--- a/src/test/ui/typeck/issue-84831.stderr
+++ b/tests/ui/typeck/issue-84831.stderr
diff --git a/src/test/ui/typeck/issue-86721-return-expr-ice.rev1.stderr b/tests/ui/typeck/issue-86721-return-expr-ice.rev1.stderr
index b1111fcf1..b1111fcf1 100644
--- a/src/test/ui/typeck/issue-86721-return-expr-ice.rev1.stderr
+++ b/tests/ui/typeck/issue-86721-return-expr-ice.rev1.stderr
diff --git a/src/test/ui/typeck/issue-86721-return-expr-ice.rev2.stderr b/tests/ui/typeck/issue-86721-return-expr-ice.rev2.stderr
index f489ae200..f489ae200 100644
--- a/src/test/ui/typeck/issue-86721-return-expr-ice.rev2.stderr
+++ b/tests/ui/typeck/issue-86721-return-expr-ice.rev2.stderr
diff --git a/src/test/ui/typeck/issue-86721-return-expr-ice.rs b/tests/ui/typeck/issue-86721-return-expr-ice.rs
index cd7135f18..cd7135f18 100644
--- a/src/test/ui/typeck/issue-86721-return-expr-ice.rs
+++ b/tests/ui/typeck/issue-86721-return-expr-ice.rs
diff --git a/tests/ui/typeck/issue-87181/empty-tuple-method.rs b/tests/ui/typeck/issue-87181/empty-tuple-method.rs
new file mode 100644
index 000000000..96b3f8dab
--- /dev/null
+++ b/tests/ui/typeck/issue-87181/empty-tuple-method.rs
@@ -0,0 +1,14 @@
+struct Bar<T> {
+ bar: T
+}
+
+struct Foo();
+impl Foo {
+ fn foo(&self) { }
+}
+
+fn main() {
+ let thing = Bar { bar: Foo };
+ thing.bar.foo();
+ //~^ ERROR no method named `foo` found for struct constructor `fn() -> Foo {Foo}` in the current scope [E0599]
+}
diff --git a/src/test/ui/typeck/issue-87181/empty-tuple-method.stderr b/tests/ui/typeck/issue-87181/empty-tuple-method.stderr
index 23e7b7cc3..f0ca49e6d 100644
--- a/src/test/ui/typeck/issue-87181/empty-tuple-method.stderr
+++ b/tests/ui/typeck/issue-87181/empty-tuple-method.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `foo` found for fn item `fn() -> Foo {Foo}` in the current scope
+error[E0599]: no method named `foo` found for struct constructor `fn() -> Foo {Foo}` in the current scope
--> $DIR/empty-tuple-method.rs:12:15
|
LL | thing.bar.foo();
diff --git a/tests/ui/typeck/issue-87181/enum-variant.rs b/tests/ui/typeck/issue-87181/enum-variant.rs
new file mode 100644
index 000000000..ed01656ce
--- /dev/null
+++ b/tests/ui/typeck/issue-87181/enum-variant.rs
@@ -0,0 +1,16 @@
+struct Bar<T> {
+ bar: T
+}
+
+enum Foo{
+ Tup()
+}
+impl Foo {
+ fn foo(&self) { }
+}
+
+fn main() {
+ let thing = Bar { bar: Foo::Tup };
+ thing.bar.foo();
+ //~^ ERROR no method named `foo` found for enum constructor `fn() -> Foo {Foo::Tup}` in the current scope [E0599]
+}
diff --git a/src/test/ui/typeck/issue-87181/enum-variant.stderr b/tests/ui/typeck/issue-87181/enum-variant.stderr
index 2247ea270..d313a887a 100644
--- a/src/test/ui/typeck/issue-87181/enum-variant.stderr
+++ b/tests/ui/typeck/issue-87181/enum-variant.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `foo` found for fn item `fn() -> Foo {Foo::Tup}` in the current scope
+error[E0599]: no method named `foo` found for enum constructor `fn() -> Foo {Foo::Tup}` in the current scope
--> $DIR/enum-variant.rs:14:15
|
LL | thing.bar.foo();
diff --git a/src/test/ui/typeck/issue-87181/tuple-field.rs b/tests/ui/typeck/issue-87181/tuple-field.rs
index 00e3b460e..00e3b460e 100644
--- a/src/test/ui/typeck/issue-87181/tuple-field.rs
+++ b/tests/ui/typeck/issue-87181/tuple-field.rs
diff --git a/src/test/ui/typeck/issue-87181/tuple-field.stderr b/tests/ui/typeck/issue-87181/tuple-field.stderr
index 0a7d30b61..0a7d30b61 100644
--- a/src/test/ui/typeck/issue-87181/tuple-field.stderr
+++ b/tests/ui/typeck/issue-87181/tuple-field.stderr
diff --git a/tests/ui/typeck/issue-87181/tuple-method.rs b/tests/ui/typeck/issue-87181/tuple-method.rs
new file mode 100644
index 000000000..631098443
--- /dev/null
+++ b/tests/ui/typeck/issue-87181/tuple-method.rs
@@ -0,0 +1,14 @@
+struct Bar<T> {
+ bar: T
+}
+
+struct Foo(u8, i32);
+impl Foo {
+ fn foo() { }
+}
+
+fn main() {
+ let thing = Bar { bar: Foo };
+ thing.bar.foo();
+ //~^ ERROR no method named `foo` found for struct constructor `fn(u8, i32) -> Foo {Foo}` in the current scope [E0599]
+}
diff --git a/tests/ui/typeck/issue-87181/tuple-method.stderr b/tests/ui/typeck/issue-87181/tuple-method.stderr
new file mode 100644
index 000000000..de3dc15a5
--- /dev/null
+++ b/tests/ui/typeck/issue-87181/tuple-method.stderr
@@ -0,0 +1,9 @@
+error[E0599]: no method named `foo` found for struct constructor `fn(u8, i32) -> Foo {Foo}` in the current scope
+ --> $DIR/tuple-method.rs:12:15
+ |
+LL | thing.bar.foo();
+ | ^^^ method not found in `fn(u8, i32) -> Foo {Foo}`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.
diff --git a/src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs b/tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs
index 751dc8719..751dc8719 100644
--- a/src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs
+++ b/tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.rs
diff --git a/src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr b/tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr
index 56817ee2c..56817ee2c 100644
--- a/src/test/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr
+++ b/tests/ui/typeck/issue-87771-ice-assign-assign-to-bool.stderr
diff --git a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs b/tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs
index 326e958aa..326e958aa 100644
--- a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs
+++ b/tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.rs
diff --git a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr b/tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr
index f0bd3e0dd..f0bd3e0dd 100644
--- a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr
+++ b/tests/ui/typeck/issue-87872-missing-inaccessible-field-literal.stderr
diff --git a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs
index d28e17559..d28e17559 100644
--- a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs
+++ b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.rs
diff --git a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
index dc3097510..dc3097510 100644
--- a/src/test/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
+++ b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
diff --git a/src/test/ui/typeck/issue-87935-unsized-box-expr.rs b/tests/ui/typeck/issue-87935-unsized-box-expr.rs
index cd2a82074..cd2a82074 100644
--- a/src/test/ui/typeck/issue-87935-unsized-box-expr.rs
+++ b/tests/ui/typeck/issue-87935-unsized-box-expr.rs
diff --git a/src/test/ui/typeck/issue-87935-unsized-box-expr.stderr b/tests/ui/typeck/issue-87935-unsized-box-expr.stderr
index 9ff822352..9ff822352 100644
--- a/src/test/ui/typeck/issue-87935-unsized-box-expr.stderr
+++ b/tests/ui/typeck/issue-87935-unsized-box-expr.stderr
diff --git a/src/test/ui/typeck/issue-88609.rs b/tests/ui/typeck/issue-88609.rs
index dc459c885..dc459c885 100644
--- a/src/test/ui/typeck/issue-88609.rs
+++ b/tests/ui/typeck/issue-88609.rs
diff --git a/src/test/ui/typeck/issue-88643.rs b/tests/ui/typeck/issue-88643.rs
index 4435cba02..4435cba02 100644
--- a/src/test/ui/typeck/issue-88643.rs
+++ b/tests/ui/typeck/issue-88643.rs
diff --git a/src/test/ui/typeck/issue-88643.stderr b/tests/ui/typeck/issue-88643.stderr
index d5d596b6f..d5d596b6f 100644
--- a/src/test/ui/typeck/issue-88643.stderr
+++ b/tests/ui/typeck/issue-88643.stderr
diff --git a/src/test/ui/typeck/issue-88803-call-expr-method.fixed b/tests/ui/typeck/issue-88803-call-expr-method.fixed
index 19b96ecf3..19b96ecf3 100644
--- a/src/test/ui/typeck/issue-88803-call-expr-method.fixed
+++ b/tests/ui/typeck/issue-88803-call-expr-method.fixed
diff --git a/src/test/ui/typeck/issue-88803-call-expr-method.rs b/tests/ui/typeck/issue-88803-call-expr-method.rs
index a06199466..a06199466 100644
--- a/src/test/ui/typeck/issue-88803-call-expr-method.rs
+++ b/tests/ui/typeck/issue-88803-call-expr-method.rs
diff --git a/src/test/ui/typeck/issue-88803-call-expr-method.stderr b/tests/ui/typeck/issue-88803-call-expr-method.stderr
index 645c04b87..645c04b87 100644
--- a/src/test/ui/typeck/issue-88803-call-expr-method.stderr
+++ b/tests/ui/typeck/issue-88803-call-expr-method.stderr
diff --git a/src/test/ui/typeck/issue-88844.rs b/tests/ui/typeck/issue-88844.rs
index 116c75aab..116c75aab 100644
--- a/src/test/ui/typeck/issue-88844.rs
+++ b/tests/ui/typeck/issue-88844.rs
diff --git a/src/test/ui/typeck/issue-88844.stderr b/tests/ui/typeck/issue-88844.stderr
index 90bba90be..90bba90be 100644
--- a/src/test/ui/typeck/issue-88844.stderr
+++ b/tests/ui/typeck/issue-88844.stderr
diff --git a/src/test/ui/typeck/issue-89044-wrapped-expr-method.fixed b/tests/ui/typeck/issue-89044-wrapped-expr-method.fixed
index 0a3086a34..0a3086a34 100644
--- a/src/test/ui/typeck/issue-89044-wrapped-expr-method.fixed
+++ b/tests/ui/typeck/issue-89044-wrapped-expr-method.fixed
diff --git a/src/test/ui/typeck/issue-89044-wrapped-expr-method.rs b/tests/ui/typeck/issue-89044-wrapped-expr-method.rs
index 83617e035..83617e035 100644
--- a/src/test/ui/typeck/issue-89044-wrapped-expr-method.rs
+++ b/tests/ui/typeck/issue-89044-wrapped-expr-method.rs
diff --git a/src/test/ui/typeck/issue-89044-wrapped-expr-method.stderr b/tests/ui/typeck/issue-89044-wrapped-expr-method.stderr
index 6fa0915dc..6fa0915dc 100644
--- a/src/test/ui/typeck/issue-89044-wrapped-expr-method.stderr
+++ b/tests/ui/typeck/issue-89044-wrapped-expr-method.stderr
diff --git a/src/test/ui/typeck/issue-89275.rs b/tests/ui/typeck/issue-89275.rs
index b91c00175..b91c00175 100644
--- a/src/test/ui/typeck/issue-89275.rs
+++ b/tests/ui/typeck/issue-89275.rs
diff --git a/src/test/ui/typeck/issue-89275.stderr b/tests/ui/typeck/issue-89275.stderr
index d73e647d2..d73e647d2 100644
--- a/src/test/ui/typeck/issue-89275.stderr
+++ b/tests/ui/typeck/issue-89275.stderr
diff --git a/src/test/ui/typeck/issue-89806.rs b/tests/ui/typeck/issue-89806.rs
index 69cec0865..69cec0865 100644
--- a/src/test/ui/typeck/issue-89806.rs
+++ b/tests/ui/typeck/issue-89806.rs
diff --git a/src/test/ui/typeck/issue-89806.stderr b/tests/ui/typeck/issue-89806.stderr
index c36b4967e..c36b4967e 100644
--- a/src/test/ui/typeck/issue-89806.stderr
+++ b/tests/ui/typeck/issue-89806.stderr
diff --git a/src/test/ui/typeck/issue-89856.rs b/tests/ui/typeck/issue-89856.rs
index b021e349e..b021e349e 100644
--- a/src/test/ui/typeck/issue-89856.rs
+++ b/tests/ui/typeck/issue-89856.rs
diff --git a/src/test/ui/typeck/issue-89856.stderr b/tests/ui/typeck/issue-89856.stderr
index 5fa1ae1a5..5fa1ae1a5 100644
--- a/src/test/ui/typeck/issue-89856.stderr
+++ b/tests/ui/typeck/issue-89856.stderr
diff --git a/src/test/ui/typeck/issue-89935.rs b/tests/ui/typeck/issue-89935.rs
index 03f8f09a7..03f8f09a7 100644
--- a/src/test/ui/typeck/issue-89935.rs
+++ b/tests/ui/typeck/issue-89935.rs
diff --git a/src/test/ui/typeck/issue-90101.rs b/tests/ui/typeck/issue-90101.rs
index 1954ee6f1..1954ee6f1 100644
--- a/src/test/ui/typeck/issue-90101.rs
+++ b/tests/ui/typeck/issue-90101.rs
diff --git a/src/test/ui/typeck/issue-90101.stderr b/tests/ui/typeck/issue-90101.stderr
index d2729d853..d2729d853 100644
--- a/src/test/ui/typeck/issue-90101.stderr
+++ b/tests/ui/typeck/issue-90101.stderr
diff --git a/src/test/ui/typeck/issue-90164.rs b/tests/ui/typeck/issue-90164.rs
index 63350433e..63350433e 100644
--- a/src/test/ui/typeck/issue-90164.rs
+++ b/tests/ui/typeck/issue-90164.rs
diff --git a/src/test/ui/typeck/issue-90164.stderr b/tests/ui/typeck/issue-90164.stderr
index 1e2f1bae3..1e2f1bae3 100644
--- a/src/test/ui/typeck/issue-90164.stderr
+++ b/tests/ui/typeck/issue-90164.stderr
diff --git a/src/test/ui/typeck/issue-90319.rs b/tests/ui/typeck/issue-90319.rs
index 57e6ac7cf..57e6ac7cf 100644
--- a/src/test/ui/typeck/issue-90319.rs
+++ b/tests/ui/typeck/issue-90319.rs
diff --git a/src/test/ui/typeck/issue-90319.stderr b/tests/ui/typeck/issue-90319.stderr
index 61549dd70..61549dd70 100644
--- a/src/test/ui/typeck/issue-90319.stderr
+++ b/tests/ui/typeck/issue-90319.stderr
diff --git a/src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.rs b/tests/ui/typeck/issue-90483-inaccessible-field-adjustment.rs
index 74e50d46e..74e50d46e 100644
--- a/src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.rs
+++ b/tests/ui/typeck/issue-90483-inaccessible-field-adjustment.rs
diff --git a/src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr b/tests/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr
index 02cdc102c..02cdc102c 100644
--- a/src/test/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr
+++ b/tests/ui/typeck/issue-90483-inaccessible-field-adjustment.stderr
diff --git a/src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.rs b/tests/ui/typeck/issue-90804-incorrect-reference-suggestion.rs
index f891a42fc..f891a42fc 100644
--- a/src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.rs
+++ b/tests/ui/typeck/issue-90804-incorrect-reference-suggestion.rs
diff --git a/src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr b/tests/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr
index 08eab0253..08eab0253 100644
--- a/src/test/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr
+++ b/tests/ui/typeck/issue-90804-incorrect-reference-suggestion.stderr
diff --git a/src/test/ui/typeck/issue-91210-ptr-method.fixed b/tests/ui/typeck/issue-91210-ptr-method.fixed
index 94200cce7..94200cce7 100644
--- a/src/test/ui/typeck/issue-91210-ptr-method.fixed
+++ b/tests/ui/typeck/issue-91210-ptr-method.fixed
diff --git a/src/test/ui/typeck/issue-91210-ptr-method.rs b/tests/ui/typeck/issue-91210-ptr-method.rs
index ed0ce6eff..ed0ce6eff 100644
--- a/src/test/ui/typeck/issue-91210-ptr-method.rs
+++ b/tests/ui/typeck/issue-91210-ptr-method.rs
diff --git a/src/test/ui/typeck/issue-91210-ptr-method.stderr b/tests/ui/typeck/issue-91210-ptr-method.stderr
index 7a0cfb2cf..7a0cfb2cf 100644
--- a/src/test/ui/typeck/issue-91210-ptr-method.stderr
+++ b/tests/ui/typeck/issue-91210-ptr-method.stderr
diff --git a/src/test/ui/typeck/issue-91267.rs b/tests/ui/typeck/issue-91267.rs
index 4e39cfab5..4e39cfab5 100644
--- a/src/test/ui/typeck/issue-91267.rs
+++ b/tests/ui/typeck/issue-91267.rs
diff --git a/src/test/ui/typeck/issue-91267.stderr b/tests/ui/typeck/issue-91267.stderr
index 72acd9c67..72acd9c67 100644
--- a/src/test/ui/typeck/issue-91267.stderr
+++ b/tests/ui/typeck/issue-91267.stderr
diff --git a/src/test/ui/typeck/issue-91328.fixed b/tests/ui/typeck/issue-91328.fixed
index c0384399a..c0384399a 100644
--- a/src/test/ui/typeck/issue-91328.fixed
+++ b/tests/ui/typeck/issue-91328.fixed
diff --git a/src/test/ui/typeck/issue-91328.rs b/tests/ui/typeck/issue-91328.rs
index 63602d26f..63602d26f 100644
--- a/src/test/ui/typeck/issue-91328.rs
+++ b/tests/ui/typeck/issue-91328.rs
diff --git a/src/test/ui/typeck/issue-91328.stderr b/tests/ui/typeck/issue-91328.stderr
index f2f407bca..f2f407bca 100644
--- a/src/test/ui/typeck/issue-91328.stderr
+++ b/tests/ui/typeck/issue-91328.stderr
diff --git a/src/test/ui/typeck/issue-91334.rs b/tests/ui/typeck/issue-91334.rs
index bf9a5a626..bf9a5a626 100644
--- a/src/test/ui/typeck/issue-91334.rs
+++ b/tests/ui/typeck/issue-91334.rs
diff --git a/src/test/ui/typeck/issue-91334.stderr b/tests/ui/typeck/issue-91334.stderr
index 8508f7a38..8508f7a38 100644
--- a/src/test/ui/typeck/issue-91334.stderr
+++ b/tests/ui/typeck/issue-91334.stderr
diff --git a/src/test/ui/typeck/issue-91450-inner-ty-error.rs b/tests/ui/typeck/issue-91450-inner-ty-error.rs
index 3c7c990d4..3c7c990d4 100644
--- a/src/test/ui/typeck/issue-91450-inner-ty-error.rs
+++ b/tests/ui/typeck/issue-91450-inner-ty-error.rs
diff --git a/src/test/ui/typeck/issue-91450-inner-ty-error.stderr b/tests/ui/typeck/issue-91450-inner-ty-error.stderr
index 32f4c8f6f..32f4c8f6f 100644
--- a/src/test/ui/typeck/issue-91450-inner-ty-error.stderr
+++ b/tests/ui/typeck/issue-91450-inner-ty-error.stderr
diff --git a/src/test/ui/typeck/issue-91633.rs b/tests/ui/typeck/issue-91633.rs
index 331a798dd..331a798dd 100644
--- a/src/test/ui/typeck/issue-91633.rs
+++ b/tests/ui/typeck/issue-91633.rs
diff --git a/tests/ui/typeck/issue-92481.rs b/tests/ui/typeck/issue-92481.rs
new file mode 100644
index 000000000..0a6b1843d
--- /dev/null
+++ b/tests/ui/typeck/issue-92481.rs
@@ -0,0 +1,14 @@
+//check-fail
+
+#![crate_type="lib"]
+
+fn r({) {
+ Ok { //~ ERROR mismatched types [E0308]
+ d..||_=m
+ }
+}
+//~^^^^^ ERROR expected parameter name, found `{`
+//~| ERROR expected one of `,`, `:`, or `}`, found `..`
+//~^^^^^ ERROR cannot find value `d` in this scope [E0425]
+//~| ERROR cannot find value `m` in this scope [E0425]
+//~| ERROR variant `Result<_, _>::Ok` has no field named `d` [E0559]
diff --git a/tests/ui/typeck/issue-92481.stderr b/tests/ui/typeck/issue-92481.stderr
new file mode 100644
index 000000000..cd778a649
--- /dev/null
+++ b/tests/ui/typeck/issue-92481.stderr
@@ -0,0 +1,60 @@
+error: expected parameter name, found `{`
+ --> $DIR/issue-92481.rs:5:6
+ |
+LL | fn r({) {
+ | ^ expected parameter name
+
+error: expected one of `,`, `:`, or `}`, found `..`
+ --> $DIR/issue-92481.rs:5:6
+ |
+LL | fn r({) {
+ | ^ unclosed delimiter
+LL | Ok {
+LL | d..||_=m
+ | -^
+ | |
+ | help: `}` may belong here
+
+error[E0425]: cannot find value `d` in this scope
+ --> $DIR/issue-92481.rs:7:9
+ |
+LL | d..||_=m
+ | ^ not found in this scope
+
+error[E0425]: cannot find value `m` in this scope
+ --> $DIR/issue-92481.rs:7:16
+ |
+LL | d..||_=m
+ | ^ not found in this scope
+
+error[E0559]: variant `Result<_, _>::Ok` has no field named `d`
+ --> $DIR/issue-92481.rs:7:9
+ |
+LL | d..||_=m
+ | ^ field does not exist
+ --> $SRC_DIR/core/src/result.rs:LL:COL
+ |
+ = note: `Result<_, _>::Ok` defined here
+ |
+help: `Result<_, _>::Ok` is a tuple variant, use the appropriate syntax
+ |
+LL | Result<_, _>::Ok(/* fields */)
+ |
+
+error[E0308]: mismatched types
+ --> $DIR/issue-92481.rs:6:5
+ |
+LL | fn r({) {
+ | - help: a return type might be missing here: `-> _`
+LL | / Ok {
+LL | | d..||_=m
+LL | | }
+ | |_____^ expected `()`, found enum `Result`
+ |
+ = note: expected unit type `()`
+ found enum `Result<_, _>`
+
+error: aborting due to 6 previous errors
+
+Some errors have detailed explanations: E0308, E0425, E0559.
+For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/typeck/issue-93486.rs b/tests/ui/typeck/issue-93486.rs
index f8f98d5c1..f8f98d5c1 100644
--- a/src/test/ui/typeck/issue-93486.rs
+++ b/tests/ui/typeck/issue-93486.rs
diff --git a/src/test/ui/typeck/issue-93486.stderr b/tests/ui/typeck/issue-93486.stderr
index 167edc894..167edc894 100644
--- a/src/test/ui/typeck/issue-93486.stderr
+++ b/tests/ui/typeck/issue-93486.stderr
diff --git a/tests/ui/typeck/issue-96530.rs b/tests/ui/typeck/issue-96530.rs
new file mode 100644
index 000000000..4ab93ab49
--- /dev/null
+++ b/tests/ui/typeck/issue-96530.rs
@@ -0,0 +1,20 @@
+struct Person {
+ first_name: String,
+ age: u32,
+}
+
+fn first_woman(man: &Person) -> Person {
+ Person {
+ first_name: "Eve".to_string(),
+ ..man.clone() //~ ERROR: mismatched types
+ }
+}
+
+fn main() {
+ let adam = Person {
+ first_name: "Adam".to_string(),
+ age: 0,
+ };
+
+ let eve = first_woman(&adam);
+}
diff --git a/tests/ui/typeck/issue-96530.stderr b/tests/ui/typeck/issue-96530.stderr
new file mode 100644
index 000000000..4b4568b1d
--- /dev/null
+++ b/tests/ui/typeck/issue-96530.stderr
@@ -0,0 +1,9 @@
+error[E0308]: mismatched types
+ --> $DIR/issue-96530.rs:9:11
+ |
+LL | ..man.clone()
+ | ^^^^^^^^^^^ expected struct `Person`, found `&Person`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/typeck/issue-96738.rs b/tests/ui/typeck/issue-96738.rs
index ce2556f86..ce2556f86 100644
--- a/src/test/ui/typeck/issue-96738.rs
+++ b/tests/ui/typeck/issue-96738.rs
diff --git a/src/test/ui/typeck/issue-96738.stderr b/tests/ui/typeck/issue-96738.stderr
index 0d4d87ef4..547cffffa 100644
--- a/src/test/ui/typeck/issue-96738.stderr
+++ b/tests/ui/typeck/issue-96738.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `nonexistent_method` found for fn item `fn(_) -> Option<_> {Option::<_>::Some}` in the current scope
+error[E0599]: no method named `nonexistent_method` found for enum constructor `fn(_) -> Option<_> {Option::<_>::Some}` in the current scope
--> $DIR/issue-96738.rs:2:10
|
LL | Some.nonexistent_method();
diff --git a/src/test/ui/typeck/issue-98260.rs b/tests/ui/typeck/issue-98260.rs
index cf48294e1..cf48294e1 100644
--- a/src/test/ui/typeck/issue-98260.rs
+++ b/tests/ui/typeck/issue-98260.rs
diff --git a/src/test/ui/typeck/issue-98260.stderr b/tests/ui/typeck/issue-98260.stderr
index 08a1d17e2..08a1d17e2 100644
--- a/src/test/ui/typeck/issue-98260.stderr
+++ b/tests/ui/typeck/issue-98260.stderr
diff --git a/src/test/ui/typeck/issue-98982.rs b/tests/ui/typeck/issue-98982.rs
index 2553824bb..2553824bb 100644
--- a/src/test/ui/typeck/issue-98982.rs
+++ b/tests/ui/typeck/issue-98982.rs
diff --git a/src/test/ui/typeck/issue-98982.stderr b/tests/ui/typeck/issue-98982.stderr
index 3c9806ac9..3c9806ac9 100644
--- a/src/test/ui/typeck/issue-98982.stderr
+++ b/tests/ui/typeck/issue-98982.stderr
diff --git a/src/test/ui/typeck/missing-private-fields-in-struct-literal.rs b/tests/ui/typeck/missing-private-fields-in-struct-literal.rs
index 9f1560bfb..9f1560bfb 100644
--- a/src/test/ui/typeck/missing-private-fields-in-struct-literal.rs
+++ b/tests/ui/typeck/missing-private-fields-in-struct-literal.rs
diff --git a/src/test/ui/typeck/missing-private-fields-in-struct-literal.stderr b/tests/ui/typeck/missing-private-fields-in-struct-literal.stderr
index 234110f31..234110f31 100644
--- a/src/test/ui/typeck/missing-private-fields-in-struct-literal.stderr
+++ b/tests/ui/typeck/missing-private-fields-in-struct-literal.stderr
diff --git a/src/test/ui/typeck/no-type-for-node-ice.rs b/tests/ui/typeck/no-type-for-node-ice.rs
index d0cfdbf50..d0cfdbf50 100644
--- a/src/test/ui/typeck/no-type-for-node-ice.rs
+++ b/tests/ui/typeck/no-type-for-node-ice.rs
diff --git a/src/test/ui/typeck/no-type-for-node-ice.stderr b/tests/ui/typeck/no-type-for-node-ice.stderr
index b50241fb1..b50241fb1 100644
--- a/src/test/ui/typeck/no-type-for-node-ice.stderr
+++ b/tests/ui/typeck/no-type-for-node-ice.stderr
diff --git a/tests/ui/typeck/nonexistent-field-not-ambiguous.rs b/tests/ui/typeck/nonexistent-field-not-ambiguous.rs
new file mode 100644
index 000000000..1cd192b78
--- /dev/null
+++ b/tests/ui/typeck/nonexistent-field-not-ambiguous.rs
@@ -0,0 +1,8 @@
+struct Foo {
+ val: MissingType,
+ //~^ ERROR cannot find type `MissingType` in this scope
+}
+
+fn main() {
+ Foo { val: Default::default() };
+}
diff --git a/tests/ui/typeck/nonexistent-field-not-ambiguous.stderr b/tests/ui/typeck/nonexistent-field-not-ambiguous.stderr
new file mode 100644
index 000000000..76a2a5f99
--- /dev/null
+++ b/tests/ui/typeck/nonexistent-field-not-ambiguous.stderr
@@ -0,0 +1,9 @@
+error[E0412]: cannot find type `MissingType` in this scope
+ --> $DIR/nonexistent-field-not-ambiguous.rs:2:10
+ |
+LL | val: MissingType,
+ | ^^^^^^^^^^^ not found in this scope
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0412`.
diff --git a/src/test/ui/typeck/path-to-method-sugg-unresolved-expr.rs b/tests/ui/typeck/path-to-method-sugg-unresolved-expr.rs
index fb56b3944..fb56b3944 100644
--- a/src/test/ui/typeck/path-to-method-sugg-unresolved-expr.rs
+++ b/tests/ui/typeck/path-to-method-sugg-unresolved-expr.rs
diff --git a/src/test/ui/typeck/path-to-method-sugg-unresolved-expr.stderr b/tests/ui/typeck/path-to-method-sugg-unresolved-expr.stderr
index b01e30be5..b01e30be5 100644
--- a/src/test/ui/typeck/path-to-method-sugg-unresolved-expr.stderr
+++ b/tests/ui/typeck/path-to-method-sugg-unresolved-expr.stderr
diff --git a/src/test/ui/typeck/point-at-type-param-in-path-expr.rs b/tests/ui/typeck/point-at-type-param-in-path-expr.rs
index 9a21536f9..9a21536f9 100644
--- a/src/test/ui/typeck/point-at-type-param-in-path-expr.rs
+++ b/tests/ui/typeck/point-at-type-param-in-path-expr.rs
diff --git a/src/test/ui/typeck/point-at-type-param-in-path-expr.stderr b/tests/ui/typeck/point-at-type-param-in-path-expr.stderr
index 1feaa0508..1feaa0508 100644
--- a/src/test/ui/typeck/point-at-type-param-in-path-expr.stderr
+++ b/tests/ui/typeck/point-at-type-param-in-path-expr.stderr
diff --git a/src/test/ui/typeck/point-at-type-parameter-definition.rs b/tests/ui/typeck/point-at-type-parameter-definition.rs
index 856c0db08..856c0db08 100644
--- a/src/test/ui/typeck/point-at-type-parameter-definition.rs
+++ b/tests/ui/typeck/point-at-type-parameter-definition.rs
diff --git a/src/test/ui/typeck/point-at-type-parameter-definition.stderr b/tests/ui/typeck/point-at-type-parameter-definition.stderr
index 8a6ab6110..8a6ab6110 100644
--- a/src/test/ui/typeck/point-at-type-parameter-definition.stderr
+++ b/tests/ui/typeck/point-at-type-parameter-definition.stderr
diff --git a/src/test/ui/typeck/prim-with-args.fixed b/tests/ui/typeck/prim-with-args.fixed
index e3f99479a..e3f99479a 100644
--- a/src/test/ui/typeck/prim-with-args.fixed
+++ b/tests/ui/typeck/prim-with-args.fixed
diff --git a/src/test/ui/typeck/prim-with-args.rs b/tests/ui/typeck/prim-with-args.rs
index b10471ecc..b10471ecc 100644
--- a/src/test/ui/typeck/prim-with-args.rs
+++ b/tests/ui/typeck/prim-with-args.rs
diff --git a/src/test/ui/typeck/prim-with-args.stderr b/tests/ui/typeck/prim-with-args.stderr
index 2ddad5ad7..2ddad5ad7 100644
--- a/src/test/ui/typeck/prim-with-args.stderr
+++ b/tests/ui/typeck/prim-with-args.stderr
diff --git a/src/test/ui/typeck/project-cache-issue-37154.rs b/tests/ui/typeck/project-cache-issue-37154.rs
index b10239c22..b10239c22 100644
--- a/src/test/ui/typeck/project-cache-issue-37154.rs
+++ b/tests/ui/typeck/project-cache-issue-37154.rs
diff --git a/tests/ui/typeck/quiet-type-err-let-binding.rs b/tests/ui/typeck/quiet-type-err-let-binding.rs
new file mode 100644
index 000000000..a6eab536a
--- /dev/null
+++ b/tests/ui/typeck/quiet-type-err-let-binding.rs
@@ -0,0 +1,17 @@
+// fn foo() -> String {
+// String::new()
+// }
+
+fn test(s: &str) {
+ println!("{}", s);
+}
+
+fn test2(s: String) {
+ println!("{}", s);
+}
+
+fn main() {
+ let x = foo(); //~ERROR cannot find function `foo` in this scope
+ test(&x);
+ test2(x); // Does not complain about `x` being a `&str`.
+}
diff --git a/tests/ui/typeck/quiet-type-err-let-binding.stderr b/tests/ui/typeck/quiet-type-err-let-binding.stderr
new file mode 100644
index 000000000..ad7f85e01
--- /dev/null
+++ b/tests/ui/typeck/quiet-type-err-let-binding.stderr
@@ -0,0 +1,9 @@
+error[E0425]: cannot find function `foo` in this scope
+ --> $DIR/quiet-type-err-let-binding.rs:14:13
+ |
+LL | let x = foo();
+ | ^^^ not found in this scope
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0425`.
diff --git a/tests/ui/typeck/remove-extra-argument.fixed b/tests/ui/typeck/remove-extra-argument.fixed
new file mode 100644
index 000000000..d09306bf7
--- /dev/null
+++ b/tests/ui/typeck/remove-extra-argument.fixed
@@ -0,0 +1,9 @@
+// run-rustfix
+// Check that the HELP suggestion is `l(vec![])` instead of `l($crate::vec::Vec::new())`
+fn l(_a: Vec<u8>) {}
+
+fn main() {
+ l(vec![])
+ //~^ ERROR function takes 1 argument but 2 arguments were supplied
+ //~| HELP remove the extra argument
+}
diff --git a/tests/ui/typeck/remove-extra-argument.rs b/tests/ui/typeck/remove-extra-argument.rs
new file mode 100644
index 000000000..2181c37ce
--- /dev/null
+++ b/tests/ui/typeck/remove-extra-argument.rs
@@ -0,0 +1,9 @@
+// run-rustfix
+// Check that the HELP suggestion is `l(vec![])` instead of `l($crate::vec::Vec::new())`
+fn l(_a: Vec<u8>) {}
+
+fn main() {
+ l(vec![], vec![])
+ //~^ ERROR function takes 1 argument but 2 arguments were supplied
+ //~| HELP remove the extra argument
+}
diff --git a/src/test/ui/typeck/remove-extra-argument.stderr b/tests/ui/typeck/remove-extra-argument.stderr
index b734bcd4e..b734bcd4e 100644
--- a/src/test/ui/typeck/remove-extra-argument.stderr
+++ b/tests/ui/typeck/remove-extra-argument.stderr
diff --git a/src/test/ui/typeck/return_type_containing_closure.rs b/tests/ui/typeck/return_type_containing_closure.rs
index 29624e08a..29624e08a 100644
--- a/src/test/ui/typeck/return_type_containing_closure.rs
+++ b/tests/ui/typeck/return_type_containing_closure.rs
diff --git a/src/test/ui/typeck/return_type_containing_closure.stderr b/tests/ui/typeck/return_type_containing_closure.stderr
index 101aee395..101aee395 100644
--- a/src/test/ui/typeck/return_type_containing_closure.stderr
+++ b/tests/ui/typeck/return_type_containing_closure.stderr
diff --git a/src/test/ui/typeck/slow-lhs-suggestion.rs b/tests/ui/typeck/slow-lhs-suggestion.rs
index 80dfd6835..80dfd6835 100644
--- a/src/test/ui/typeck/slow-lhs-suggestion.rs
+++ b/tests/ui/typeck/slow-lhs-suggestion.rs
diff --git a/src/test/ui/typeck/slow-lhs-suggestion.stderr b/tests/ui/typeck/slow-lhs-suggestion.stderr
index c5bf795ee..c5bf795ee 100644
--- a/src/test/ui/typeck/slow-lhs-suggestion.stderr
+++ b/tests/ui/typeck/slow-lhs-suggestion.stderr
diff --git a/src/test/ui/typeck/struct-enum-wrong-args.rs b/tests/ui/typeck/struct-enum-wrong-args.rs
index 19de4d677..19de4d677 100644
--- a/src/test/ui/typeck/struct-enum-wrong-args.rs
+++ b/tests/ui/typeck/struct-enum-wrong-args.rs
diff --git a/src/test/ui/typeck/struct-enum-wrong-args.stderr b/tests/ui/typeck/struct-enum-wrong-args.stderr
index ea94bcbc2..fbced928a 100644
--- a/src/test/ui/typeck/struct-enum-wrong-args.stderr
+++ b/tests/ui/typeck/struct-enum-wrong-args.stderr
@@ -6,9 +6,6 @@ LL | let _ = Some(3, 2);
|
note: tuple variant defined here
--> $SRC_DIR/core/src/option.rs:LL:COL
- |
-LL | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
- | ^^^^
help: remove the extra argument
|
LL | let _ = Some(3);
@@ -24,9 +21,6 @@ LL | let _ = Ok(3, 6, 2);
|
note: tuple variant defined here
--> $SRC_DIR/core/src/result.rs:LL:COL
- |
-LL | Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
- | ^^
help: remove the extra arguments
|
LL | let _ = Ok(3);
@@ -40,9 +34,6 @@ LL | let _ = Ok();
|
note: tuple variant defined here
--> $SRC_DIR/core/src/result.rs:LL:COL
- |
-LL | Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
- | ^^
help: provide the argument
|
LL | let _ = Ok(/* value */);
diff --git a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed
index ba83e7900..ba83e7900 100644
--- a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed
+++ b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.fixed
diff --git a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs
index c102447f6..c102447f6 100644
--- a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs
+++ b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.rs
diff --git a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr
index 503015f3b..503015f3b 100644
--- a/src/test/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr
+++ b/tests/ui/typeck/suggest-adding-missing-zero-to-floating-point-number.stderr
diff --git a/src/test/ui/typeck/type-placeholder-fn-in-const.rs b/tests/ui/typeck/type-placeholder-fn-in-const.rs
index ab2e2d8c5..ab2e2d8c5 100644
--- a/src/test/ui/typeck/type-placeholder-fn-in-const.rs
+++ b/tests/ui/typeck/type-placeholder-fn-in-const.rs
diff --git a/src/test/ui/typeck/type-placeholder-fn-in-const.stderr b/tests/ui/typeck/type-placeholder-fn-in-const.stderr
index e7b2e554a..e7b2e554a 100644
--- a/src/test/ui/typeck/type-placeholder-fn-in-const.stderr
+++ b/tests/ui/typeck/type-placeholder-fn-in-const.stderr
diff --git a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs b/tests/ui/typeck/typeck-builtin-bound-type-parameters.rs
index c463a8ad0..c463a8ad0 100644
--- a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs
+++ b/tests/ui/typeck/typeck-builtin-bound-type-parameters.rs
diff --git a/tests/ui/typeck/typeck-builtin-bound-type-parameters.stderr b/tests/ui/typeck/typeck-builtin-bound-type-parameters.stderr
new file mode 100644
index 000000000..331540d1e
--- /dev/null
+++ b/tests/ui/typeck/typeck-builtin-bound-type-parameters.stderr
@@ -0,0 +1,51 @@
+error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:1:11
+ |
+LL | fn foo1<T:Copy<U>, U>(x: T) {}
+ | ^^^^--- help: remove these generics
+ | |
+ | expected 0 generic arguments
+
+error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:4:14
+ |
+LL | trait Trait: Copy<dyn Send> {}
+ | ^^^^---------- help: remove these generics
+ | |
+ | expected 0 generic arguments
+
+error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:7:21
+ |
+LL | struct MyStruct1<T: Copy<T>>;
+ | ^^^^--- help: remove these generics
+ | |
+ | expected 0 generic arguments
+
+error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:10:25
+ |
+LL | struct MyStruct2<'a, T: Copy<'a>>;
+ | ^^^^---- help: remove these generics
+ | |
+ | expected 0 lifetime arguments
+
+error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:13:15
+ |
+LL | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {}
+ | ^^^^ -- help: remove this lifetime argument
+ | |
+ | expected 0 lifetime arguments
+
+error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/typeck-builtin-bound-type-parameters.rs:13:15
+ |
+LL | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {}
+ | ^^^^ - help: remove this generic argument
+ | |
+ | expected 0 generic arguments
+
+error: aborting due to 6 previous errors
+
+For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/typeck/typeck-cast-pointer-to-float.rs b/tests/ui/typeck/typeck-cast-pointer-to-float.rs
index 2af7a3cf2..2af7a3cf2 100644
--- a/src/test/ui/typeck/typeck-cast-pointer-to-float.rs
+++ b/tests/ui/typeck/typeck-cast-pointer-to-float.rs
diff --git a/src/test/ui/typeck/typeck-cast-pointer-to-float.stderr b/tests/ui/typeck/typeck-cast-pointer-to-float.stderr
index 81d968454..81d968454 100644
--- a/src/test/ui/typeck/typeck-cast-pointer-to-float.stderr
+++ b/tests/ui/typeck/typeck-cast-pointer-to-float.stderr
diff --git a/src/test/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs b/tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs
index 2530a1e96..2530a1e96 100644
--- a/src/test/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs
+++ b/tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.fixed b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.fixed
index a9107f998..a9107f998 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.fixed
+++ b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.fixed
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.rs b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.rs
index bafc16577..bafc16577 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.rs
+++ b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.stderr b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.stderr
index 468a14762..468a14762 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-assoc-type.stderr
+++ b/tests/ui/typeck/typeck-default-trait-impl-assoc-type.stderr
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs b/tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs
index cc75cd490..cc75cd490 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs
+++ b/tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr b/tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr
index fc3778b79..fc3778b79 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr
+++ b/tests/ui/typeck/typeck-default-trait-impl-cross-crate-coherence.stderr
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-negation-send.rs b/tests/ui/typeck/typeck-default-trait-impl-negation-send.rs
index 3a2fc39d4..3a2fc39d4 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-negation-send.rs
+++ b/tests/ui/typeck/typeck-default-trait-impl-negation-send.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-negation-send.stderr b/tests/ui/typeck/typeck-default-trait-impl-negation-send.stderr
index 2ce32990e..2ce32990e 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-negation-send.stderr
+++ b/tests/ui/typeck/typeck-default-trait-impl-negation-send.stderr
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-negation-sync.rs b/tests/ui/typeck/typeck-default-trait-impl-negation-sync.rs
index b9042188a..b9042188a 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-negation-sync.rs
+++ b/tests/ui/typeck/typeck-default-trait-impl-negation-sync.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-negation-sync.stderr b/tests/ui/typeck/typeck-default-trait-impl-negation-sync.stderr
index b9fca1a1b..b9fca1a1b 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-negation-sync.stderr
+++ b/tests/ui/typeck/typeck-default-trait-impl-negation-sync.stderr
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-send-param.rs b/tests/ui/typeck/typeck-default-trait-impl-send-param.rs
index 7948cd101..7948cd101 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-send-param.rs
+++ b/tests/ui/typeck/typeck-default-trait-impl-send-param.rs
diff --git a/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr b/tests/ui/typeck/typeck-default-trait-impl-send-param.stderr
index 887a1ddbb..887a1ddbb 100644
--- a/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr
+++ b/tests/ui/typeck/typeck-default-trait-impl-send-param.stderr
diff --git a/src/test/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs b/tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs
index 1e954f569..1e954f569 100644
--- a/src/test/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs
+++ b/tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs
diff --git a/src/test/ui/typeck/typeck-unsafe-always-share.rs b/tests/ui/typeck/typeck-unsafe-always-share.rs
index be87ab172..be87ab172 100644
--- a/src/test/ui/typeck/typeck-unsafe-always-share.rs
+++ b/tests/ui/typeck/typeck-unsafe-always-share.rs
diff --git a/src/test/ui/typeck/typeck-unsafe-always-share.stderr b/tests/ui/typeck/typeck-unsafe-always-share.stderr
index 154e50499..154e50499 100644
--- a/src/test/ui/typeck/typeck-unsafe-always-share.stderr
+++ b/tests/ui/typeck/typeck-unsafe-always-share.stderr
diff --git a/src/test/ui/typeck/typeck_type_placeholder_1.rs b/tests/ui/typeck/typeck_type_placeholder_1.rs
index ea7aa5285..ea7aa5285 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_1.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_1.rs
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.rs b/tests/ui/typeck/typeck_type_placeholder_item.rs
index 22fedb22d..b96c52713 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_item.rs
@@ -220,3 +220,11 @@ fn value() -> Option<&'static _> {
const _: Option<_> = map(value);
//~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+
+fn evens_squared(n: usize) -> _ {
+//~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types
+ (1..n).filter(|x| x % 2 == 0).map(|x| x * x)
+}
+
+const _: _ = (1..10).filter(|x| x % 2 == 0).map(|x| x * x);
+//~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item.stderr b/tests/ui/typeck/typeck_type_placeholder_item.stderr
index c57f71b80..bc02547c6 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item.stderr
@@ -428,6 +428,27 @@ LL | const _: Option<_> = map(value);
| not allowed in type signatures
| help: replace with the correct type: `Option<u8>`
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
+ --> $DIR/typeck_type_placeholder_item.rs:224:31
+ |
+LL | fn evens_squared(n: usize) -> _ {
+ | ^
+ | |
+ | not allowed in type signatures
+ | help: replace with an appropriate return type: `impl Iterator<Item = usize>`
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+ --> $DIR/typeck_type_placeholder_item.rs:229:10
+ |
+LL | const _: _ = (1..10).filter(|x| x % 2 == 0).map(|x| x * x);
+ | ^ not allowed in type signatures
+ |
+note: however, the inferred type `Map<Filter<Range<i32>, [closure@typeck_type_placeholder_item.rs:229:29]>, [closure@typeck_type_placeholder_item.rs:229:49]>` cannot be named
+ --> $DIR/typeck_type_placeholder_item.rs:229:14
+ |
+LL | const _: _ = (1..10).filter(|x| x % 2 == 0).map(|x| x * x);
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
--> $DIR/typeck_type_placeholder_item.rs:140:31
|
@@ -636,7 +657,7 @@ LL | const D: _ = 42;
| not allowed in type signatures
| help: replace with the correct type: `i32`
-error: aborting due to 69 previous errors
+error: aborting due to 71 previous errors
Some errors have detailed explanations: E0121, E0282, E0403.
For more information about an error, try `rustc --explain E0121`.
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item_help.rs b/tests/ui/typeck/typeck_type_placeholder_item_help.rs
index c459d8c3c..c459d8c3c 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item_help.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_item_help.rs
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
index 07a5dbd93..07a5dbd93 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs b/tests/ui/typeck/typeck_type_placeholder_lifetime_1.rs
index 43e46c5b6..43e46c5b6 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_lifetime_1.rs
diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr b/tests/ui/typeck/typeck_type_placeholder_lifetime_1.stderr
index a89c6b85c..a89c6b85c 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_lifetime_1.stderr
diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs b/tests/ui/typeck/typeck_type_placeholder_lifetime_2.rs
index 178b8b122..178b8b122 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_lifetime_2.rs
diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr b/tests/ui/typeck/typeck_type_placeholder_lifetime_2.stderr
index f30766bdf..f30766bdf 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_lifetime_2.stderr
diff --git a/src/test/ui/typeck/typeck_type_placeholder_mismatch.rs b/tests/ui/typeck/typeck_type_placeholder_mismatch.rs
index 2f9cfcf8d..2f9cfcf8d 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_mismatch.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_mismatch.rs
diff --git a/src/test/ui/typeck/typeck_type_placeholder_mismatch.stderr b/tests/ui/typeck/typeck_type_placeholder_mismatch.stderr
index 867412a24..867412a24 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_mismatch.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_mismatch.stderr
diff --git a/src/test/ui/typeck/ufcs-type-params.rs b/tests/ui/typeck/ufcs-type-params.rs
index eee2b55b2..eee2b55b2 100644
--- a/src/test/ui/typeck/ufcs-type-params.rs
+++ b/tests/ui/typeck/ufcs-type-params.rs
diff --git a/src/test/ui/typeck/unify-return-ty.rs b/tests/ui/typeck/unify-return-ty.rs
index da1d82e89..da1d82e89 100644
--- a/src/test/ui/typeck/unify-return-ty.rs
+++ b/tests/ui/typeck/unify-return-ty.rs
diff --git a/src/test/ui/typeck/while-loop-block-cond.rs b/tests/ui/typeck/while-loop-block-cond.rs
index 929759766..929759766 100644
--- a/src/test/ui/typeck/while-loop-block-cond.rs
+++ b/tests/ui/typeck/while-loop-block-cond.rs
diff --git a/src/test/ui/typeck/while-loop-block-cond.stderr b/tests/ui/typeck/while-loop-block-cond.stderr
index 598273af9..598273af9 100644
--- a/src/test/ui/typeck/while-loop-block-cond.stderr
+++ b/tests/ui/typeck/while-loop-block-cond.stderr
diff --git a/src/test/ui/typeid-intrinsic.rs b/tests/ui/typeid-intrinsic.rs
index 5bc4e0c21..5bc4e0c21 100644
--- a/src/test/ui/typeid-intrinsic.rs
+++ b/tests/ui/typeid-intrinsic.rs
diff --git a/src/test/ui/typeof/issue-100183.rs b/tests/ui/typeof/issue-100183.rs
index 13e9493ea..13e9493ea 100644
--- a/src/test/ui/typeof/issue-100183.rs
+++ b/tests/ui/typeof/issue-100183.rs
diff --git a/src/test/ui/typeof/issue-100183.stderr b/tests/ui/typeof/issue-100183.stderr
index 01d3079b2..01d3079b2 100644
--- a/src/test/ui/typeof/issue-100183.stderr
+++ b/tests/ui/typeof/issue-100183.stderr
diff --git a/src/test/ui/typeof/issue-29184.rs b/tests/ui/typeof/issue-29184.rs
index c77e364c3..c77e364c3 100644
--- a/src/test/ui/typeof/issue-29184.rs
+++ b/tests/ui/typeof/issue-29184.rs
diff --git a/src/test/ui/typeof/issue-29184.stderr b/tests/ui/typeof/issue-29184.stderr
index 75b6c64f2..75b6c64f2 100644
--- a/src/test/ui/typeof/issue-29184.stderr
+++ b/tests/ui/typeof/issue-29184.stderr
diff --git a/src/test/ui/typeof/issue-42060.rs b/tests/ui/typeof/issue-42060.rs
index 1740b2383..1740b2383 100644
--- a/src/test/ui/typeof/issue-42060.rs
+++ b/tests/ui/typeof/issue-42060.rs
diff --git a/src/test/ui/typeof/issue-42060.stderr b/tests/ui/typeof/issue-42060.stderr
index effcbe4d7..effcbe4d7 100644
--- a/src/test/ui/typeof/issue-42060.stderr
+++ b/tests/ui/typeof/issue-42060.stderr
diff --git a/src/test/ui/typeof/type_mismatch.rs b/tests/ui/typeof/type_mismatch.rs
index 3f8339fa5..3f8339fa5 100644
--- a/src/test/ui/typeof/type_mismatch.rs
+++ b/tests/ui/typeof/type_mismatch.rs
diff --git a/src/test/ui/typeof/type_mismatch.stderr b/tests/ui/typeof/type_mismatch.stderr
index e75214cd3..e75214cd3 100644
--- a/src/test/ui/typeof/type_mismatch.stderr
+++ b/tests/ui/typeof/type_mismatch.stderr
diff --git a/src/test/ui/typestate-multi-decl.rs b/tests/ui/typestate-multi-decl.rs
index 9f9416205..9f9416205 100644
--- a/src/test/ui/typestate-multi-decl.rs
+++ b/tests/ui/typestate-multi-decl.rs