]> git.proxmox.com Git - rustc.git/blob - src/test/ui/unsafe/issue-45107-unnecessary-unsafe-in-closure.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / unsafe / issue-45107-unnecessary-unsafe-in-closure.rs
1 // revisions: mir thir
2 // [thir]compile-flags: -Zthir-unsafeck
3
4 #[deny(unused_unsafe)]
5 fn main() {
6 let mut v = Vec::<i32>::with_capacity(24);
7
8 unsafe {
9 let f = |v: &mut Vec<_>| {
10 unsafe { //~ ERROR unnecessary `unsafe`
11 v.set_len(24);
12 |w: &mut Vec<u32>| { unsafe { //~ ERROR unnecessary `unsafe`
13 w.set_len(32);
14 } };
15 }
16 |x: &mut Vec<u32>| { unsafe { //~ ERROR unnecessary `unsafe`
17 x.set_len(40);
18 } };
19 };
20
21 v.set_len(0);
22 f(&mut v);
23 }
24
25 |y: &mut Vec<u32>| { unsafe {
26 y.set_len(48);
27 } };
28 }