]> git.lizzy.rs Git - rust.git/blob - src/test/ui/structs-enums/borrow-tuple-fields.rs
Rollup merge of #105843 - compiler-errors:sugg-const, r=lcnr
[rust.git] / src / test / ui / 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 }