// This tests verifies that unary structs and enum variants | |
// are treated as rvalues and their lifetime is not bounded to | |
// the static scope. | |
fn id<T>(x: T) -> T { x } | |
struct Test; | |
enum MyEnum { | |
Variant1 | |
} | |
fn structLifetime<'a>() -> &'a Test { | |
let testValue = &id(Test); | |
testValue | |
//~^ ERROR cannot return value referencing temporary value | |
} | |
fn variantLifetime<'a>() -> &'a MyEnum { | |
let testValue = &id(MyEnum::Variant1); | |
testValue | |
//~^ ERROR cannot return value referencing temporary value | |
} | |
fn main() {} |