rust/tests/ui/traits
Matthias Krüger 87540879f4
Rollup merge of #117835 - Nilstrieb:note-object-lifetime-defaults, r=compiler-errors
Note about object lifetime defaults in does not live long enough error

This is a aspect of Rust that frequently trips up people who are not aware of it yet. This diagnostic attempts to explain what's happening and why the lifetime constraint, that was never mentioned in the source, arose.

The implementation feels a bit questionable, I'm not sure whether there are better ways to do this. There probably are.

fixes #117835

r? types
2023-11-20 20:56:40 +01:00
..
alias Detect object safety errors when assoc type is missing 2023-10-30 22:12:07 +00:00
associated_type_bound Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
auxiliary
bound Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
default-method
inductive-overflow Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
inheritance More accurately point at arguments 2023-08-26 19:25:46 +00:00
negative-bounds
negative-impls Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
new-solver Auto merge of #117278 - lcnr:try-normalize-ty, r=compiler-errors 2023-11-17 10:16:41 +00:00
non_lifetime_binders Make regionck care about placeholders in outlives components 2023-11-19 19:12:20 +00:00
object Use the actual computed crate name for -Zprint-vtable-sizes 2023-11-05 16:29:15 +00:00
reservation-impl More accurately point at arguments 2023-08-26 19:25:46 +00:00
solver-cycles Don't record spans for predicates in coherence 2023-08-30 18:24:18 +00:00
suggest-dereferences Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
trait-upcasting Avoid side-effects from try_coerce when suggesting borrowing LHS of cast 2023-08-19 22:12:51 +00:00
vtable Don't emit useless vptrs for marker traits 2023-07-19 12:06:31 +00:00
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 Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
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 Point out the actual mismatch error 2023-10-02 23:14:29 +00:00
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-guessing.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
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
deny-builtin-object-impl.current.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
deny-builtin-object-impl.next.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
deny-builtin-object-impl.rs
do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
dont-autoderef-ty-with-escaping-var.rs Use erased self type when autoderefing for trait error suggestion 2023-07-23 14:13:52 -04:00
dont-autoderef-ty-with-escaping-var.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
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
ice-with-dyn-pointee-errors.rs
ice-with-dyn-pointee-errors.stderr
ice-with-dyn-pointee.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 Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
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 Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
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-22384.rs
issue-22384.stderr
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 Extend impl's def_span to include where clauses 2023-10-09 11:47:02 +00:00
issue-33140.rs
issue-33140.stderr
issue-35869.rs
issue-35869.stderr
issue-38033.rs
issue-38404.rs
issue-38404.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
issue-38604.rs
issue-38604.stderr On object safety error, mention new enum as alternative 2023-10-29 23:55:46 +00:00
issue-43132.rs
issue-43784-supertrait.rs
issue-43784-supertrait.stderr
issue-50480.rs
issue-50480.stderr
issue-52893.rs
issue-52893.stderr Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
issue-56202.rs
issue-56488.rs
issue-59029-1.rs
issue-59029-1.stderr Tweak wording 2023-10-13 19:18:46 +00:00
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-66768.rs Move issue 29181, 2804, 17431, 66768 2023-08-24 20:44:08 +03:00
issue-68295.rs
issue-68295.stderr
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 Fix windows test that has different stderr output 2023-10-06 15:51:04 +00:00
issue-77982.stderr Fix windows test that has different stderr output 2023-10-06 15:51:04 +00:00
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 write-long-types-to-disk: update tests 2023-07-25 12:08:44 +01:00
issue-91949-hangs-on-recursion.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
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 adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
issue-102989.rs
issue-102989.stderr
issue-103563.rs
issue-104322.rs
issue-105231.rs Don't record spans for predicates in coherence 2023-08-30 18:24:18 +00:00
issue-105231.stderr Don't record spans for predicates in coherence 2023-08-30 18:24:18 +00:00
issue-106072.rs
issue-106072.stderr
item-inside-macro.rs
item-privacy.rs
item-privacy.stderr Auto merge of #117415 - matthiaskrgr:rollup-jr2p1t2, r=matthiaskrgr 2023-10-30 20:50:14 +00:00
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 Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
multidispatch-convert-ambig-dest.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
multidispatch-infer-convert-target.rs
mutual-recursion-issue-75860.rs
mutual-recursion-issue-75860.stderr
no_send-struct.rs
no_send-struct.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
no-fallback-multiple-impls.rs
no-fallback-multiple-impls.stderr
non-lifetime-via-dyn-builtin.current.stderr Don't instantiate the binder twice when assembling object candidate 2023-11-06 23:41:33 +00:00
non-lifetime-via-dyn-builtin.next.stderr Don't instantiate the binder twice when assembling object candidate 2023-11-06 23:41:33 +00:00
non-lifetime-via-dyn-builtin.rs Don't instantiate the binder twice when assembling object candidate 2023-11-06 23:41:33 +00:00
normalize-supertrait.rs
not-suggest-non-existing-fully-qualified-path.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
not-suggest-non-existing-fully-qualified-path.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
object-does-not-impl-trait.rs
object-does-not-impl-trait.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
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 adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
suggest-fully-qualified-closure.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
suggest-fully-qualified-path-with-adjustment.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
suggest-fully-qualified-path-with-adjustment.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
suggest-fully-qualified-path-without-adjustment.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
suggest-fully-qualified-path-without-adjustment.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
suggest-where-clause.rs
suggest-where-clause.stderr More accurately point at arguments 2023-08-26 19:25:46 +00:00
superdefault-generics.rs
syntax-polarity.rs
syntax-trait-polarity.rs
syntax-trait-polarity.stderr
test-2.rs
test-2.stderr On object safety error, mention new enum as alternative 2023-10-29 23:55:46 +00:00
test.rs
test.stderr
to-str.rs
track-obligations.rs
track-obligations.stderr
trait-object-lifetime-default-note.rs Note about object lifetime defaults in does not live long enough error 2023-11-12 13:51:16 +01:00
trait-object-lifetime-default-note.stderr Note about object lifetime defaults in does not live long enough error 2023-11-12 13:51:16 +01:00
trait-or-new-type-instead.rs
trait-or-new-type-instead.stderr
trivial_impl2.rs
trivial_impl2.stderr
trivial_impl3.rs
trivial_impl3.stderr
trivial_impl4.rs
trivial_impl4.stderr
trivial_impl_sized.rs
trivial_impl_sized.stderr
trivial_impl.rs
trivial_impl.stderr
typeclasses-eq-example-static.rs
typeclasses-eq-example.rs
ufcs-object.rs
unsend-future.rs Bless tests. 2023-09-23 13:47:30 +00:00
unsend-future.stderr Bless tests. 2023-09-23 13:47:30 +00:00
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 Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
where-clause-vs-impl.rs
with-bounds-default.rs
with-dst.rs
wrong-mul-method-signature.rs
wrong-mul-method-signature.stderr