Closed
Description
I tried this code:
#![feature(associated_const_equality)]
trait Trait {
const ASSOC: usize;
}
fn foo<T: Trait<ASSOC = {
let a = 10_usize;
let b: &'_ usize = &a;
*b
}>>() {
}
I expected to see this happen: it compile
Instead, this happened: it errored
error[[E0597]](https://doc.rust-lang.org/nightly/error_codes/E0597.html): `a` does not live long enough
--> src/lib.rs:9:24
|
9 | let b: &'_ usize = &a;
| --------- ^^ borrowed value does not live long enough
| |
| type annotation requires that `a` is borrowed for `'static`
10 | *b
11 | }>>() {
| - `a` dropped here while still borrowed
For more information about this error, try `rustc --explain E0597`.
error: could not compile `playground` (lib) due to previous error
related issue: #110931
Meta
playground version
:
Nightly channel
Build using the Nightly version: 1.71.0-nightly
(2023-04-27 1a6ae3d692cfb52b21d0)
Backtrace
<backtrace>
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done