Skip to content

Commit 77793b3

Browse files
committed
Update tests
1 parent 258cc87 commit 77793b3

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

‎tests/unit/out/unsafe/lambda_move_only_capture.rs‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ impl Owner {
3838
},
3939
|| -> i32 {
4040
return (*self_.p);
41+
},
42+
move_from {
43+
self_: Owner::move_from({ &mut self_ },),
44+
},
45+
destroy = {
46+
Owner::destructor(&mut self.self_);
4147
}
4248
);
4349
}
@@ -57,11 +63,19 @@ unsafe fn main_0() -> i32 {
5763
},
5864
|| -> i32 {
5965
return (*h.p);
66+
},
67+
move_from {
68+
h: Owner::move_from({ &mut h },),
69+
},
70+
destroy = {
71+
Owner::destructor(&mut self.h);
6072
}
6173
);
74+
let _dtor_f = ScopedDestructorUnsafe::new(&raw mut f, |__f| __f.destroy());
6275
assert!((o.p).is_null());
6376
assert!(((unsafe { f.call() }) == (5)));
64-
let mut g: FnPtr<fn() -> i32> = f;
77+
let mut g: FnPtr<fn() -> i32> = f.move_from();
78+
let _dtor_g = ScopedDestructorUnsafe::new(&raw mut g, |__f| __f.destroy());
6579
assert!(((unsafe { g.call() }) == (5)));
6680
let mut total: i32 = 0;
6781
let mut consume: FnPtr<fn()> = lambda_unsafe!(
@@ -72,14 +86,23 @@ unsafe fn main_0() -> i32 {
7286
|| {
7387
(*total) += (*h.p);
7488
(*h.p) = 0;
89+
},
90+
move_from {
91+
h: Owner::move_from({ &mut h },),
92+
total: total,
93+
},
94+
destroy = {
95+
Owner::destructor(&mut self.h);
7596
}
7697
);
98+
let _dtor_consume = ScopedDestructorUnsafe::new(&raw mut consume, |__f| __f.destroy());
7799
(unsafe { consume.call() });
78100
(unsafe { consume.call() });
79101
assert!(((total) == (7)));
80102
let mut o2: Owner = Owner::new({ 9 });
81103
let _dtor_o2 = ScopedDestructorUnsafe::new(&raw mut o2, Owner::destructor);
82104
let mut t: FnPtr<fn() -> i32> = (unsafe { Owner::take(&mut o2) });
105+
let _dtor_t = ScopedDestructorUnsafe::new(&raw mut t, |__f| __f.destroy());
83106
assert!((o2.p).is_null());
84107
assert!(((unsafe { t.call() }) == (9)));
85108
return 0;

‎tests/unit/out/unsafe/unboxed_locals.rs‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ unsafe fn main_0() -> i32 {
8484
},
8585
|| -> i32 {
8686
return (*captured);
87-
}
87+
},
88+
copy_from { captured: captured },
89+
move_from { captured: captured }
8890
);
8991
captured = 8;
9092
assert!(((unsafe { get.call() }) == (8)));

0 commit comments

Comments
 (0)