mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
49 lines
971 B
Rust
49 lines
971 B
Rust
struct Test;
|
|
|
|
impl Test {
|
|
fn bar(&self, x: &u32) -> &u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
}
|
|
|
|
fn foo(x: &u32) -> &u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
|
|
fn baz(x: &u32) -> &&u32 {
|
|
let x = 22;
|
|
&&x
|
|
//~^ ERROR cannot return value referencing local variable
|
|
//~| ERROR cannot return reference to temporary value
|
|
}
|
|
|
|
fn foobazbar<'a>(x: u32, y: &'a u32) -> &'a u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
|
|
fn foobar<'a>(x: &'a u32) -> &'a u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
|
|
fn foobaz<'a, 'b>(x: &'a u32, y: &'b u32) -> &'a u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
|
|
fn foobarbaz<'a, 'b>(x: &'a u32, y: &'b u32, z: &'a u32) -> &'a u32 {
|
|
let x = 22;
|
|
&x
|
|
//~^ ERROR cannot return reference to local variable
|
|
}
|
|
|
|
fn main() { }
|