rust/tests/ui/type-alias-impl-trait
Esteban Küber 6efddac288 Provide more context on derived obligation error primary label
Expand the primary span of E0277 when the immediate unmet bound is not what the user wrote:

```
error[E0277]: the trait bound `i32: Bar` is not satisfied
 --> f100.rs:6:6
  |
6 |     <i32 as Foo>::foo();
  |      ^^^ the trait `Bar` is not implemented for `i32`, which is required by `i32: Foo`
  |
help: this trait has no implementations, consider adding one
 --> f100.rs:2:1
  |
2 | trait Bar {}
  | ^^^^^^^^^
note: required for `i32` to implement `Foo`
 --> f100.rs:3:14
  |
3 | impl<T: Bar> Foo for T {}
  |         ---  ^^^     ^
  |         |
  |         unsatisfied trait bound introduced here
```

Fix #40120.
2024-01-30 21:28:18 +00:00
..
auxiliary
argument-types.rs
assoc-projection-ice.rs
assoc-type-const.rs
assoc-type-lifetime-unconstrained.rs
assoc-type-lifetime-unconstrained.stderr
assoc-type-lifetime.rs
associated-type-alias-impl-trait.rs
associated-type-impl-trait-lifetime.rs
auto-trait-leakage2.rs
auto-trait-leakage2.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
auto-trait-leakage3.rs
auto-trait-leakage3.stderr
auto-trait-leakage.rs
bound_reduction2.rs
bound_reduction2.stderr
bound_reduction.rs
bounds-are-checked3.rs
bounds-are-checked3.stderr
bounds-are-checked-2.rs
bounds-are-checked-2.stderr
bounds-are-checked.rs
bounds-are-checked.stderr
bounds.rs
broken_mir.rs
closure_args2.rs
closure_args.rs
closure_infer.rs Don't ICE if TAIT-defining fn contains a closure with _ in return type 2024-01-16 15:37:03 +00:00
closure_parent_substs.rs
closure_wf_outlives.rs
closure_wf_outlives.stderr
closures_in_branches.rs
closures_in_branches.stderr
coherence_cross_crate.rs
coherence_cross_crate.stderr
coherence_different_hidden_ty.rs
coherence_different_hidden_ty.stderr
coherence_generalization.rs
coherence.rs
coherence.stderr
collect_hidden_types.rs
constrain_inputs_unsound.rs
constrain_inputs_unsound.stderr
constrain_inputs.rs
constrain_inputs.stderr
cross_crate_ice2.rs
cross_crate_ice.rs
cross_inference_pattern_bug_no_type.rs
cross_inference_pattern_bug.rs
cross_inference_rpit.rs
cross_inference.rs
debug-ty-with-weak.rs
declared_but_never_defined.rs
declared_but_never_defined.stderr
declared_but_not_defined_in_scope.rs
declared_but_not_defined_in_scope.stderr
defined-by-user-annotation.rs
defining-use-submodule.rs
destructure_tait-ice-113594.rs
destructure_tait-layout_of-ice-113594.rs
destructuring.rs
different_defining_uses_never_type2.rs
different_defining_uses_never_type3.rs
different_defining_uses_never_type3.stderr
different_defining_uses_never_type-2.rs
different_defining_uses_never_type-2.stderr
different_defining_uses_never_type-3.rs
different_defining_uses_never_type-3.stderr
different_defining_uses_never_type.rs
different_defining_uses_never_type.stderr
different_defining_uses.rs
different_defining_uses.stderr
different_lifetimes_defining_uses.rs
different_lifetimes_defining_uses.stderr
drop-shim-relates-opaque-issue-114375.rs
duplicate-lifetimes-from-rpit-containing-tait2.rs
duplicate-lifetimes-from-rpit-containing-tait.rs
escaping-bound-var.rs
escaping-bound-var.stderr
fallback.rs
fallback.stderr
field-types.rs
future.rs
future.stderr
generic_different_defining_uses.rs
generic_different_defining_uses.stderr
generic_duplicate_lifetime_param.rs
generic_duplicate_lifetime_param.stderr
generic_duplicate_param_use2.rs
generic_duplicate_param_use2.stderr
generic_duplicate_param_use3.rs
generic_duplicate_param_use3.stderr
generic_duplicate_param_use4.rs
generic_duplicate_param_use4.stderr
generic_duplicate_param_use5.rs
generic_duplicate_param_use5.stderr
generic_duplicate_param_use6.rs
generic_duplicate_param_use6.stderr
generic_duplicate_param_use7.rs
generic_duplicate_param_use8.rs
generic_duplicate_param_use8.stderr
generic_duplicate_param_use9.rs
generic_duplicate_param_use9.stderr
generic_duplicate_param_use10.rs
generic_duplicate_param_use.rs
generic_duplicate_param_use.stderr
generic_lifetime_param.rs
generic_nondefining_use.rs
generic_nondefining_use.stderr
generic_not_used.rs
generic_not_used.stderr
generic_type_does_not_live_long_enough.rs
generic_type_does_not_live_long_enough.stderr
generic_underconstrained2.rs
generic_underconstrained2.stderr
generic_underconstrained.rs
generic_underconstrained.stderr
hidden_behind_projection_behind_struct_field.rs
hidden_behind_projection_behind_struct_field.stderr
hidden_behind_struct_field2.rs Limit impl trait in assoc type defining scope 2024-01-22 14:35:46 +00:00
hidden_behind_struct_field2.stderr Limit impl trait in assoc type defining scope 2024-01-22 14:35:46 +00:00
hidden_behind_struct_field.rs
hidden_type_mismatch.rs
hidden_type_mismatch.stderr
higher_kinded_params2.rs
higher_kinded_params2.stderr
higher_kinded_params3.rs
higher_kinded_params3.stderr
higher_kinded_params.rs
impl_for_weak_alias.rs
impl_for_weak_alias.stderr
impl_trait_for_generic_tait.rs
impl_trait_for_same_tait.rs
impl_trait_for_same_tait.stderr
impl_trait_for_tait_bound2.rs
impl_trait_for_tait_bound2.stderr
impl_trait_for_tait_bound.rs
impl_trait_for_tait_bound.stderr
impl_trait_for_tait.rs
impl_trait_in_trait_defined_outside_trait2.rs Add some tests 2024-01-22 14:35:47 +00:00
impl_trait_in_trait_defined_outside_trait2.stderr Add some tests 2024-01-22 14:35:47 +00:00
impl_trait_in_trait_defined_outside_trait3.rs Add some tests 2024-01-22 14:35:47 +00:00
impl_trait_in_trait_defined_outside_trait.rs Add some tests 2024-01-22 14:35:47 +00:00
impl_trait_in_trait_defined_outside_trait.stderr Add some tests 2024-01-22 14:35:47 +00:00
impl-trait-in-type-alias-with-bad-substs.rs
impl-trait-in-type-alias-with-bad-substs.stderr
impl-with-unconstrained-param.rs
impl-with-unconstrained-param.stderr
implied_bounds2.rs
implied_bounds3.rs
implied_bounds_closure.rs
implied_bounds_closure.stderr
implied_bounds_from_types.rs
implied_bounds_from_types.stderr
implied_bounds.rs
implied_bounds.stderr
implied_lifetime_wf_check3.rs
implied_lifetime_wf_check3.stderr
implied_lifetime_wf_check4_static.rs
implied_lifetime_wf_check4_static.stderr
implied_lifetime_wf_check.rs
imply_bounds_from_bounds_param.rs
imply_bounds_from_bounds_param.stderr
imply_bounds_from_bounds.rs
in-assoc-ty-early-bound2.rs Add some tests 2024-01-22 14:35:47 +00:00
in-assoc-ty-early-bound2.stderr Add some tests 2024-01-22 14:35:47 +00:00
in-assoc-ty-early-bound.rs Add some tests 2024-01-22 14:35:47 +00:00
in-assoc-ty-early-bound.stderr Add some tests 2024-01-22 14:35:47 +00:00
in-where-clause.rs Always use RevealAll for const eval queries 2024-01-19 11:32:34 +00:00
in-where-clause.stderr Always use RevealAll for const eval queries 2024-01-19 11:32:34 +00:00
incoherent-assoc-imp-trait.rs
incoherent-assoc-imp-trait.stderr
incomplete-inference.rs
incomplete-inference.stderr
indirect-recursion-issue-112047.rs Only compute layout of opaque if coroutine is the cause of an opaque cycle 2024-01-08 20:30:24 +00:00
indirect-recursion-issue-112047.stderr Make cycle error more resilient to where it starts 2024-01-08 20:30:24 +00:00
inference-cycle.rs
inference-cycle.stderr
infinite-cycle-involving-weak.rs
infinite-cycle-involving-weak.stderr
invalid_impl_trait_in_assoc_ty.rs
invalid_impl_trait_in_assoc_ty.stderr
issue-52843-closure-constrain.rs
issue-52843-closure-constrain.stderr
issue-52843.rs
issue-52843.stderr
issue-53092-2.rs
issue-53092-2.stderr
issue-53092.rs
issue-53092.stderr
issue-53096.rs
issue-53096.stderr
issue-53398-cyclic-types.rs
issue-53598.rs
issue-53598.stderr
issue-53678-coroutine-and-const-fn.rs
issue-55099-lifetime-inference.rs
issue-57188-associate-impl-capture.rs
issue-57611-trait-alias.rs
issue-57700.rs
issue-57700.stderr
issue-57807-associated-type.rs
issue-57961.rs
issue-57961.stderr
issue-58662-coroutine-with-lifetime.rs
issue-58662-simplified.rs
issue-58887.rs
issue-58951-2.rs
issue-58951.rs
issue-60371.rs
issue-60371.stderr Bless tests 2024-01-13 12:46:58 -05:00
issue-60407.rs
issue-60407.stderr
issue-60564-working.rs
issue-60564.rs
issue-60564.stderr
issue-60662.rs
issue-60662.stdout
issue-62000-associate-impl-trait-lifetimes.rs
issue-63263-closure-return.rs
issue-63279.rs
issue-63279.stderr
issue-63355.rs
issue-63677-type-alias-coherence.rs
issue-65384.rs
issue-65384.stderr
issue-65679-inst-opaque-ty-from-val-twice.rs
issue-65918.rs
issue-66580-closure-coherence.rs
issue-67844-nested-opaque.rs
issue-68368-non-defining-use-2.rs
issue-68368-non-defining-use-2.stderr
issue-68368-non-defining-use.rs
issue-68368-non-defining-use.stderr
issue-69136-inner-lifetime-resolve-error.rs
issue-69136-inner-lifetime-resolve-error.stderr
issue-69136-inner-lifetime-resolve-ok.rs
issue-69323.rs
issue-70121.rs
issue-70121.stderr
issue-72793.rs
issue-74244.rs
issue-74244.stderr
issue-74280.rs
issue-74280.stderr
issue-74761-2.rs
issue-74761-2.stderr
issue-74761.rs
issue-74761.stderr
issue-76202-trait-impl-for-tait.rs bye bye assemble_candidates_via_self_ty 2024-01-29 14:32:06 +01:00
issue-77179.rs add test for non-defining use of TAIT in foreign function item 2024-01-16 15:37:03 +00:00
issue-77179.stderr add test for non-defining use of TAIT in foreign function item 2024-01-16 15:37:03 +00:00
issue-78450.rs
issue-84660-trait-impl-for-tait.rs
issue-84660-unsoundness.rs
issue-84660-unsoundness.stderr
issue-87455-static-lifetime-ice.rs
issue-89686.rs
issue-89686.stderr
issue-89952.rs
issue-90400-1.rs
issue-90400-1.stderr
issue-90400-2.rs
issue-90400-2.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
issue-93411.rs
issue-94429.rs
issue-94429.stderr
issue-96572-unconstrained-mismatch.rs
issue-96572-unconstrained-mismatch.stderr
issue-96572-unconstrained.rs
issue-98604.rs
issue-98604.stderr
issue-98608.rs
issue-98608.stderr
issue-101750.rs
issue-104817.rs
issue-104817.stock.stderr
issue-109054.rs
issue-109054.stderr
itiat-allow-nested-closures.bad.stderr Check that we forbid nested items, but not nested closures 2024-01-22 14:35:47 +00:00
itiat-allow-nested-closures.rs Check that we forbid nested items, but not nested closures 2024-01-22 14:35:47 +00:00
itiat-forbid-nested-items.rs Check that we forbid nested items, but not nested closures 2024-01-22 14:35:47 +00:00
itiat-forbid-nested-items.stderr Check that we forbid nested items, but not nested closures 2024-01-22 14:35:47 +00:00
match-unification.rs
missing_lifetime_bound.rs
missing_lifetime_bound.stderr
multi-error.rs
multi-error.stderr
multiple_definitions.rs
multiple-def-uses-in-one-fn2.rs
multiple-def-uses-in-one-fn2.stderr
multiple-def-uses-in-one-fn3.rs
multiple-def-uses-in-one-fn3.stderr
multiple-def-uses-in-one-fn-infer.rs
multiple-def-uses-in-one-fn-infer.stderr
multiple-def-uses-in-one-fn-lifetimes.rs
multiple-def-uses-in-one-fn-lifetimes.stderr
multiple-def-uses-in-one-fn-pass.rs
multiple-def-uses-in-one-fn.rs
multiple-def-uses-in-one-fn.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
mututally-recursive-overflow.rs
mututally-recursive-overflow.stderr
nested_impl_trait_in_assoc_ty.rs
nested_in_closure.rs
nested_inference_failure.rs Make sure the new solver agrees 2024-01-10 16:05:24 +00:00
nested_type_alias_impl_trait.rs
nested_type_alias_impl_trait.stderr
nested-impl-trait-in-tait.rs
nested-impl-trait-in-tait.stderr
nested-in-anon-const.rs Handle ForeignItem as TAIT scope. 2024-01-05 21:49:37 +00:00
nested-in-anon-const.stderr Rebase fallout. 2024-01-05 21:54:41 +00:00
nested-rpit-with-lifetimes.rs
nested-tait-hrtb.rs
nested-tait-hrtb.stderr
nested-tait-inference2.rs
nested-tait-inference2.stderr
nested-tait-inference3.rs
nested-tait-inference3.stderr
nested-tait-inference.rs
nested-tait-inference.stderr
nested.rs
nested.stderr
never_reveal_concrete_type.rs
no_inferrable_concrete_type.rs
no_inferrable_concrete_type.stderr
no_revealing_outside_defining_module.rs
no_revealing_outside_defining_module.stderr
non-defining-method.rs
non-defining-method.stderr
normalize-alias-type.rs
normalize-hidden-types.current.stderr
normalize-hidden-types.rs
not_a_defining_use.rs
not_a_defining_use.stderr
not_well_formed.fixed
not_well_formed.rs
not_well_formed.stderr
not-matching-trait-refs-isnt-defining.rs
not-matching-trait-refs-isnt-defining.stderr
obligation_ice.rs
outlives-bound-var.rs
privacy.rs
privacy.stderr
recursive-fn-tait.rs
recursive-fn-tait.stderr
recursive-tait-conflicting-defn-2.rs
recursive-tait-conflicting-defn-2.stderr
recursive-tait-conflicting-defn.rs
recursive-tait-conflicting-defn.stderr
reveal_local.rs
reveal_local.stderr
rpit_tait_equality_in_canonical_query_2.rs
rpit_tait_equality_in_canonical_query.current.stderr Don't consider delayed bugs for -Ztreat-err-as-bug. 2024-01-13 09:59:56 +11:00
rpit_tait_equality_in_canonical_query.rs Don't consider delayed bugs for -Ztreat-err-as-bug. 2024-01-13 09:59:56 +11:00
self_implication.rs
self-referential-2.rs
self-referential-2.stderr
self-referential-3.rs
self-referential-3.stderr
self-referential-4.rs
self-referential-4.stderr
self-referential.rs
self-referential.stderr
static-const-types.rs
struct-assignment-validity.rs Normalize field types before checking validity 2024-01-26 18:36:15 +00:00
structural-match-no-leak.rs
structural-match-no-leak.stderr
structural-match.rs
structural-match.stderr
tait-normalize.rs
type_of_a_let.rs
type_of_a_let.stderr
type-alias-impl-trait2.rs
type-alias-impl-trait-assoc-dyn.rs
type-alias-impl-trait-assoc-impl-trait.rs
type-alias-impl-trait-const.rs
type-alias-impl-trait-fn-type.rs Split note, fix const/static impl trait error 2024-01-07 18:00:03 +00:00
type-alias-impl-trait-fn-type.stderr Split note, fix const/static impl trait error 2024-01-07 18:00:03 +00:00
type-alias-impl-trait-fns.rs
type-alias-impl-trait-sized.rs
type-alias-impl-trait-struct.rs
type-alias-impl-trait-tuple.rs
type-alias-impl-trait-unconstrained-lifetime.rs
type-alias-impl-trait-unconstrained-lifetime.stderr
type-alias-impl-trait-with-cycle-error2.rs
type-alias-impl-trait-with-cycle-error2.stderr
type-alias-impl-trait-with-cycle-error.rs
type-alias-impl-trait-with-cycle-error.stderr
type-alias-impl-trait-with-no-traits.rs
type-alias-impl-trait-with-no-traits.stderr
type-alias-impl-trait.rs
type-alias-nested-impl-trait.rs
unbounded_opaque_type.rs
unconstrained-due-to-bad-pattern.rs
unconstrained-due-to-bad-pattern.stderr
unconstrained-impl-param.rs
unconstrained-impl-param.stderr
under-binder.rs
under-binder.stderr
underconstrained_generic.rs
underconstrained_generic.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
underconstrained_lifetime.rs
underconstrained_lifetime.stderr
unnameable_type.rs
unnameable_type.stderr
unused_generic_param.rs
variance.rs
variance.stderr
weird-return-types.rs
wf_check_closures.rs
wf_check_closures.stderr
wf-check-fn-def.rs
wf-check-fn-def.stderr
wf-check-fn-ptrs.rs
wf-check-rpit-lifetimes.rs
wf-in-associated-type.fail.stderr
wf-in-associated-type.rs
wf-nested.fail.stderr borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
wf-nested.pass_sound.stderr borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
wf-nested.rs borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00