rust/tests/ui/traits
bors f361413cbf Auto merge of #106399 - estebank:type-err-span-label, r=nagisa
Modify primary span label for E0308

Looking at the reactions to https://hachyderm.io/`@ekuber/109622160673605438,` a lot of people seem to have trouble understanding the current output, where the primary span label on type errors talks about the specific types that diverged, but these can be deeply nested type parameters. Because of that we could see "expected i32, found u32" in the label while the note said "expected Vec<i32>, found Vec<u32>". This understandably confuses people. I believe that once people learn to read these errors it starts to make more sense, but this PR changes the output to be more in line with what people might expect, without sacrificing terseness.

Fix #68220.
2023-01-31 13:53:40 +00:00
..
alias Add regression test for #60755 2023-01-27 19:46:56 +09:00
associated_type_bound
auxiliary
bound
default-method
inductive-overflow
inheritance
negative-impls
new-solver Trait upcasting support in new solver 2023-01-30 19:11:01 +00:00
object
reservation-impl
solver-cycles
suggest-deferences
trait-upcasting Reintroduce multiple_supertrait_upcastable lint 2023-01-28 15:08:07 +00:00
vtable
wf-object
alignment-gep-tup-like-1.rs
anon_trait_static_method_exe.rs
anon-static-method.rs
as-struct-constructor.rs
as-struct-constructor.stderr
assignability-trait.rs
assoc-type-in-superbad.rs
assoc-type-in-superbad.stderr
assoc-type-in-supertrait.rs
astconv-cycle-between-and-type.rs
augmented-assignments-trait.rs
bad-method-typaram-kind.rs
bad-method-typaram-kind.stderr
bad-sized.rs
bad-sized.stderr
bug-7183-generics.rs
bug-7295.rs
cache-issue-18209.rs
cache-reached-depth-ice.rs
cache-reached-depth-ice.stderr
coercion-generic-bad.rs
coercion-generic-bad.stderr
coercion-generic-regions.rs
coercion-generic-regions.stderr
coercion-generic.rs
coercion.rs
composition-trivial.rs
conditional-dispatch.rs
conditional-model-fn.rs
conservative_impl_trait.rs
copy-guessing.rs
copy-impl-cannot-normalize.rs
copy-impl-cannot-normalize.stderr
copy-is-not-modulo-regions.not_static.stderr
copy-is-not-modulo-regions.rs
copy-requires-self-wf.rs
cycle-cache-err-60010.rs
cycle-cache-err-60010.stderr
cycle-generic-bound.rs
cycle-type-trait.rs
do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs
do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr
duplicate-methods.rs
duplicate-methods.stderr
dyn-trait.rs
early-vtbl-resolution.rs
elaborate-type-region.rs
false-ambiguity-where-clause-builtin-bound.rs
fmt-pointer-trait.rs
fn-trait-cast-diagnostic.rs
fn-trait-cast-diagnostic.stderr
generic.rs
ignore-err-impls.rs
ignore-err-impls.stderr
impl_trait_as_trait_return_position.rs
impl-1.rs
impl-1.stderr
impl-2.rs
impl-bounds-checking.rs
impl-bounds-checking.stderr
impl-can-not-have-untraitful-items.rs
impl-can-not-have-untraitful-items.stderr
impl-different-num-params.rs
impl-different-num-params.stderr
impl-evaluation-order.rs
impl-for-module.rs
impl-for-module.stderr
impl-implicit-trait.rs
impl-inherent-prefer-over-trait.rs
impl-method-mismatch.rs
impl-method-mismatch.stderr
impl-object-overlap-issue-23853.rs
impl-of-supertrait-has-wrong-lifetime-parameters.rs
impl-of-supertrait-has-wrong-lifetime-parameters.stderr
impl.rs
infer-from-object-issue-26952.rs
inherent-method-order.rs
invalid_operator_trait.rs
invalid_operator_trait.stderr
issue-3683.rs
issue-3973.rs
issue-3973.stderr
issue-4107.rs
issue-6128.rs
issue-6334.rs
issue-7013.rs
issue-7013.stderr
issue-8153.rs
issue-8153.stderr
issue-9394-inherited-calls.rs
issue-18400.rs
issue-18400.stderr
issue-18412.rs
issue-20692.rs
issue-20692.stderr
issue-22019.rs
issue-22110.rs
issue-22655.rs
issue-23003-overflow.rs
issue-23003.rs
issue-23825.rs
issue-24010.rs
issue-26339.rs
issue-28576.rs
issue-28576.stderr
issue-32963.rs
issue-32963.stderr
issue-33140-hack-boundaries.rs
issue-33140-hack-boundaries.stderr
issue-33140.rs
issue-33140.stderr
issue-35869.rs
issue-35869.stderr
issue-38033.rs
issue-38404.rs
issue-38404.stderr
issue-38604.rs
issue-38604.stderr
issue-43132.rs
issue-43784-supertrait.rs
issue-43784-supertrait.stderr
issue-50480.rs
issue-50480.stderr
issue-52893.rs
issue-52893.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-56202.rs
issue-56488.rs
issue-59029-1.rs
issue-59029-1.stderr
issue-59029-2.rs
issue-65284-suggest-generic-trait-bound.rs
issue-65284-suggest-generic-trait-bound.stderr
issue-65673.rs
issue-65673.stderr
issue-68295.rs
issue-68295.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-70944.rs
issue-71036.rs
issue-71036.stderr
issue-71136.rs
issue-71136.stderr
issue-72410.rs
issue-72410.stderr
issue-72455.rs
issue-75627.rs
issue-75627.stderr
issue-77982.rs
issue-77982.stderr
issue-78372.rs
issue-78372.stderr
issue-78632.rs
issue-79458.rs
issue-79458.stderr
issue-82830.rs
issue-83538-tainted-cache-after-cycle.rs
issue-83538-tainted-cache-after-cycle.stderr
issue-84399-bad-fresh-caching.rs
issue-85360-eval-obligation-ice.rs
issue-85360-eval-obligation-ice.stderr
issue-85735.rs
issue-85735.stderr
issue-87558.rs
issue-87558.stderr
issue-89119.rs
issue-90195-2.rs
issue-90195.rs
issue-90662-projection-caching.rs
issue-91594.rs
issue-91594.stderr
issue-91949-hangs-on-recursion.rs
issue-91949-hangs-on-recursion.stderr
issue-92292.rs
issue-95311.rs
issue-95898.rs
issue-95898.stderr
issue-96664.rs
issue-96665.rs
issue-97576.rs
issue-97576.stderr
issue-97695-double-trivial-bound.rs
issue-99875.rs
issue-99875.stderr
issue-102989.rs
issue-102989.stderr
issue-104322.rs
issue-106072.rs
issue-106072.stderr
item-inside-macro.rs
item-privacy.rs
item-privacy.stderr
kindck-owned-contains-1.rs
map-types.rs
map-types.stderr
matching-lifetimes.rs
matching-lifetimes.stderr
method-private.rs
method-private.stderr
monad.rs
monomorphized-callees-with-ty-params-3314.rs
multidispatch1.rs
multidispatch2.rs
multidispatch-bad.rs
multidispatch-bad.stderr
multidispatch-conditional-impl-not-considered.rs
multidispatch-convert-ambig-dest.rs
multidispatch-convert-ambig-dest.stderr
multidispatch-infer-convert-target.rs
mutual-recursion-issue-75860.rs
mutual-recursion-issue-75860.stderr
no_send-struct.rs
no_send-struct.stderr
no-fallback-multiple-impls.rs
no-fallback-multiple-impls.stderr
normalize-supertrait.rs
not-suggest-non-existing-fully-qualified-path.rs
not-suggest-non-existing-fully-qualified-path.stderr
object-does-not-impl-trait.rs
object-does-not-impl-trait.stderr
object-one-type-two-traits.rs
objects-owned-object-borrowed-method-headerless.rs
operator-overloading-issue-52025.rs
overlap-not-permitted-for-builtin-trait.rs
overlap-not-permitted-for-builtin-trait.stderr
overlap-permitted-for-marker-traits.rs
param-without-lifetime-constraint.rs
param-without-lifetime-constraint.stderr
parameterized-with-bounds.rs
pointee-deduction.rs
pointee-tail-is-generic-errors.rs
pointee-tail-is-generic-errors.stderr
pointee-tail-is-generic.rs
principal-less-objects.rs
privacy.rs
project-modulo-regions.rs
project-modulo-regions.with_clause.stderr
project-modulo-regions.without_clause.stderr
region-pointer-simple.rs
resolution-in-overloaded-op.rs
resolution-in-overloaded-op.stderr
safety-fn-body.mir.stderr
safety-fn-body.rs
safety-fn-body.thir.stderr
safety-inherent-impl.rs
safety-inherent-impl.stderr
safety-ok-cc.rs
safety-ok.rs
safety-trait-impl-cc.rs
safety-trait-impl-cc.stderr
safety-trait-impl.rs
safety-trait-impl.stderr
self-without-lifetime-constraint.rs
self-without-lifetime-constraint.stderr
static-method-generic-inference.rs
static-method-generic-inference.stderr
static-method-overwriting.rs
static-outlives-a-where-clause.rs
staticness-mismatch.rs
staticness-mismatch.stderr
suggest-fully-qualified-closure.rs
suggest-fully-qualified-closure.stderr
suggest-fully-qualified-path-with-adjustment.rs
suggest-fully-qualified-path-with-adjustment.stderr
suggest-fully-qualified-path-without-adjustment.rs
suggest-fully-qualified-path-without-adjustment.stderr
suggest-where-clause.rs
suggest-where-clause.stderr
superdefault-generics.rs
syntax-polarity.rs
syntax-trait-polarity.rs
syntax-trait-polarity.stderr
test-2.rs
test-2.stderr
test.rs
test.stderr
to-str.rs
track-obligations.rs
track-obligations.stderr
trait-or-new-type-instead.rs
trait-or-new-type-instead.stderr
typeclasses-eq-example-static.rs
typeclasses-eq-example.rs
ufcs-object.rs
unspecified-self-in-trait-ref.rs
unspecified-self-in-trait-ref.stderr
use-before-def.rs
vtable-res-trait-param.rs
vtable-res-trait-param.stderr
where-clause-vs-impl.rs
with-bounds-default.rs
with-dst.rs