]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
0bf4aa26 | 2 | #![allow(unused_variables)] |
5bcae85e | 3 | static mut DROP: bool = false; |
3157f602 | 4 | |
5bcae85e SL |
5 | struct ConnWrap(Conn); |
6 | impl ::std::ops::Deref for ConnWrap { | |
7 | type Target=Conn; | |
8 | fn deref(&self) -> &Conn { &self.0 } | |
9 | } | |
10 | ||
11 | struct Conn; | |
12 | impl Drop for Conn { | |
13 | fn drop(&mut self) { unsafe { DROP = true; } } | |
14 | } | |
15 | ||
16 | fn inner() { | |
17 | let conn = &*match Some(ConnWrap(Conn)) { | |
18 | Some(val) => val, | |
19 | None => return, | |
20 | }; | |
21 | return; | |
a7813a04 XL |
22 | } |
23 | ||
24 | fn main() { | |
5bcae85e SL |
25 | inner(); |
26 | unsafe { | |
27 | assert_eq!(DROP, true); | |
28 | } | |
54a0048b | 29 | } |