diff options
| author | Obei Sideg <obei.sideg@gmail.com> | 2023-12-22 15:12:01 +0300 |
|---|---|---|
| committer | Obei Sideg <obei.sideg@gmail.com> | 2024-01-07 17:29:25 +0300 |
| commit | a8aa6878f63e53a9b0cfee542e9765407e1ca0d6 (patch) | |
| tree | beffa149b8d74a34ca8461831ee1222ec4def133 /tests/ui/statics/static-recursive.rs | |
| parent | 18edf9a64e8d84e72a6be67df3822e57dea8d34a (diff) | |
| download | rust-a8aa6878f63e53a9b0cfee542e9765407e1ca0d6.tar.gz rust-a8aa6878f63e53a9b0cfee542e9765407e1ca0d6.zip | |
Update test for `E0796` and `static_mut_ref` lint
Diffstat (limited to 'tests/ui/statics/static-recursive.rs')
| -rw-r--r-- | tests/ui/statics/static-recursive.rs | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/tests/ui/statics/static-recursive.rs b/tests/ui/statics/static-recursive.rs index 95dadc81f81..216beb0206d 100644 --- a/tests/ui/statics/static-recursive.rs +++ b/tests/ui/statics/static-recursive.rs @@ -1,36 +1,43 @@ // run-pass + static mut S: *const u8 = unsafe { &S as *const *const u8 as *const u8 }; +//~^ WARN shared reference of mutable static is discouraged [static_mut_ref] struct StaticDoubleLinked { prev: &'static StaticDoubleLinked, next: &'static StaticDoubleLinked, data: i32, - head: bool + head: bool, } -static L1: StaticDoubleLinked = StaticDoubleLinked{prev: &L3, next: &L2, data: 1, head: true}; -static L2: StaticDoubleLinked = StaticDoubleLinked{prev: &L1, next: &L3, data: 2, head: false}; -static L3: StaticDoubleLinked = StaticDoubleLinked{prev: &L2, next: &L1, data: 3, head: false}; - +static L1: StaticDoubleLinked = StaticDoubleLinked { prev: &L3, next: &L2, data: 1, head: true }; +static L2: StaticDoubleLinked = StaticDoubleLinked { prev: &L1, next: &L3, data: 2, head: false }; +static L3: StaticDoubleLinked = StaticDoubleLinked { prev: &L2, next: &L1, data: 3, head: false }; pub fn main() { - unsafe { assert_eq!(S, *(S as *const *const u8)); } + unsafe { + assert_eq!(S, *(S as *const *const u8)); + } let mut test_vec = Vec::new(); let mut cur = &L1; loop { test_vec.push(cur.data); cur = cur.next; - if cur.head { break } + if cur.head { + break; + } } - assert_eq!(&test_vec, &[1,2,3]); + assert_eq!(&test_vec, &[1, 2, 3]); let mut test_vec = Vec::new(); let mut cur = &L1; loop { cur = cur.prev; test_vec.push(cur.data); - if cur.head { break } + if cur.head { + break; + } } - assert_eq!(&test_vec, &[3,2,1]); + assert_eq!(&test_vec, &[3, 2, 1]); } |
