]>
Commit | Line | Data |
---|---|---|
60c5eb7d | 1 | // check-pass |
0bf4aa26 | 2 | #![allow(dead_code)] |
e9174d1e | 3 | use std::ops::{Deref, DerefMut}; |
85aaf69f | 4 | |
e9174d1e | 5 | struct Foo; |
223e47cc | 6 | |
e9174d1e SL |
7 | impl Foo { |
8 | fn foo_mut(&mut self) {} | |
9 | } | |
10 | ||
11 | struct Bar(Foo); | |
62682a34 | 12 | |
e9174d1e SL |
13 | impl Deref for Bar { |
14 | type Target = Foo; | |
15 | ||
16 | fn deref(&self) -> &Foo { | |
17 | &self.0 | |
18 | } | |
19 | } | |
62682a34 | 20 | |
e9174d1e SL |
21 | impl DerefMut for Bar { |
22 | fn deref_mut(&mut self) -> &mut Foo { | |
23 | &mut self.0 | |
24 | } | |
62682a34 | 25 | } |
e9174d1e SL |
26 | |
27 | fn test(mut bar: Box<Bar>) { | |
28 | bar.foo_mut(); | |
29 | } | |
30 | ||
31 | fn main() {} |