| // check-pass | |
| #![feature(const_mut_refs)] | |
| #![feature(raw_ref_op)] | |
| struct Foo { | |
| x: usize | |
| } | |
| const fn foo() -> Foo { | |
| Foo { x: 0 } | |
| } | |
| impl Foo { | |
| const fn bar(&mut self) -> *mut usize { | |
| &raw mut self.x | |
| } | |
| } | |
| const fn baz(foo: &mut Foo)-> *mut usize { | |
| &raw mut foo.x | |
| } | |
| const _: () = { | |
| foo().bar(); | |
| baz(&mut foo()); | |
| }; | |
| fn main() {} |