rust/tests/ui/impl-trait
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
..
alias-liveness Add some unsoundness tests for opaques capturing hidden regions not in substs 2023-10-14 13:26:30 +00:00
auxiliary
diagnostics
explicit-generic-args-with-impl-trait
in-trait On object safety error, mention new enum as alternative 2023-10-29 23:55:46 +00:00
issues s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
multiple-lifetimes
rpit check for non-defining uses of RPIT 2023-08-14 15:25:20 +02:00
arg-position-impl-trait-too-long.rs
arg-position-impl-trait-too-long.stderr Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
associated-impl-trait-type-generic-trait.rs
associated-impl-trait-type-trivial.rs
associated-impl-trait-type.rs
async_scope_creep.rs Remove DefiningAnchor::Bubble from opaque wf check 2023-10-16 15:50:31 +00:00
auto-trait-coherence.next.stderr explicitly handle auto trait leakage in coherence 2023-10-13 09:42:51 +00:00
auto-trait-coherence.old.stderr explicitly handle auto trait leakage in coherence 2023-10-13 09:42:51 +00:00
auto-trait-coherence.rs explicitly handle auto trait leakage in coherence 2023-10-13 09:42:51 +00:00
auto-trait-leak2.rs Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
auto-trait-leak2.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
auto-trait-leak-rpass.rs
auto-trait-leak.rs Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
auto-trait-leak.stderr Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
autoderef.rs
bivariant-lifetime-liveness.rs Flesh out tests more 2023-10-17 01:26:46 +00:00
bound-normalization-fail.rs Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
bound-normalization-fail.stderr Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
bound-normalization-pass.rs
bounds_regression.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
can-return-unconstrained-closure.rs
capture-lifetime-not-in-hir.rs Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
capture-lifetime-not-in-hir.stderr Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
closure-calling-parent-fn.rs
closure-in-impl-trait-arg.rs
closure-in-impl-trait.rs
coherence-treats-tait-ambig.current.stderr
coherence-treats-tait-ambig.rs update tests 2023-09-21 08:17:58 +02:00
coherence-treats-tait-ambig.stderr update tests 2023-09-21 08:17:58 +02:00
cross-return-site-inference.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
cross-return-site-inference.stderr Show suggestion for <SelfTy as Trait>::assoc_fn in more cases and fmt code 2023-10-04 02:04:14 +00:00
deduce-signature-from-supertrait.rs
defined-by-trait-resolution.rs
deprecated_annotation.rs
divergence.rs
does-not-live-long-enough.rs
does-not-live-long-enough.stderr
dont-suggest-box-on-empty-else-arm.rs
dont-suggest-box-on-empty-else-arm.stderr
dyn-trait-elided-two-inputs-assoc.rs
dyn-trait-elided-two-inputs-param.rs
dyn-trait-elided-two-inputs-ref-assoc.rs
dyn-trait-elided-two-inputs-ref-param.rs
dyn-trait-return-should-be-impl-trait.rs
dyn-trait-return-should-be-impl-trait.stderr
equal-hidden-lifetimes.rs
equality2.rs
equality2.stderr
equality-in-canonical-query.clone.stderr revert rust-lang/rust#114586 2023-10-18 06:19:04 +00:00
equality-in-canonical-query.rs revert rust-lang/rust#114586 2023-10-18 06:19:04 +00:00
equality-rpass.rs
equality-rpass.stderr
equality.rs
equality.stderr
erased-regions-in-hidden-ty.current.stderr Let's see what those opaque types actually are 2023-10-23 16:18:35 -04:00
erased-regions-in-hidden-ty.next.stderr Let's see what those opaque types actually are 2023-10-23 16:18:35 -04:00
erased-regions-in-hidden-ty.rs Let's see what those opaque types actually are 2023-10-23 16:18:35 -04:00
example-calendar.rs
example-st.rs
extra-impl-in-trait-impl.fixed
extra-impl-in-trait-impl.rs
extra-impl-in-trait-impl.stderr
extra-item.rs
extra-item.stderr
fallback_inference.rs
fallback_inference.stderr
fallback.rs
feature-self-return-type.rs Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
feature-self-return-type.stderr Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
fresh-lifetime-from-bare-trait-obj-114664.rs Record binder for bare trait object in LifetimeCollectVisitor 2023-08-11 03:15:41 +00:00
fresh-lifetime-from-bare-trait-obj-114664.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
generic-with-implicit-hrtb-without-dyn.edition2015.stderr
generic-with-implicit-hrtb-without-dyn.edition2021.stderr
generic-with-implicit-hrtb-without-dyn.rs
hidden-lifetimes.rs
hidden-lifetimes.stderr
hidden-type-is-opaque-2.rs Fix invalid suggestion for mismatched types in closure arguments 2023-07-30 17:15:55 +02:00
hidden-type-is-opaque-2.stderr Fix invalid suggestion for mismatched types in closure arguments 2023-07-30 17:15:55 +02:00
hidden-type-is-opaque.rs
impl_fn_associativity.rs
impl_trait_projections.rs
impl_trait_projections.stderr
impl-fn-hrtb-bounds-2.rs
impl-fn-hrtb-bounds-2.stderr
impl-fn-hrtb-bounds.rs
impl-fn-hrtb-bounds.stderr
impl-fn-parsing-ambiguities.rs
impl-fn-parsing-ambiguities.stderr
impl-fn-predefined-lifetimes.rs
impl-fn-predefined-lifetimes.stderr
impl-generic-mismatch-ab.rs
impl-generic-mismatch-ab.stderr
impl-generic-mismatch.rs
impl-generic-mismatch.stderr
impl-subtyper2.rs move subtyper change reveal_all 2023-10-05 18:56:30 +03:00
impl-subtyper.rs move subtyper change reveal_all 2023-10-05 18:56:30 +03:00
impl-trait-in-macro.rs
impl-trait-in-macro.stderr
impl-trait-plus-priority.rs
impl-trait-plus-priority.stderr
in-assoc-type-unconstrained.rs
in-assoc-type-unconstrained.stderr
in-assoc-type.rs
in-assoc-type.stderr
issue-35668.rs
issue-35668.stderr
issue-36792.rs
issue-46959.rs
issue-49556.rs
issue-49579.rs
issue-49685.rs
issue-51185.rs
issue-54966.rs
issue-54966.stderr
issue-55872-1.rs
issue-55872-1.stderr
issue-55872-2.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-55872-2.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
issue-55872-3.rs
issue-55872-3.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
issue-55872.rs
issue-55872.stderr
issue-56445.rs
issue-68532.rs
issue-72911.rs
issue-72911.stderr
issue-86465.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
issue-86465.stderr Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
issue-87450.rs
issue-87450.stderr
issue-99073-2.rs check for non-defining uses of RPIT 2023-08-14 15:25:20 +02:00
issue-99073-2.stderr check for non-defining uses of RPIT 2023-08-14 15:25:20 +02:00
issue-99073.rs check for non-defining uses of RPIT 2023-08-14 15:25:20 +02:00
issue-99073.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
issue-99642-2.rs
issue-99642.rs
issue-99914.rs
issue-99914.stderr
issue-100075-2.rs
issue-100075-2.stderr
issue-100075.rs
issue-100075.stderr
issue-100187.rs
issue-102605.rs
issue-102605.stderr
issue-103181-1.current.stderr
issue-103181-1.next.stderr
issue-103181-1.rs
issue-103181-2.rs More precisely detect cycle errors from type_of on opaque 2023-08-27 22:03:16 +00:00
issue-103181-2.stderr More precisely detect cycle errors from type_of on opaque 2023-08-27 22:03:16 +00:00
issue-103599.rs
issue-103599.stderr
issue-108591.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
issue-108592.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
lifetime-ambiguity-regression.rs Paper over an accidental regression 2023-09-14 15:16:48 +00:00
lifetimes2.rs
lifetimes.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
mapping-duplicated-lifetimes-issue-114597.rs add'l test 2023-08-08 09:39:59 +00:00
method-suggestion-no-duplication.rs
method-suggestion-no-duplication.stderr
multiple-defining-usages-in-body.rs
multiple-defining-usages-in-body.stderr
must_outlive_least_region_or_bound.rs
must_outlive_least_region_or_bound.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
needs_least_region_or_bound.rs
negative-reasoning.rs
negative-reasoning.stderr Make things work by using the new solver 2023-10-23 23:35:27 +00:00
nested_impl_trait.rs Tweak wording of E0562 2023-10-04 19:51:43 +00:00
nested_impl_trait.stderr Tweak wording of E0562 2023-10-04 19:51:43 +00:00
nested-return-type2-tait2.rs Remove DefiningAnchor::Bubble from opaque wf check 2023-10-16 15:50:31 +00:00
nested-return-type2-tait2.stderr Remove DefiningAnchor::Bubble from opaque wf check 2023-10-16 15:50:31 +00:00
nested-return-type2-tait3.rs Remove DefiningAnchor::Bubble from opaque wf check 2023-10-16 15:50:31 +00:00
nested-return-type2-tait3.stderr Remove DefiningAnchor::Bubble from opaque wf check 2023-10-16 15:50:31 +00:00
nested-return-type2-tait.rs
nested-return-type2-tait.stderr
nested-return-type2.rs
nested-return-type3-tait2.rs
nested-return-type3-tait2.stderr
nested-return-type3-tait3.rs
nested-return-type3-tait3.stderr
nested-return-type3-tait.rs
nested-return-type3-tait.stderr
nested-return-type3.rs
nested-return-type4.rs
nested-return-type4.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
nested-return-type.rs
nested-rpit-hrtb-2.rs don't ICE on higher ranked hidden types 2023-08-04 15:11:09 +00:00
nested-rpit-hrtb-2.stderr don't ICE on higher ranked hidden types 2023-08-04 15:11:09 +00:00
nested-rpit-hrtb.rs
nested-rpit-hrtb.stderr
nested-rpit-with-anonymous-lifetimes.rs
nesting.rs
no-method-suggested-traits.rs
no-method-suggested-traits.stderr
no-trait.rs
no-trait.stderr
normalize-opaque-with-bound-vars.rs
normalize-tait-in-const.rs
normalize-tait-in-const.stderr bless the known-bug tests 2023-09-20 03:02:14 +00:00
object-unsafe-trait-in-return-position-dyn-trait.rs
object-unsafe-trait-in-return-position-dyn-trait.stderr On object safety error, mention new enum as alternative 2023-10-29 23:55:46 +00:00
object-unsafe-trait-in-return-position-impl-trait.rs
object-unsafe-trait-in-return-position-impl-trait.stderr
opaque-cast-field-access-in-future.rs Only prevent field projections into opaque types, not types containing opaque types 2023-09-25 17:41:08 +00:00
opaque-cast-field-access-in-future.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
point-to-type-err-cause-on-impl-trait-return.rs
point-to-type-err-cause-on-impl-trait-return.stderr
printing-binder.rs
printing-binder.stderr
private_unused.rs
projection-mismatch-in-impl-where-clause.rs
projection-mismatch-in-impl-where-clause.stderr
projection.rs
question_mark.rs
recursive-auto-trait.rs
recursive-coroutine.rs Rename lots of files that had generator in their name 2023-10-20 21:14:02 +00:00
recursive-coroutine.stderr Rename lots of files that had generator in their name 2023-10-20 21:14:02 +00:00
recursive-impl-trait-type-direct.rs
recursive-impl-trait-type-indirect.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
recursive-impl-trait-type-indirect.stderr s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
recursive-impl-trait-type-through-non-recursive.rs
recursive-impl-trait-type-through-non-recursive.stderr
recursive-type-alias-impl-trait-declaration-too-subtle-2.rs
recursive-type-alias-impl-trait-declaration-too-subtle.rs
recursive-type-alias-impl-trait-declaration-too-subtle.stderr
recursive-type-alias-impl-trait-declaration.rs
recursive-type-alias-impl-trait-declaration.stderr
region-escape-via-bound-contravariant-closure.rs
region-escape-via-bound-contravariant.rs
region-escape-via-bound.rs
region-escape-via-bound.stderr
return-position-impl-trait-minimal.rs
reveal-during-codegen.rs
rpit-assoc-pair-with-lifetime.rs
rpit-not-sized.rs
rpit-not-sized.stderr
static-lifetime-return-position-impl-trait.rs Stabilize AFIT and RPITIT 2023-10-13 21:01:36 +00:00
static-return-lifetime-infered.rs
static-return-lifetime-infered.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
suggest-calling-rpit-closure.rs
suggest-calling-rpit-closure.stderr
trait_resolution.rs
trait_type.rs
trait_type.stderr
two_tait_defining_each_other2.rs
two_tait_defining_each_other2.stderr
two_tait_defining_each_other3.rs
two_tait_defining_each_other3.stderr
two_tait_defining_each_other.rs
two_tait_defining_each_other.stderr
type_parameters_captured.rs
type_parameters_captured.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
type-alias-generic-param.rs
type-alias-impl-trait-in-fn-body.rs
type-arg-mismatch-due-to-impl-trait.rs
type-arg-mismatch-due-to-impl-trait.stderr
unactionable_diagnostic.fixed remove trailing dots 2023-10-08 10:06:17 +00:00
unactionable_diagnostic.rs remove trailing dots 2023-10-08 10:06:17 +00:00
unactionable_diagnostic.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
universal_hrtb_anon.rs
universal_hrtb_named.rs
universal_in_adt_in_parameters.rs
universal_in_impl_trait_in_parameters.rs
universal_in_trait_defn_parameters.rs
universal_multiple_bounds.rs
universal_wrong_bounds.rs
universal_wrong_bounds.stderr
universal_wrong_hrtb.rs
universal_wrong_hrtb.stderr
universal-mismatched-type.rs
universal-mismatched-type.stderr Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
universal-two-impl-traits.rs
universal-two-impl-traits.stderr
unsafety-checking-cycle.rs
variance.rs Test variances of opaque captures 2023-08-28 01:05:34 +00:00
variance.stderr Test variances of opaque captures 2023-08-28 01:05:34 +00:00
wf-eval-order.rs
where-allowed-2.rs
where-allowed-2.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
where-allowed.rs Stabilize AFIT and RPITIT 2023-10-13 21:01:36 +00:00
where-allowed.stderr Stabilize AFIT and RPITIT 2023-10-13 21:01:36 +00:00
xcrate_simple.rs
xcrate.rs