rust/tests/ui/lifetimes
bors b3bd7058c1 Auto merge of #121346 - m-ou-se:temp-lifetime-if-else-match, r=compiler-errors
Propagate temporary lifetime extension into if and match.

This PR makes this work:

```rust
let a = if true {
    ..;
    &temp() // used to error, but now gets lifetime extended
} else {
    ..;
    &temp() // used to error, but now gets lifetime extended
};
```

and

```rust
let a = match () {
    _ => {
        ..;
        &temp() // used to error, but now gets lifetime extended
    }
};
```

to make it consistent with:

```rust
let a = {
    ..;
    &temp() // lifetime is extended
};
```

This is one small part of [the temporary lifetimes work](https://github.com/rust-lang/lang-team/issues/253).

This part is backwards compatible (so doesn't need be edition-gated), because all code affected by this change previously resulted in a hard error.
2024-04-10 18:52:51 +00:00
..
auxiliary [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
lifetime-errors Fix obligation param and bless tests 2024-04-01 22:48:23 -04:00
anonymize-unnamed-bound-vars-in-binders.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bare-trait-object-borrowck.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bare-trait-object.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
borrowck-let-suggestion.rs
borrowck-let-suggestion.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
conflicting-bounds.rs
conflicting-bounds.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
copy_modulo_regions.rs
copy_modulo_regions.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
could-not-resolve-issue-121503.rs make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
could-not-resolve-issue-121503.stderr make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
elided-lifetime-in-anon-const.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
elided-lifetime-in-param-pat.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
elided-lifetime-in-path-in-impl-Fn.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
elided-lifetime-in-path-in-pat.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
elided-lifetime-in-path-in-type-relative-expression.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
fullwidth-ampersand.rs
fullwidth-ampersand.stderr
issue-17728.rs Continue to borrowck even if there were previous errors 2024-02-08 08:10:43 +00:00
issue-17728.stderr Revert "Auto merge of #122140 - oli-obk:track_errors13, r=davidtwco" 2024-03-11 21:28:16 +00:00
issue-19707.rs Move tests 2024-02-13 18:08:25 -03:00
issue-19707.stderr Move tests 2024-02-13 18:08:25 -03:00
issue-26638.rs make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
issue-26638.stderr make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
issue-34979.rs
issue-34979.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-36744-without-calls.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-54378.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-55796.rs
issue-55796.stderr
issue-64173-unused-lifetimes.rs
issue-64173-unused-lifetimes.stderr Improve the diagnostics for unused generic parameters 2024-02-01 16:18:03 +01:00
issue-67498.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-69314.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-69314.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-69314.stderr
issue-70917-lifetimes-in-fn-def.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-76168-hr-outlives-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-76168-hr-outlives-3.rs Consolidate WF for aliases 2024-03-14 12:17:00 -04:00
issue-76168-hr-outlives-3.stderr Consolidate WF for aliases 2024-03-14 12:17:00 -04:00
issue-76168-hr-outlives.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-77175.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-79187-2.rs eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
issue-79187-2.stderr eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
issue-79187.rs eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
issue-79187.stderr eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
issue-83737-binders-across-types.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-83737-erasing-bound-vars.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-83753-invalid-associated-type-supertrait-hrtb.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-83753-invalid-associated-type-supertrait-hrtb.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-83907-invalid-fn-like-path.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-83907-invalid-fn-like-path.stderr
issue-84398.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-84604.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-90170-elision-mismatch.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-90170-elision-mismatch.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-90170-elision-mismatch.stderr
issue-90600-expected-return-static-indirect.rs
issue-90600-expected-return-static-indirect.stderr Tweak the post-order for multi-successor blocks 2023-05-21 17:48:36 -07:00
issue-91763.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-91763.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-93911.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-95023.rs Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
issue-95023.stderr Merge collect_mod_item_types query into check_well_formed 2024-03-07 14:26:31 +00:00
issue-97193.rs
issue-97193.stderr
issue-97194.rs
issue-97194.stderr
issue-103582-hint-for-missing-lifetime-bound-on-trait-object-using-type-alias.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-103582-hint-for-missing-lifetime-bound-on-trait-object-using-type-alias.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-103582-hint-for-missing-lifetime-bound-on-trait-object-using-type-alias.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-104432-unused-lifetimes-in-expansion.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-105227.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-105227.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-105227.stderr
issue-105507.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-105507.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-105507.stderr
issue-105675.rs Fix obligation param and bless tests 2024-04-01 22:48:23 -04:00
issue-105675.stderr eagerly instantiate binders to avoid relying on sub 2024-03-14 17:19:40 +01:00
issue-107492-default-value-for-lifetime.rs
issue-107492-default-value-for-lifetime.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-107988.rs
issue-107988.stderr
lifetime-bound-will-change-warning.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
lifetime-bound-will-change-warning.stderr
lifetime-doesnt-live-long-enough.rs
lifetime-doesnt-live-long-enough.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
lifetime-elision-return-type-requires-explicit-lifetime.rs
lifetime-elision-return-type-requires-explicit-lifetime.stderr Fix incorrect lifetime suggestion 2023-11-20 23:44:37 +00:00
lifetime-elision-return-type-trait.rs
lifetime-elision-return-type-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
lifetime-mismatch-between-trait-and-impl.rs
lifetime-mismatch-between-trait-and-impl.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
lifetime-no-keyword.rs
lifetime-no-keyword.stderr
missing-lifetime-in-alias.rs Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
missing-lifetime-in-alias.stderr Merge collect_mod_item_types query into check_well_formed 2024-03-07 14:26:31 +00:00
nested-binder-print.rs
nested-binder-print.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
re-empty-in-error.rs
re-empty-in-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
shadow.rs
shadow.stderr
suggest-introducing-and-adding-missing-lifetime.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
suggest-introducing-and-adding-missing-lifetime.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
suggest-introducing-and-adding-missing-lifetime.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
temporary-lifetime-extension.rs Add clarifying comment to test. 2024-02-21 15:45:13 +01:00
undeclared-lifetime-used-in-debug-macro-issue-70152.rs
undeclared-lifetime-used-in-debug-macro-issue-70152.stderr
unnamed-closure-doesnt-life-long-enough-issue-67634.rs
unnamed-closure-doesnt-life-long-enough-issue-67634.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unusual-rib-combinations.rs Taint more aggressively in astconv 2024-01-11 09:03:26 +00:00
unusual-rib-combinations.stderr Provide structured suggestion for #![feature(foo)] 2024-03-18 16:08:58 +00:00