| #![feature(const_trait_impl, const_destruct)] |
| |
| struct Panic; |
| impl const Drop for Panic { fn drop(&mut self) { panic!(); } } |
| |
| pub const fn id<T>(x: T) -> T { x } |
| pub const C: () = { |
| let _: &'static _ = &id(&Panic); |
| //~^ ERROR: temporary value dropped while borrowed |
| //~| ERROR: temporary value dropped while borrowed |
| }; |
| |
| fn main() { |
| let _: &'static _ = &id(&Panic); |
| //~^ ERROR: temporary value dropped while borrowed |
| //~| ERROR: temporary value dropped while borrowed |
| let _: &'static _ = &&(Panic, 0).1; |
| //~^ ERROR: temporary value dropped while borrowed |
| //~| ERROR: temporary value dropped while borrowed |
| } |