]> git.proxmox.com Git - rustc.git/blob - src/test/run-pass/structs-enums/borrow-tuple-fields.rs
New upstream version 1.37.0+dfsg1
[rustc.git] / src / test / run-pass / structs-enums / borrow-tuple-fields.rs
1 // run-pass
2
3 struct Foo(isize, isize);
4
5 fn main() {
6 let x = (1, 2);
7 let a = &x.0;
8 let b = &x.0;
9 assert_eq!(*a, 1);
10 assert_eq!(*b, 1);
11
12 let mut x = (1, 2);
13 {
14 let a = &x.0;
15 let b = &mut x.1;
16 *b = 5;
17 assert_eq!(*a, 1);
18 }
19 assert_eq!(x.0, 1);
20 assert_eq!(x.1, 5);
21
22
23 let x = Foo(1, 2);
24 let a = &x.0;
25 let b = &x.0;
26 assert_eq!(*a, 1);
27 assert_eq!(*b, 1);
28
29 let mut x = Foo(1, 2);
30 {
31 let a = &x.0;
32 let b = &mut x.1;
33 *b = 5;
34 assert_eq!(*a, 1);
35 }
36 assert_eq!(x.0, 1);
37 assert_eq!(x.1, 5);
38 }