mirror of https://github.com/rust-lang/rust
36 lines
766 B
Rust
36 lines
766 B
Rust
// Basic test for liveness constraints: the region (`R1`) that appears
|
|
// in the type of `p` includes the points after `&v[0]` up to (but not
|
|
// including) the call to `use_x`. The `else` branch is not included.
|
|
|
|
#![allow(warnings)]
|
|
#![feature(rustc_attrs)]
|
|
|
|
struct MyStruct {
|
|
field: String
|
|
}
|
|
|
|
fn main() {
|
|
}
|
|
|
|
fn nll_fail() {
|
|
let mut my_struct = MyStruct { field: format!("Hello") };
|
|
|
|
let value = &mut my_struct.field;
|
|
loop {
|
|
my_struct.field.push_str("Hello, world!");
|
|
//~^ ERROR [E0499]
|
|
value.len();
|
|
return;
|
|
}
|
|
}
|
|
|
|
fn nll_ok() {
|
|
let mut my_struct = MyStruct { field: format!("Hello") };
|
|
|
|
let value = &mut my_struct.field;
|
|
loop {
|
|
my_struct.field.push_str("Hello, world!");
|
|
return;
|
|
}
|
|
}
|