1pub trait PushReturn<T> { 2 fn push_and_get(&mut self, t: T) -> &mut T; 3} 4 5impl<T> PushReturn<T> for Vec<T> { 6 fn push_and_get(&mut self, t: T) -> &mut T { 7 self.push(t); 8 self.last_mut().unwrap() 9 } 10}