rust/tests/ui/const-generics
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
..
array-impls
auxiliary
backcompat
defaults Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
early
generic_arg_infer
generic_const_exprs Auto merge of #106399 - estebank:type-err-span-label, r=nagisa 2023-01-31 13:53:40 +00:00
infer
issues Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
late-bound-vars
min_const_generics preserve delim spans during macro_rules! expansion if able 2023-01-20 20:16:37 +01:00
occurs-check
parser-error-recovery
std
type-dependent
apit-with-const-param.rs
arg-in-pat-1.rs
arg-in-pat-2.rs
arg-in-pat-3.rs
argument_order.rs
argument_order.stderr
array-wrapper-struct-ctor.rs
assoc_const_eq_diagnostic.rs
assoc_const_eq_diagnostic.stderr
associated-type-bound-fail.rs
associated-type-bound-fail.stderr
associated-type-bound.rs
bad-const-generic-exprs.rs recover more unbraced const args 2023-01-27 19:26:04 +01:00
bad-const-generic-exprs.stderr recover more unbraced const args 2023-01-27 19:26:04 +01:00
broken-mir-1.rs
broken-mir-2.rs
cannot-infer-type-for-const-param.rs
coerce_unsized_array.rs
concrete-const-as-fn-arg.rs
concrete-const-impl-method.rs
condition-in-trait-const-arg.rs
const_trait_fn-issue-88433.rs
const-arg-in-const-arg.full.stderr
const-arg-in-const-arg.min.stderr
const-arg-in-const-arg.rs
const-arg-in-fn.rs
const-arg-type-arg-misordered.rs
const-arg-type-arg-misordered.stderr
const-argument-cross-crate-mismatch.rs
const-argument-cross-crate-mismatch.stderr
const-argument-cross-crate.rs
const-argument-if-length.full.stderr
const-argument-if-length.min.stderr
const-argument-if-length.rs
const-argument-non-static-lifetime.min.stderr
const-argument-non-static-lifetime.rs
const-fn-with-const-param.rs
const-generic-default-wont-borrowck.rs
const-generic-default-wont-borrowck.stderr
const-generic-function.rs
const-generic-function.stderr
const-generic-type_name.rs
const-param-after-const-literal-arg.rs
const-param-before-other-params.rs
const-param-before-other-params.stderr
const-param-elided-lifetime.full.stderr
const-param-elided-lifetime.min.stderr
const-param-elided-lifetime.rs
const-param-in-async.rs
const-param-type-depends-on-const-param.full.stderr
const-param-type-depends-on-const-param.min.stderr defer array len printing to const arg printing 2023-01-18 04:07:39 +00:00
const-param-type-depends-on-const-param.rs defer array len printing to const arg printing 2023-01-18 04:07:39 +00:00
const-param-type-depends-on-type-param-ungated.rs
const-param-type-depends-on-type-param-ungated.stderr
const-param-type-depends-on-type-param.full.stderr
const-param-type-depends-on-type-param.min.stderr
const-param-type-depends-on-type-param.rs
const-parameter-uppercase-lint.rs
const-parameter-uppercase-lint.stderr
core-types.rs
cross_crate_complex.rs
deref-into-array-generic.rs
different_generic_args_array.rs
different_generic_args_array.stderr
different_generic_args.full.stderr
different_generic_args.min.stderr
different_generic_args.rs
dont-evaluate-array-len-on-err-1.rs
dont-evaluate-array-len-on-err-1.stderr defer array len printing to const arg printing 2023-01-18 04:07:39 +00:00
dyn-supertraits.rs
ensure_is_evaluatable.rs
ensure_is_evaluatable.stderr
enum-variants.rs
exhaustive-value.rs
exhaustive-value.stderr
expose-default-substs-param-env.rs
float-generic.adt_const_params.stderr
float-generic.rs
float-generic.simple.stderr
fn_with_two_const_inputs.rs
fn_with_two_const_inputs.stderr
fn_with_two_same_const_inputs.rs
fn-const-param-call.full.stderr
fn-const-param-call.min.stderr
fn-const-param-call.rs
fn-const-param-infer.full.stderr
fn-const-param-infer.min.stderr
fn-const-param-infer.rs
forbid-non-structural_match-types.rs
forbid-non-structural_match-types.stderr
foreign-item-const-parameter.rs
foreign-item-const-parameter.stderr
generic-param-mismatch.rs
generic-param-mismatch.stderr
ice-68875.rs
ice-68875.stderr
ice-const-generic-function-return-ty.rs
ice-const-generic-function-return-ty.stderr
impl-const-generic-struct.rs
incorrect-number-of-const-args.rs
incorrect-number-of-const-args.stderr
infer_arg_from_pat.rs
infer_arr_len_from_pat.rs
inhabited-assoc-ty-ice-1.rs
inhabited-assoc-ty-ice-2.rs
integer-literal-generic-arg-in-where-clause.rs
intrinsics-type_name-as-const-argument.min.stderr
intrinsics-type_name-as-const-argument.rs
invalid-const-arg-for-type-param.rs
invalid-const-arg-for-type-param.stderr
invalid-constant-in-args.rs
invalid-constant-in-args.stderr
invalid-enum.rs
invalid-enum.stderr
invariant.rs
invariant.stderr
issue-46511.rs
issue-46511.stderr
issue-66451.rs
issue-66451.stderr
issue-70408.rs
issue-80471.rs
issue-80471.stderr
issue-93647.rs
issue-93647.stderr fix fmt and bless 2023-01-12 02:28:38 +00:00
issue-97007.rs
issue-102124.rs
issue-105689.rs
issue-106419-struct-with-multiple-const-params.rs Added UI test case for issue #106419 2023-01-19 15:39:05 +01:00
legacy-const-generics-bad.rs
legacy-const-generics-bad.stderr
legacy-const-generics.rs
nested-type.full.stderr
nested-type.min.stderr defer array len printing to const arg printing 2023-01-18 04:07:39 +00:00
nested-type.rs
outer-lifetime-in-const-generic-default.rs
outer-lifetime-in-const-generic-default.stderr
overlapping_impls.rs
params-in-ct-in-ty-param-lazy-norm.full.stderr
params-in-ct-in-ty-param-lazy-norm.min.stderr
params-in-ct-in-ty-param-lazy-norm.rs
parent_generics_of_encoding_impl_trait.rs
parent_generics_of_encoding_impl_trait.stderr
parent_generics_of_encoding.rs
projection-as-arg-const.rs
projection-as-arg-const.stderr
promotion.rs
raw-ptr-const-param-deref.full.stderr
raw-ptr-const-param-deref.min.stderr
raw-ptr-const-param-deref.rs
raw-ptr-const-param.full.stderr
raw-ptr-const-param.min.stderr
raw-ptr-const-param.rs
slice-const-param-mismatch.full.stderr
slice-const-param-mismatch.min.stderr
slice-const-param-mismatch.rs
slice-const-param.rs
sneaky-array-repeat-expr.rs
sneaky-array-repeat-expr.stderr
struct-with-invalid-const-param.rs
struct-with-invalid-const-param.stderr
suggest_const_for_array.rs
suggest_const_for_array.stderr
trait-const-args.rs
transmute-const-param-static-reference.min.stderr
transmute-const-param-static-reference.rs
transparent-maybeunit-array-wrapper.rs
try_unify_ignore_lifetimes.rs
two_matching_preds.rs
type_mismatch.rs
type_mismatch.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
type_not_in_scope.rs
type_not_in_scope.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
type_of_anon_const.rs
type-after-const-ok.rs
types-mismatch-const-args.full.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
types-mismatch-const-args.min.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
types-mismatch-const-args.rs
unify_with_nested_expr.rs
unify_with_nested_expr.stderr
uninferred-consts-during-codegen-1.rs
uninferred-consts-during-codegen-2.rs
unknown_adt.rs
unknown_adt.stderr
unused_braces.fixed Fix unused_braces on generic const expr macro call 2023-01-14 15:49:08 +00:00
unused_braces.full.fixed
unused_braces.min.fixed
unused_braces.rs Fix unused_braces on generic const expr macro call 2023-01-14 15:49:08 +00:00
unused_braces.stderr Fix unused_braces on generic const expr macro call 2023-01-14 15:49:08 +00:00
unused-const-param.rs
unused-type-param-suggestion.rs
unused-type-param-suggestion.stderr
where-clauses.rs