2018-08-30 14:18:55 +02:00
|
|
|
//@ run-pass
|
2023-12-27 17:11:58 -05:00
|
|
|
struct Wrapper<'a, T: ?Sized>(&'a mut i32, #[allow(dead_code)] T);
|
2015-07-03 12:19:36 +02:00
|
|
|
|
|
|
|
|
impl<'a, T: ?Sized> Drop for Wrapper<'a, T> {
|
|
|
|
|
fn drop(&mut self) {
|
|
|
|
|
*self.0 = 432;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
let mut x = 0;
|
|
|
|
|
{
|
|
|
|
|
let wrapper = Box::new(Wrapper(&mut x, 123));
|
2019-05-28 14:47:21 -04:00
|
|
|
let _: Box<Wrapper<dyn Send>> = wrapper;
|
2015-07-03 12:19:36 +02:00
|
|
|
}
|
|
|
|
|
assert_eq!(432, x)
|
|
|
|
|
}
|