rust/tests/ui/const-generics
Esteban Küber 8c04999226 On object safety error, mention new enum as alternative
When we encounter a `dyn Trait` that isn't object safe, look for its
implementors. If there's one, mention using it directly If there are
less than 9, mention the possibility of creating a new enum and using
that instead.

Account for object unsafe `impl Trait on dyn Trait {}`.  Make a
distinction between public and sealed traits.

Fix #80194.
2023-10-29 23:55:46 +00:00
..
adt_const_params make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
array-impls
auxiliary
backcompat
defaults Update `since` stability attributes in tests 2023-10-23 13:04:47 -07:00
early Generalize E0401 2023-09-10 23:06:14 +02:00
generic_arg_infer Avoid a `track_errors` by bubbling up most errors from `check_well_formed` 2023-10-20 08:46:27 +00:00
generic_const_exprs On object safety error, mention new enum as alternative 2023-10-29 23:55:46 +00:00
infer diagnostics: update test cases to refer to assoc fn with `self` as method 2023-02-22 08:40:47 -07:00
issues Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
late-bound-vars Restore some removed tests 2023-09-05 20:20:55 +00:00
min_const_generics make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
occurs-check For a single impl candidate, try to unify it with error trait ref 2023-10-02 23:14:29 +00:00
parser-error-recovery diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
std make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
type-dependent make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
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_as_type_argument.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
assoc_const_as_type_argument.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
assoc_const_eq_diagnostic.rs Don't use implied trait predicates in gather_explicit_predicates_of 2023-05-01 15:45:28 +00:00
assoc_const_eq_diagnostic.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
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
bad-generic-in-copy-impl.rs Suppress copy impl error when post-normalized type references errors 2023-03-08 00:12:33 +00:00
bad-generic-in-copy-impl.stderr Suppress copy impl error when post-normalized type references errors 2023-03-08 00:12:33 +00:00
bad-subst-const-kind.rs Constrain const vars to error if const types are mismatched 2023-03-19 03:45:47 +00:00
bad-subst-const-kind.stderr Constrain const vars to error if const types are mismatched 2023-03-19 03:45:47 +00: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-arg-in-const-arg.min.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
const-arg-in-const-arg.rs Fix problematic comment 2023-10-25 19:14:03 +08:00
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 Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
const-argument-if-length.min.stderr change `std::marker::Sized` to just `Sized` 2023-06-15 12:01:38 +02:00
const-argument-if-length.rs
const-argument-non-static-lifetime.min.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
const-argument-non-static-lifetime.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
const-fn-with-const-param.rs
const-generic-default-wont-borrowck.rs
const-generic-default-wont-borrowck.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
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 make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
const-param-elided-lifetime.rs Introduce `ReError` 2023-02-09 10:26:49 +00:00
const-param-in-async.rs
const-param-type-depends-on-const-param.full.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
const-param-type-depends-on-const-param.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +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 Remove save-analysis. 2023-02-16 15:14:45 +11:00
const-param-type-depends-on-type-param-ungated.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
const-param-type-depends-on-type-param.full.stderr remove `has_error_field` helper method 2023-06-06 09:37:30 +02:00
const-param-type-depends-on-type-param.min.stderr remove `has_error_field` helper method 2023-06-06 09:37:30 +02:00
const-param-type-depends-on-type-param.rs remove `has_error_field` helper method 2023-06-06 09:37:30 +02:00
const-param-with-additional-obligations.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
const-param-with-additional-obligations.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
const-parameter-uppercase-lint.rs
const-parameter-uppercase-lint.stderr
const_trait_fn-issue-88433.rs bless tests 2023-08-06 13:34:53 +00:00
core-types.rs
cross_crate_complex.rs
deref-into-array-generic.rs
different_generic_args.full.stderr
different_generic_args.min.stderr
different_generic_args.rs
different_generic_args_array.rs
different_generic_args_array.stderr
dont-evaluate-array-len-on-err-1.rs
dont-evaluate-array-len-on-err-1.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
dyn-supertraits.rs
ensure_is_evaluatable.rs
ensure_is_evaluatable.stderr Specify what 'this' actually is 2023-02-21 05:21:07 +00:00
enum-variants.rs
exhaustive-value.rs
exhaustive-value.stderr More accurately point at arguments 2023-08-26 19:25:46 +00:00
expose-default-substs-param-env.rs
float-generic.adt_const_params.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
float-generic.rs
float-generic.simple.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
fn-const-param-call.full.stderr
fn-const-param-call.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
fn-const-param-call.rs
fn-const-param-infer.full.stderr
fn-const-param-infer.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
fn-const-param-infer.rs
fn_with_two_const_inputs.rs
fn_with_two_const_inputs.stderr Specify what 'this' actually is 2023-02-21 05:21:07 +00:00
fn_with_two_same_const_inputs.rs
forbid-non-structural_match-types.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
forbid-non-structural_match-types.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
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 diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
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 make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
intrinsics-type_name-as-const-argument.rs
invalid-const-arg-for-type-param.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
invalid-const-arg-for-type-param.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
invalid-constant-in-args.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
invalid-constant-in-args.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
invalid-enum.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
invalid-enum.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
invariant.rs
invariant.stderr
issue-46511.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
issue-46511.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
issue-66451.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
issue-66451.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
issue-70408.rs
issue-80471.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
issue-80471.stderr Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
issue-93647.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-93647.stderr update tests, adding known-bug 2023-07-27 15:51:02 +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
issue-112505-overflow.rs Fix the overflow issue for transmute_generic_consts 2023-06-11 16:12:59 +08:00
issue-112505-overflow.stderr Don't ICE on unnormalized struct tail in layout computation 2023-06-19 20:00:41 +00:00
legacy-const-generics-bad.rs
legacy-const-generics-bad.stderr
legacy-const-generics.rs
lifetime-in-const-param.rs fix: not insert missing lifetime for `ConstParamTy` 2023-08-08 14:48:17 +08:00
lifetime-in-const-param.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
nested-type.full.stderr
nested-type.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
nested-type.rs fixup tests wrt new normalization 2023-04-28 11:56:02 +00:00
outer-lifetime-in-const-generic-default.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
outer-lifetime-in-const-generic-default.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
overlapping_impls.rs Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
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.rs
parent_generics_of_encoding_impl_trait.rs
parent_generics_of_encoding_impl_trait.stderr
projection-as-arg-const.rs
projection-as-arg-const.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
promotion.rs
raw-ptr-const-param-deref.full.stderr
raw-ptr-const-param-deref.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
raw-ptr-const-param-deref.rs
raw-ptr-const-param.full.stderr
raw-ptr-const-param.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
raw-ptr-const-param.rs
slice-const-param-mismatch.full.stderr
slice-const-param-mismatch.min.stderr make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
slice-const-param-mismatch.rs
slice-const-param.rs add testcase that hits valtree_into_mplace with a custom DST 2023-08-06 21:25:49 +02:00
sneaky-array-repeat-expr.rs check array type of repeat exprs is wf 2023-05-04 11:22:40 +01:00
sneaky-array-repeat-expr.stderr check array type of repeat exprs is wf 2023-05-04 11:22:40 +01:00
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 make adt_const_params feature suggestion more consistent with others and only suggest it when the type can probably work 2023-09-28 23:10:04 +00:00
transmute-const-param-static-reference.rs
transmute-fail.rs Add feature gate 2023-04-07 11:18:07 -07:00
transmute-fail.stderr typeck in parallel 2023-07-11 17:52:43 +08:00
transmute.rs Add feature gate 2023-04-07 11:18:07 -07:00
transmute_no_gate.rs Add feature gate 2023-04-07 11:18:07 -07:00
transmute_no_gate.stderr Add feature gate 2023-04-07 11:18:07 -07:00
transparent-maybeunit-array-wrapper.rs
try_unify_ignore_lifetimes.rs
two_matching_preds.rs
type-after-const-ok.rs
type_mismatch.rs Use param's real type in try_eval_lit_or_param 2023-03-09 20:49:11 +00:00
type_mismatch.stderr typeck in parallel 2023-07-11 17:52:43 +08:00
type_not_in_scope.rs Use param's real type in try_eval_lit_or_param 2023-03-09 20:49:11 +00:00
type_not_in_scope.stderr Use param's real type in try_eval_lit_or_param 2023-03-09 20:49:11 +00:00
type_of_anon_const.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 Specify what 'this' actually is 2023-02-21 05:21:07 +00:00
uninferred-consts-during-codegen-1.rs
uninferred-consts-during-codegen-2.rs
unknown_adt.rs
unknown_adt.stderr
unused-const-param.rs
unused-type-param-suggestion.rs
unused-type-param-suggestion.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
variant-discrimiant-no-generics.full.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
variant-discrimiant-no-generics.min.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
variant-discrimiant-no-generics.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
where-clauses.rs
wrong-normalization.rs Add test for implementation on projection 2023-02-10 14:44:54 +01:00
wrong-normalization.stderr Tighter spans for bad inherent impl types 2023-02-13 18:41:18 +00:00