2018-08-30 14:18:55 +02:00
|
|
|
// run-pass
|
2022-07-25 22:36:03 +02:00
|
|
|
struct Wrapper<'a, T: ?Sized>(&'a mut i32, #[allow(unused_tuple_struct_fields)] 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)
|
|
|
|
}
|