2022-03-06 14:44:48 +00: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-17 01:04:02 +00:00
|
|
|
}
|
|
|
|
|
2022-03-06 14:44:48 +00:00
|
|
|
impl<'self> Serializable<str> for &'self str {
|
2016-04-18 21:42:18 +00:00
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
2022-03-06 14:44:48 +00:00
|
|
|
//~| ERROR lifetimes cannot use keyword names
|
2019-04-30 00:45:22 +00:00
|
|
|
//~| ERROR implicit elided lifetime not allowed here
|
2022-03-06 14:44:48 +00: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 21:54:04 +00:00
|
|
|
vec![1]
|
2013-12-17 01:04:02 +00:00
|
|
|
}
|
2022-03-06 14:44:48 +00:00
|
|
|
fn deserialize(repr: &[u8]) -> &'self str {
|
|
|
|
//~^ ERROR lifetimes cannot use keyword names
|
2013-12-17 01:04:02 +00:00
|
|
|
"hi"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2014-01-09 10:06:55 +00:00
|
|
|
println!("hello");
|
2014-05-25 10:10:11 +00:00
|
|
|
let x = "foo".to_string();
|
2013-12-17 01:04:02 +00:00
|
|
|
let y = x;
|
2014-01-09 10:06:55 +00:00
|
|
|
println!("{}", y);
|
2013-12-17 01:04:02 +00:00
|
|
|
}
|