1 error: lifetimes cannot use keyword names
2 --> $DIR/issue-10412.rs:1:20
4 LL | trait Serializable<'self, T> {
7 error: lifetimes cannot use keyword names
8 --> $DIR/issue-10412.rs:3:24
10 LL | fn serialize(val: &'self T) -> Vec<u8>;
13 error: lifetimes cannot use keyword names
14 --> $DIR/issue-10412.rs:4:37
16 LL | fn deserialize(repr: &[u8]) -> &'self T;
19 error: lifetimes cannot use keyword names
20 --> $DIR/issue-10412.rs:7:6
22 LL | impl<'self> Serializable<str> for &'self str {
25 error: lifetimes cannot use keyword names
26 --> $DIR/issue-10412.rs:7:36
28 LL | impl<'self> Serializable<str> for &'self str {
31 error: lifetimes cannot use keyword names
32 --> $DIR/issue-10412.rs:12:24
34 LL | fn serialize(val: &'self str) -> Vec<u8> {
37 error: lifetimes cannot use keyword names
38 --> $DIR/issue-10412.rs:16:37
40 LL | fn deserialize(repr: &[u8]) -> &'self str {
43 error[E0726]: implicit elided lifetime not allowed here
44 --> $DIR/issue-10412.rs:7:13
46 LL | impl<'self> Serializable<str> for &'self str {
47 | ^^^^^^^^^^^^^^^^^ expected lifetime parameter
49 = note: assuming a `'static` lifetime...
50 help: indicate the anonymous lifetime
52 LL | impl<'self> Serializable<'_, str> for &'self str {
55 error[E0277]: the size for values of type `str` cannot be known at compilation time
56 --> $DIR/issue-10412.rs:7:13
58 LL | impl<'self> Serializable<str> for &'self str {
59 | ^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
61 = help: the trait `Sized` is not implemented for `str`
62 note: required by a bound in `Serializable`
63 --> $DIR/issue-10412.rs:1:27
65 LL | trait Serializable<'self, T> {
66 | ^ required by this bound in `Serializable`
67 help: consider relaxing the implicit `Sized` restriction
69 LL | trait Serializable<'self, T: ?Sized> {
72 error: aborting due to 9 previous errors
74 Some errors have detailed explanations: E0277, E0726.
75 For more information about an error, try `rustc --explain E0277`.