// Copyright 2012 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. trait Pushable { fn push_val(&mut self, t: T); } impl Pushable for ~[T] { fn push_val(&mut self, t: T) { self.push(t); } } pub fn main() { let mut v = ~[1]; v.push_val(2); v.push_val(3); assert!(v == ~[1, 2, 3]); }