2018-11-24 05:56:24 -06:00
|
|
|
use std::cell::Cell;
|
|
|
|
|
|
|
|
trait Foo<'a> {
|
|
|
|
const C: Option<Cell<&'a u32>>;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a, T> Foo<'a> for T {
|
|
|
|
const C: Option<Cell<&'a u32>> = None;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let a = 22;
|
|
|
|
let b = Some(Cell::new(&a));
|
2018-12-07 17:50:35 -06:00
|
|
|
//~^ ERROR `a` does not live long enough [E0597]
|
2018-11-24 05:56:24 -06:00
|
|
|
match b {
|
|
|
|
<() as Foo<'static>>::C => { }
|
|
|
|
_ => { }
|
|
|
|
}
|
|
|
|
}
|