]>
Commit | Line | Data |
---|---|---|
b7449926 XL |
1 | // run-pass |
2 | #![allow(non_camel_case_types)] | |
3 | ||
1a4d82fc JJ |
4 | use std::cell::Cell; |
5 | ||
6 | struct r<'a> { | |
c34b1796 | 7 | b: &'a Cell<isize>, |
223e47cc LB |
8 | } |
9 | ||
1a4d82fc JJ |
10 | impl<'a> Drop for r<'a> { |
11 | fn drop(&mut self) { | |
12 | self.b.set(self.b.get() + 1); | |
223e47cc LB |
13 | } |
14 | } | |
15 | ||
c34b1796 | 16 | fn r(b: &Cell<isize>) -> r { |
223e47cc LB |
17 | r { |
18 | b: b | |
19 | } | |
20 | } | |
21 | ||
22 | pub fn main() { | |
1a4d82fc | 23 | let b = &Cell::new(0); |
223e47cc | 24 | { |
1a4d82fc | 25 | let _p = Some(r(b)); |
223e47cc LB |
26 | } |
27 | ||
1a4d82fc | 28 | assert_eq!(b.get(), 1); |
223e47cc | 29 | } |