trait Serializable<'self, T> { //~ ERROR lifetimes cannot use keyword names fn serialize(val : &'self T) -> Vec; //~ ERROR lifetimes cannot use keyword names fn deserialize(repr : &[u8]) -> &'self T; //~ ERROR lifetimes cannot use keyword names } impl<'self> Serializable for &'self str { //~ ERROR lifetimes cannot use keyword names //~^ ERROR lifetimes cannot use keyword names //~| ERROR missing lifetime specifier fn serialize(val : &'self str) -> Vec { //~ ERROR lifetimes cannot use keyword names vec![1] } fn deserialize(repr: &[u8]) -> &'self str { //~ ERROR lifetimes cannot use keyword names "hi" } } fn main() { println!("hello"); let x = "foo".to_string(); let y = x; println!("{}", y); }