1 // run-pass
2 
3 struct Point(isize, isize);
4 
main()5 fn main() {
6     let mut x = Point(3, 2);
7     assert_eq!(x.0, 3);
8     assert_eq!(x.1, 2);
9     x.0 += 5;
10     assert_eq!(x.0, 8);
11     {
12         let ry = &mut x.1;
13         *ry -= 2;
14         x.0 += 3;
15         assert_eq!(x.0, 11);
16     }
17     assert_eq!(x.1, 0);
18 
19     let mut x = (3, 2);
20     assert_eq!(x.0, 3);
21     assert_eq!(x.1, 2);
22     x.0 += 5;
23     assert_eq!(x.0, 8);
24     {
25         let ry = &mut x.1;
26         *ry -= 2;
27         x.0 += 3;
28         assert_eq!(x.0, 11);
29     }
30     assert_eq!(x.1, 0);
31 
32 }
33