rust/tests/ui/impl-trait
Matthias Krüger 7ab385e2e1
Rollup merge of #139854 - fmease:modern-diag-for-lt-in-ty, r=davidtwco
Improve parse errors for stray lifetimes in type position

While technically & syntactically speaking lifetimes do begin[^1] types in type contexts (this essentially excludes generic argument lists) and require a following `+` to form a complete type (`'a +` denotes a bare trait object type), the likelihood that a user meant to write a lifetime-prefixed bare trait object type in *modern* editions (Rust ≥2021) when placing a lifetime into a type context is incredibly low (they would need to add at least three tokens to turn it into a *semantically* well-formed TOT: `'a` → `dyn 'a + Trait`).

Therefore let's *lie* in modern editions (just like in PR https://github.com/rust-lang/rust/pull/131239, a precedent if you will) by stating "*expected type, found lifetime*" in such cases which is a lot more a approachable, digestible and friendly compared to "*lifetime in trait object type must be followed by `+`*" (as added in PR https://github.com/rust-lang/rust/pull/69760).

I've also added recovery for "ampersand-less" reference types (e.g., `'a ()`, `'a mut Ty`) in modern editions because it was trivial to do and I think it's not unlikely to occur in practice.

Fixes #133413.

[^1]: For example, in the context of decl macros, this implies that a lone `'a` always matches syntax fragment `ty` ("even if" there's a later macro matcher expecting syntax fragment `lifetime`). Rephrased, lifetimes (in type contexts) *commit* to the type parser.
2025-04-17 00:16:22 +02:00
..
alias-liveness Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
auto-trait-leakage move tests 2025-04-14 13:26:13 +02:00
auxiliary
diagnostics Point at tail expression on rpit E0277 2024-11-02 03:08:04 +00:00
explicit-generic-args-with-impl-trait Revert suggestion verbosity change 2024-07-22 22:51:53 +00:00
in-bindings Don't make a def id for impl_trait_in_bindings 2024-12-14 18:08:30 +00:00
in-ctfe [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
in-trait Don't compute name of associated item if it's an RPITIT 2025-04-15 18:46:26 +00:00
issues UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
multiple-lifetimes Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
non-defining-uses add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
precise-capturing Stabilize precise_capturing_in_traits 2025-03-23 14:11:04 +00:00
rpit add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
transmute add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
arg-position-impl-trait-too-long.rs
arg-position-impl-trait-too-long.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
associated-impl-trait-type-generic-trait.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
associated-impl-trait-type-issue-114325.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
associated-impl-trait-type-trivial.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
associated-impl-trait-type.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
associated-type-cycle.rs Fix stack overflow with recursive associated types 2024-03-12 06:03:43 +00:00
associated-type-cycle.stderr Fix stack overflow with recursive associated types 2024-03-12 06:03:43 +00:00
associated-type-undefine.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
associated-type-undefine.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
async_scope_creep.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
auto-trait-selection-freeze.next.stderr Resolve more 2024-12-05 00:56:04 +00:00
auto-trait-selection-freeze.old.stderr Do not assemble candidates for auto traits of opaque types in their defining scope 2024-07-24 16:00:48 +00:00
auto-trait-selection-freeze.rs Do not assemble candidates for auto traits of opaque types in their defining scope 2024-07-24 16:00:48 +00:00
auto-trait-selection.next.stderr Resolve more 2024-12-05 00:56:04 +00:00
auto-trait-selection.old.stderr Do not assemble candidates for auto traits of opaque types in their defining scope 2024-07-24 16:00:48 +00:00
auto-trait-selection.rs Do not assemble candidates for auto traits of opaque types in their defining scope 2024-07-24 16:00:48 +00:00
autoderef.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
bivariant-lifetime-liveness.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bound-normalization-fail.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bound-normalization-fail.stderr Stop inverting expectation in normalization errors 2024-10-16 13:44:56 -04:00
bound-normalization-pass.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
bounds_regression.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
call_method_ambiguous.next.stderr Stabilize opaque type precise capturing 2024-08-17 12:33:29 -04:00
call_method_ambiguous.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
call_method_on_inherent_impl.next.stderr Add some tests 2024-06-13 10:41:52 +00:00
call_method_on_inherent_impl.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
call_method_on_inherent_impl_on_rigid_type.current.stderr Add some tests 2024-06-13 10:41:52 +00:00
call_method_on_inherent_impl_on_rigid_type.next.stderr Add some tests 2024-06-13 10:41:52 +00:00
call_method_on_inherent_impl_on_rigid_type.rs Add some tests 2024-06-13 10:41:52 +00:00
call_method_on_inherent_impl_ref.current.stderr Do not try to reveal hidden types when trying to prove Freeze in the defining scope 2024-07-24 16:00:48 +00:00
call_method_on_inherent_impl_ref.next.stderr Do not try to reveal hidden types when trying to prove Freeze in the defining scope 2024-07-24 16:00:48 +00:00
call_method_on_inherent_impl_ref.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
call_method_without_import.no_import.stderr Add some tests 2024-06-13 10:41:52 +00:00
call_method_without_import.rs Add some tests 2024-06-13 10:41:52 +00:00
can-return-unconstrained-closure.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
capture-lifetime-not-in-hir.rs Print the generic parameter along with the variance in dumps. 2024-08-23 23:00:45 +00:00
capture-lifetime-not-in-hir.stderr Print the generic parameter along with the variance in dumps. 2024-08-23 23:00:45 +00:00
captured-invalid-lifetime.rs Fix ICE when opaque captures a duplicated/invalid lifetime 2025-01-01 19:32:51 +00:00
captured-invalid-lifetime.stderr Fix ICE when opaque captures a duplicated/invalid lifetime 2025-01-01 19:32:51 +00:00
closure-calling-parent-fn.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-in-impl-trait-arg.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-in-impl-trait.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
closure-in-type.rs Promote crashes tests to ui. 2024-10-30 16:19:53 +00:00
coherence-treats-tait-ambig.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
coherence-treats-tait-ambig.stderr stabilize -Znext-solver=coherence 2024-10-15 13:11:00 +02:00
cross-return-site-inference.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
cross-return-site-inference.stderr Deduplicate more sized errors on call exprs 2024-01-24 02:53:15 +00:00
deduce-signature-from-supertrait.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
define-via-const.rs Allow defining opaques in statics and consts 2025-03-25 16:44:59 +00:00
define-via-extern.rs Test define opaques in extern items 2025-03-25 16:44:59 +00:00
define-via-extern.stderr Test define opaques in extern items 2025-03-25 16:44:59 +00:00
defined-by-trait-resolution.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
defining-use-captured-non-universal-region.infer.stderr remove test FIXME re once-module-region 2024-03-28 06:41:22 +00:00
defining-use-captured-non-universal-region.rs remove test FIXME re once-module-region 2024-03-28 06:41:22 +00:00
defining-use-captured-non-universal-region.statik.stderr remove test FIXME re once-module-region 2024-03-28 06:41:22 +00:00
defining-use-uncaptured-non-universal-region-2.rs ignore uncaptured lifetimes when checking opaques 2024-03-26 09:26:23 +00:00
defining-use-uncaptured-non-universal-region-3.rs Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
defining-use-uncaptured-non-universal-region.rs ignore uncaptured lifetimes when checking opaques 2024-03-26 09:26:23 +00:00
deprecated_annotation.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
different_where_bounds.rs Ensure the canonical_param_env_cache does not contain inconsistent information about the defining anchor 2024-04-08 15:08:06 +00:00
divergence.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
does-not-live-long-enough.rs
does-not-live-long-enough.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
dont-suggest-box-on-empty-else-arm.rs
dont-suggest-box-on-empty-else-arm.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
dyn-impl-type-mismatch.rs Account for expected dyn Trait found impl Trait 2024-01-24 16:57:15 +00:00
dyn-impl-type-mismatch.stderr Account for expected dyn Trait found impl Trait 2024-01-24 16:57:15 +00:00
dyn-incompatible-trait-in-return-position-dyn-trait.rs Make error message less awkward 2025-02-03 19:00:22 +00:00
dyn-incompatible-trait-in-return-position-dyn-trait.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
dyn-incompatible-trait-in-return-position-impl-trait.rs UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
dyn-incompatible-trait-in-return-position-impl-trait.stderr UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
dyn-trait-elided-two-inputs-assoc.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
dyn-trait-elided-two-inputs-param.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
dyn-trait-elided-two-inputs-ref-assoc.rs borrowck: more eagerly prepopulate opaques 2024-05-06 16:04:57 +00:00
dyn-trait-elided-two-inputs-ref-param.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
dyn-trait-return-should-be-impl-trait.rs Check Sizedness of return type in WF 2025-02-03 19:00:22 +00:00
dyn-trait-return-should-be-impl-trait.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
eagerly-reveal-in-local-body.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
equal-hidden-lifetimes.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
equality-in-canonical-query.rs Pass list of defineable opaque types into canonical queries 2024-04-08 15:00:26 +00:00
equality-rpass.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
equality-rpass.stderr
equality.rs Revert "When checking whether an impl applies, constrain hidden types of opaque types." 2024-06-11 08:08:25 +00:00
equality.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
equality2.rs
equality2.stderr
erased-regions-in-hidden-ty.current.stderr ignore uncaptured lifetimes when checking opaques 2024-03-26 09:26:23 +00:00
erased-regions-in-hidden-ty.next.stderr ignore uncaptured lifetimes when checking opaques 2024-03-26 09:26:23 +00:00
erased-regions-in-hidden-ty.rs Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
example-calendar.rs distinguish overflow and unimplemented in Step::steps_between 2024-11-21 15:49:55 -08:00
example-st.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
example-st.stderr Update tests 2024-02-07 10:42:01 +08:00
extra-impl-in-trait-impl.fixed Revert "Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix" 2024-08-03 07:57:31 -04:00
extra-impl-in-trait-impl.rs Revert "Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix" 2024-08-03 07:57:31 -04:00
extra-impl-in-trait-impl.stderr Revert "Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix" 2024-08-03 07:57:31 -04:00
extra-item.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
extra-item.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
failed-to-resolve-instance-ice-105488.rs add test for ice called Option::unwrap() on a None value in collector.rs:934:13 #105488 2024-04-07 00:25:56 +02:00
failed-to-resolve-instance-ice-105488.stderr add test for ice called Option::unwrap() on a None value in collector.rs:934:13 #105488 2024-04-07 00:25:56 +02:00
failed-to-resolve-instance-ice-123145.rs add test for ICE: failed to resolve instance for <fn() -> impl ...> #123145 2024-04-07 00:48:47 +02:00
failed-to-resolve-instance-ice-123145.stderr add test for ICE: failed to resolve instance for <fn() -> impl ...> #123145 2024-04-07 00:48:47 +02:00
fallback.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
fallback_inference.rs
fallback_inference.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
feature-self-return-type.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +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 Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
fresh-lifetime-from-bare-trait-obj-114664.stderr Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
future-no-bound-vars-ice-112347.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
generic-with-implicit-hrtb-without-dyn.edition2015.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
generic-with-implicit-hrtb-without-dyn.edition2021.stderr Remove a bunch of diagnostic stashing that doesn't do anything 2025-01-11 19:22:06 +00:00
generic-with-implicit-hrtb-without-dyn.rs Remove a bunch of diagnostic stashing that doesn't do anything 2025-01-11 19:22:06 +00:00
hidden-lifetimes.rs
hidden-lifetimes.stderr Bless test fallout 2024-08-17 12:43:25 -04:00
hidden-type-is-opaque-2.default.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
hidden-type-is-opaque-2.next.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
hidden-type-is-opaque-2.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
hidden-type-is-opaque.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
ice-unexpected-param-type-whensubstituting-in-region-112823.current.stderr Improve AssocItem::descr. 2025-04-11 11:03:08 +10:00
ice-unexpected-param-type-whensubstituting-in-region-112823.next.stderr Improve AssocItem::descr. 2025-04-11 11:03:08 +10:00
ice-unexpected-param-type-whensubstituting-in-region-112823.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
impl-fn-hrtb-bounds-2.rs
impl-fn-hrtb-bounds-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
impl-fn-hrtb-bounds.rs elided_named_lifetimes: bless & add tests 2024-08-31 15:35:42 +03:00
impl-fn-hrtb-bounds.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
impl-fn-parsing-ambiguities.rs make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
impl-fn-parsing-ambiguities.stderr Make parse error suggestions verbose and fix spans 2024-07-12 03:02:57 +00:00
impl-fn-predefined-lifetimes.rs merge opaque types of nested bodies 2025-03-19 17:52:53 +01:00
impl-fn-predefined-lifetimes.stderr merge opaque types of nested bodies 2025-03-19 17:52:53 +01:00
impl-fn-rpit-opaque-107883.rs Add new ui test for returning an Fn trait that returns impl Trait 2025-02-14 05:55:30 -07:00
impl-generic-mismatch-ab.rs
impl-generic-mismatch-ab.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
impl-generic-mismatch.rs compiletest: Stricter parsing for diagnostic kinds 2025-04-07 19:13:31 +03:00
impl-generic-mismatch.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
impl-subtyper.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
impl-subtyper2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
impl-trait-in-macro.rs
impl-trait-in-macro.stderr Highlight clarifying information in "expected/found" error 2025-02-02 02:39:43 +00:00
impl-trait-plus-priority.rs Improve diagnostic for E0178 (bad + in type) 2025-04-15 10:08:49 +02:00
impl-trait-plus-priority.stderr Improve diagnostic for E0178 (bad + in type) 2025-04-15 10:08:49 +02:00
impl_fn_associativity.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
impl_trait_projections.rs Fix TAIT & ATPIT feature gating in the presence of anon consts 2025-03-28 18:15:23 +01:00
impl_trait_projections.stderr Fix TAIT & ATPIT feature gating in the presence of anon consts 2025-03-28 18:15:23 +01:00
implicit-capture-late.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
implicit-capture-late.stderr Remove lifetime_capture_rules_2024 feature 2025-02-09 19:09:45 +00:00
in-assoc-type-unconstrained.rs
in-assoc-type-unconstrained.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
in-assoc-type.rs
in-assoc-type.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
inside-item-nested-in-anon-const.rs Fix TAIT & ATPIT feature gating in the presence of anon consts 2025-03-28 18:15:23 +01:00
issue-35668.rs
issue-35668.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-36792.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-46959.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-49556.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-49579.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-49685.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-51185.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-54966.rs
issue-54966.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-55872-1.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872-1.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872-2.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872-2.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872-3.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872-3.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-55872.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-56445.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-68532.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-72911.rs Avoid follow-up errors and ICEs after missing lifetime errors on data structures 2024-07-11 11:00:15 +00:00
issue-72911.stderr Reword "crate not found" resolve message 2025-01-24 01:19:50 +00:00
issue-87450.rs
issue-87450.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-99073-2.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-99073-2.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-99073.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-99073.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
issue-99642-2.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
issue-99642.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99914.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99914.stderr Inline get_node_fn_decl into get_fn_decl, simplify/explain logic in report_return_mismatched_types 2024-05-20 20:16:29 -04:00
issue-100075-2.rs
issue-100075-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-100075.rs
issue-100075.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-100187.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-102605.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-102605.stderr Add missing check for async body when suggesting await on futures. 2025-01-16 21:34:40 +01:00
issue-103181-1.current.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
issue-103181-1.next.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
issue-103181-1.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
issue-103181-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-103181-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-103599.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-103599.stderr
issue-108591.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
issue-108592.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
lazy_subtyping_of_opaques.rs Allow constraining opaque types during subtyping in the trait system 2024-06-19 08:29:17 +00:00
lifetime-ambiguity-regression.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
lifetimes.rs Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
lifetimes2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
mapping-duplicated-lifetimes-issue-114597.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
method-resolution.rs Method resolution constrains hidden types instead of rejecting method candidates 2024-06-13 10:41:53 +00:00
method-resolution2.next.stderr Add some tests 2024-06-13 10:41:52 +00:00
method-resolution2.rs Method resolution constrains hidden types instead of rejecting method candidates 2024-06-13 10:41:53 +00:00
method-resolution3.current.stderr Method resolution constrains hidden types instead of rejecting method candidates 2024-06-13 10:41:53 +00:00
method-resolution3.next.stderr Method resolution constrains hidden types instead of rejecting method candidates 2024-06-13 10:41:53 +00:00
method-resolution3.rs Method resolution constrains hidden types instead of rejecting method candidates 2024-06-13 10:41:53 +00:00
method-resolution4.next.stderr Register a dummy candidate for failed structural normalization during candiate assembly 2024-10-15 20:42:17 -04:00
method-resolution4.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
method-suggestion-no-duplication.rs
method-suggestion-no-duplication.stderr add IntoBounds::intersect and RangeBounds::is_empty 2025-02-19 23:04:10 -07:00
multiple-defining-usages-in-body.rs
multiple-defining-usages-in-body.stderr Remove a bunch of diagnostic stashing that doesn't do anything 2025-01-11 19:22:06 +00:00
must_outlive_least_region_or_bound.rs Continue to borrowck even if there were previous errors 2024-02-08 08:10:43 +00:00
must_outlive_least_region_or_bound.stderr More sophisticated span trimming 2025-02-21 00:41:17 +00:00
needs_least_region_or_bound.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
negative-reasoning.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
negative-reasoning.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-hkl-lifetime.rs Add regression test 2024-04-08 15:00:03 +00:00
nested-return-type.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
nested-return-type2-tait.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type2-tait.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type2-tait2.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +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 Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +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.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
nested-return-type3-tait.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type3-tait.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type3-tait2.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type3-tait2.stderr
nested-return-type3-tait3.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
nested-return-type3-tait3.stderr
nested-return-type3.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
nested-return-type4.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
nested-return-type4.stderr Bless test fallout 2024-08-17 12:43:25 -04:00
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 Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested-rpit-hrtb.rs Stop proving outlives constraints on regions we already reported errors on 2024-05-29 09:27:07 +00:00
nested-rpit-hrtb.stderr Add trait diff highlighting logic and use it in E0277 2024-11-02 03:08:04 +00:00
nested-rpit-with-anonymous-lifetimes.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
nested_impl_trait.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
nested_impl_trait.stderr Point at tail expression on rpit E0277 2024-11-02 03:08:04 +00:00
nesting.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
no-method-suggested-traits.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
no-method-suggested-traits.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
no-trait.rs
no-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
normalize-opaque-with-bound-vars.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
normalize-tait-in-const.rs fix known-bug link in normalize-tait-in-const 2025-01-15 09:32:30 +01:00
normalize-tait-in-const.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
not_general_enough_regression_106630.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
opaque-cast-field-access-in-future.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
opaque-cast-field-access-in-future.stderr Point at tail expression on rpit E0277 2024-11-02 03:08:04 +00:00
opaque-hidden-inferred-rpitit.rs Don't ICE in opaque_hidden_inferred_bound lint for RPITIT in trait with no default method body 2024-09-16 12:35:54 -04:00
opaque-used-in-extraneous-argument.rs Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
opaque-used-in-extraneous-argument.stderr Do not recover missing lifetime with random in-scope lifetime 2025-03-03 05:57:55 +00:00
opt-out-bound-not-satisfied.rs Reject impl Trait bounds in various places where we unconditionally warned since 1.0 2025-02-11 09:19:37 +00:00
opt-out-bound-not-satisfied.stderr Reject impl Trait bounds in various places where we unconditionally warned since 1.0 2025-02-11 09:19:37 +00:00
point-to-type-err-cause-on-impl-trait-return.rs Make error message less awkward 2025-02-03 19:00:22 +00:00
point-to-type-err-cause-on-impl-trait-return.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
printing-binder.rs
printing-binder.stderr
private_unused.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
projection-mismatch-in-impl-where-clause.rs
projection-mismatch-in-impl-where-clause.stderr Point at tail expression on rpit E0277 2024-11-02 03:08:04 +00:00
projection.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
question_mark.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
recursive-auto-trait.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
recursive-bound-eval.next.stderr Also test under next solver 2024-06-11 08:19:19 +00:00
recursive-bound-eval.rs Also test under next solver 2024-06-11 08:19:19 +00:00
recursive-coroutine-boxed.next.stderr Register a dummy candidate for failed structural normalization during candiate assembly 2024-10-15 20:42:17 -04:00
recursive-coroutine-boxed.rs Register a dummy candidate for failed structural normalization during candiate assembly 2024-10-15 20:42:17 -04:00
recursive-coroutine-indirect.current.stderr Eagerly detect coroutine recursion pre-mono when possible 2025-02-05 18:36:17 +00:00
recursive-coroutine-indirect.next.stderr Eagerly detect coroutine recursion pre-mono when possible 2025-02-05 18:36:17 +00:00
recursive-coroutine-indirect.rs Eagerly detect coroutine recursion pre-mono when possible 2025-02-05 18:36:17 +00:00
recursive-ice-101862.rs add test for opaque type with non-universal region substs #101852 2024-03-23 12:01:39 +01:00
recursive-ice-101862.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
recursive-impl-trait-type-direct.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
recursive-impl-trait-type-indirect.rs Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
recursive-impl-trait-type-indirect.stderr Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
recursive-impl-trait-type-through-non-recursive.rs
recursive-impl-trait-type-through-non-recursive.stderr
recursive-in-exhaustiveness.current.stderr Fix stack overflow in exhaustiveness due to recursive HIR opaque type values 2025-04-07 22:41:48 +00:00
recursive-in-exhaustiveness.next.stderr Fix stack overflow in exhaustiveness due to recursive HIR opaque type values 2025-04-07 22:41:48 +00:00
recursive-in-exhaustiveness.rs Fix stack overflow in exhaustiveness due to recursive HIR opaque type values 2025-04-07 22:41:48 +00:00
recursive-parent-trait-method-call.rs Add some tests 2024-06-13 10:41:52 +00:00
recursive-type-alias-impl-trait-declaration-too-subtle-2.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
recursive-type-alias-impl-trait-declaration-too-subtle.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
recursive-type-alias-impl-trait-declaration-too-subtle.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
recursive-type-alias-impl-trait-declaration.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
recursive-type-alias-impl-trait-declaration.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
region-escape-via-bound-contravariant-closure.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
region-escape-via-bound-contravariant.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
region-escape-via-bound.rs
region-escape-via-bound.stderr Bless test fallout 2024-08-17 12:43:25 -04:00
return-position-impl-trait-minimal.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
reveal-during-codegen.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
rpit-assoc-pair-with-lifetime.rs elided_named_lifetimes: bless & add tests 2024-08-31 15:35:42 +03:00
rpit-assoc-pair-with-lifetime.stderr elided_named_lifetimes: bless & add tests 2024-08-31 15:35:42 +03:00
rpit-not-sized.rs
rpit-not-sized.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
stashed-diag-issue-121504.rs Reword "crate not found" resolve message 2025-01-24 01:19:50 +00:00
stashed-diag-issue-121504.stderr Reword "crate not found" resolve message 2025-01-24 01:19:50 +00:00
static-lifetime-return-position-impl-trait.rs Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
static-return-lifetime-infered.rs
static-return-lifetime-infered.stderr Bless test fallout 2024-08-17 12:43:25 -04:00
stranded-opaque.rs Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
stranded-opaque.stderr Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
suggest-calling-rpit-closure.rs
suggest-calling-rpit-closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
trait_resolution.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
trait_type.rs
trait_type.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
trait_upcasting.rs Allow constraining opaque types during auto trait casting 2024-06-19 08:28:31 +00:00
trait_upcasting_reference_mismatch.rs Allow constraining opaque types during auto trait casting 2024-06-19 08:28:31 +00:00
trait_upcasting_reference_mismatch.stderr Allow constraining opaque types during auto trait casting 2024-06-19 08:28:31 +00:00
two_tait_defining_each_other.current.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
two_tait_defining_each_other.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
two_tait_defining_each_other2.current.stderr add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
two_tait_defining_each_other2.next.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
two_tait_defining_each_other2.rs add TypingMode::Borrowck 2025-04-03 11:13:10 +02:00
two_tait_defining_each_other3.current.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
two_tait_defining_each_other3.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
type-alias-generic-param.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-alias-generic-param.stderr Update tests 2024-02-07 10:42:01 +08:00
type-alias-impl-trait-in-fn-body.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
type-alias-impl-trait-in-fn-body.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
type-arg-mismatch-due-to-impl-trait.rs
type-arg-mismatch-due-to-impl-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type_parameters_captured.rs
type_parameters_captured.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unactionable_diagnostic.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unactionable_diagnostic.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unactionable_diagnostic.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
universal-mismatched-type.rs
universal-mismatched-type.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
universal-two-impl-traits.rs
universal-two-impl-traits.stderr Highlight clarifying information in "expected/found" error 2025-02-02 02:39:43 +00:00
universal_hrtb_anon.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_hrtb_named.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_in_adt_in_parameters.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_in_impl_trait_in_parameters.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_in_trait_defn_parameters.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_multiple_bounds.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
universal_wrong_bounds.rs
universal_wrong_bounds.stderr
universal_wrong_hrtb.rs
universal_wrong_hrtb.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unsafety-checking-cycle.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unsize-cast-validation-rpit.rs Don't check unsize goal in MIR validation when opaques remain 2024-10-15 21:01:42 -04:00
unsize_adt.rs Allow constraining opaque types during unsizing 2024-06-19 08:28:31 +00:00
unsize_slice.rs Allow constraining opaque types during unsizing 2024-06-19 08:28:31 +00:00
unsized_coercion.next.stderr do not constrain infer vars in find_best_leaf_obligation 2024-11-26 11:45:01 +01:00
unsized_coercion.rs do not constrain infer vars in find_best_leaf_obligation 2024-11-26 11:45:01 +01:00
unsized_coercion2.old.stderr Add more tests 2024-06-19 08:28:31 +00:00
unsized_coercion2.rs Add more tests 2024-06-19 08:28:31 +00:00
unsized_coercion3.next.stderr do not constrain infer vars in find_best_leaf_obligation 2024-11-26 11:45:01 +01:00
unsized_coercion3.old.stderr do not constrain infer vars in find_best_leaf_obligation 2024-11-26 11:45:01 +01:00
unsized_coercion3.rs do not constrain infer vars in find_best_leaf_obligation 2024-11-26 11:45:01 +01:00
unsized_coercion4.rs More tests 2024-06-19 08:40:29 +00:00
unsized_coercion5.old.stderr remove feature(trait_upcasting) from tests and bless them 2025-02-06 23:44:23 +01:00
unsized_coercion5.rs remove feature(trait_upcasting) from tests and bless them 2025-02-06 23:44:23 +01:00
upvar_captures.rs Taint infcx when reporting errors 2024-06-19 04:41:56 +00:00
upvar_captures.stderr Taint infcx when reporting errors 2024-06-19 04:41:56 +00:00
variance.e2024.stderr Remove lifetime_capture_rules_2024 feature 2025-02-09 19:09:45 +00:00
variance.old.stderr Remove lifetime_capture_rules_2024 feature 2025-02-09 19:09:45 +00:00
variance.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
wf-check-hidden-type.rs when defining opaques, require the hidden type to be well-formed 2024-02-27 15:57:49 +01:00
wf-check-hidden-type.stderr when defining opaques, require the hidden type to be well-formed 2024-02-27 15:57:49 +01:00
wf-eval-order.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
where-allowed-2.rs
where-allowed-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
where-allowed.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
where-allowed.stderr Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
xcrate.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
xcrate_simple.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00