diff options
| author | tiif <pekyuan@gmail.com> | 2024-08-04 22:11:43 +0800 |
|---|---|---|
| committer | tiif <pekyuan@gmail.com> | 2024-08-08 00:41:39 +0800 |
| commit | 8eaef3eca04793eeb380870f8b9701c0e6727cd9 (patch) | |
| tree | 2e2de0e7f85e665c75ee9ba6da46bc60dee91116 | |
| parent | 58fb508fe3285f2c40f7d4fb82a2790f237bd6eb (diff) | |
| download | rust-8eaef3eca04793eeb380870f8b9701c0e6727cd9.tar.gz rust-8eaef3eca04793eeb380870f8b9701c0e6727cd9.zip | |
Add test
| -rw-r--r-- | tests/ui/inline-const/using-late-bound-from-closure.rs | 16 | ||||
| -rw-r--r-- | tests/ui/inline-const/using-late-bound-from-closure.stderr | 19 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/inline-const/using-late-bound-from-closure.rs b/tests/ui/inline-const/using-late-bound-from-closure.rs new file mode 100644 index 00000000000..2b12b2e26a2 --- /dev/null +++ b/tests/ui/inline-const/using-late-bound-from-closure.rs @@ -0,0 +1,16 @@ +// Test for ICE: cannot convert ReLateParam to a region vid +// https://github.com/rust-lang/rust/issues/125873 + +#![feature(closure_lifetime_binder)] +fn foo() { + let a = for<'a> |b: &'a ()| -> &'a () { + const { + let awd = (); + let _: &'a () = &awd; + //~^ `awd` does not live long enough + }; + b + }; +} + +fn main() {} diff --git a/tests/ui/inline-const/using-late-bound-from-closure.stderr b/tests/ui/inline-const/using-late-bound-from-closure.stderr new file mode 100644 index 00000000000..d6e1579aa34 --- /dev/null +++ b/tests/ui/inline-const/using-late-bound-from-closure.stderr @@ -0,0 +1,19 @@ +error[E0597]: `awd` does not live long enough + --> $DIR/using-late-bound-from-closure.rs:9:29 + | +LL | let a = for<'a> |b: &'a ()| -> &'a () { + | -- lifetime `'a` defined here +LL | const { +LL | let awd = (); + | --- binding `awd` declared here +LL | let _: &'a () = &awd; + | ------ ^^^^ borrowed value does not live long enough + | | + | type annotation requires that `awd` is borrowed for `'a` +LL | +LL | }; + | - `awd` dropped here while still borrowed + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0597`. |
