rust/tests/ui/structs-enums/borrow-tuple-fields.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 lines
618 B
Rust
Raw Normal View History

// run-pass
struct Foo(isize, isize);
fn main() {
2015-01-25 21:05:03 +00:00
let x = (1, 2);
let a = &x.0;
let b = &x.0;
assert_eq!(*a, 1);
assert_eq!(*b, 1);
2015-01-25 21:05:03 +00:00
let mut x = (1, 2);
{
let a = &x.0;
let b = &mut x.1;
*b = 5;
assert_eq!(*a, 1);
}
assert_eq!(x.0, 1);
assert_eq!(x.1, 5);
2015-01-25 21:05:03 +00:00
let x = Foo(1, 2);
let a = &x.0;
let b = &x.0;
assert_eq!(*a, 1);
assert_eq!(*b, 1);
2015-01-25 21:05:03 +00:00
let mut x = Foo(1, 2);
{
let a = &x.0;
let b = &mut x.1;
*b = 5;
assert_eq!(*a, 1);
}
assert_eq!(x.0, 1);
assert_eq!(x.1, 5);
}