2017-02-14 05:48:46 -06:00
|
|
|
struct Wrapper<'a, T: ?Sized>(&'a mut i32, T);
|
|
|
|
|
|
|
|
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-30 03:58:30 -05:00
|
|
|
let _val: Box<Wrapper<dyn Send>> = wrapper;
|
2017-02-14 05:48:46 -06:00
|
|
|
}
|
|
|
|
assert_eq!(432, x)
|
|
|
|
}
|