1 // run-pass
2 
3 
4 trait Pushable<T> {
push_val(&mut self, t: T)5     fn push_val(&mut self, t: T);
6 }
7 
8 impl<T> Pushable<T> for Vec<T> {
push_val(&mut self, t: T)9     fn push_val(&mut self, t: T) {
10         self.push(t);
11     }
12 }
13 
main()14 pub fn main() {
15     let mut v = vec![1];
16     v.push_val(2);
17     v.push_val(3);
18     assert_eq!(v, [1, 2, 3]);
19 }
20