2022-03-06 08:44:48 -06:00
|
|
|
trait Serializable<'self, T> {
|
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
|
|
|
fn serialize(val: &'self T) -> Vec<u8>; //~ ERROR lifetimes cannot use keyword names
|
|
|
|
fn deserialize(repr: &[u8]) -> &'self T; //~ ERROR lifetimes cannot use keyword names
|
2013-12-16 19:04:02 -06:00
|
|
|
}
|
|
|
|
|
2022-03-06 08:44:48 -06:00
|
|
|
impl<'self> Serializable<str> for &'self str {
|
2016-04-18 16:42:18 -05:00
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
2022-03-06 08:44:48 -06:00
|
|
|
//~| ERROR lifetimes cannot use keyword names
|
2019-04-29 19:45:22 -05:00
|
|
|
//~| ERROR implicit elided lifetime not allowed here
|
2022-03-06 08:44:48 -06:00
|
|
|
//~| ERROR the size for values of type `str` cannot be known at compilation time [E0277]
|
|
|
|
fn serialize(val: &'self str) -> Vec<u8> {
|
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
2016-10-29 16:54:04 -05:00
|
|
|
vec![1]
|
2013-12-16 19:04:02 -06:00
|
|
|
}
|
2022-03-06 08:44:48 -06:00
|
|
|
fn deserialize(repr: &[u8]) -> &'self str {
|
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
2013-12-16 19:04:02 -06:00
|
|
|
"hi"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2014-01-09 04:06:55 -06:00
|
|
|
println!("hello");
|
2014-05-25 05:10:11 -05:00
|
|
|
let x = "foo".to_string();
|
2013-12-16 19:04:02 -06:00
|
|
|
let y = x;
|
2014-01-09 04:06:55 -06:00
|
|
|
println!("{}", y);
|
2013-12-16 19:04:02 -06:00
|
|
|
}
|