| // run-pass | |
| #![allow(non_camel_case_types)] | |
| trait get { | |
| fn get(self) -> isize; | |
| } | |
| // Note: impl on a slice; we're checking that the pointers below | |
| // correctly get borrowed to `&`. (similar to impling for `isize`, with | |
| // `&self` instead of `self`.) | |
| impl<'a> get for &'a isize { | |
| fn get(self) -> isize { | |
| return *self; | |
| } | |
| } | |
| pub fn main() { | |
| let x: Box<_> = 6.into(); | |
| let y = x.get(); | |
| println!("y={}", y); | |
| assert_eq!(y, 6); | |
| let x = &6; | |
| let y = x.get(); | |
| println!("y={}", y); | |
| assert_eq!(y, 6); | |
| } |