//@ run-pass #![allow(non_snake_case)] #![allow(non_camel_case_types)] trait repeat { fn get(&self) -> A; } impl repeat for Box { fn get(&self) -> A { (**self).clone() } } fn repeater(v: Box) -> Box+'static> { Box::new(v) as Box+'static> // No } pub fn main() { let x = 3; let y = repeater(Box::new(x)); assert_eq!(x, y.get()); }