mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-15 19:08:20 +00:00
28 lines
857 B
Rust
28 lines
857 B
Rust
pub const fn id<T>(x: T) -> T { x }
|
|
pub const C: () = {
|
|
let _: &'static _ = &String::new();
|
|
//~^ ERROR: destructor of `String` cannot be evaluated at compile-time
|
|
};
|
|
|
|
pub const _: () = {
|
|
let _: &'static _ = &id(&String::new());
|
|
//~^ ERROR: destructor of `String` cannot be evaluated at compile-time
|
|
};
|
|
|
|
pub const _: () = {
|
|
let _: &'static _ = &std::mem::ManuallyDrop::new(String::new());
|
|
//~^ ERROR: temporary value dropped while borrowed
|
|
};
|
|
|
|
fn main() {
|
|
let _: &'static _ = &String::new();
|
|
//~^ ERROR: temporary value dropped while borrowed
|
|
|
|
let _: &'static _ = &id(&String::new());
|
|
//~^ ERROR: temporary value dropped while borrowed
|
|
//~| ERROR: temporary value dropped while borrowed
|
|
|
|
let _: &'static _ = &std::mem::ManuallyDrop::new(String::new());
|
|
//~^ ERROR: temporary value dropped while borrowed
|
|
}
|