error[E0390]: cannot define inherent `impl` for primitive types --> $DIR/kinds-of-primitive-impl.rs:1:1 | LL | impl u8 { | ^^^^^^^ | = help: consider using an extension trait instead error[E0390]: cannot define inherent `impl` for primitive types --> $DIR/kinds-of-primitive-impl.rs:6:1 | LL | impl str { | ^^^^^^^^ | = help: consider using an extension trait instead error[E0390]: cannot define inherent `impl` for primitive types --> $DIR/kinds-of-primitive-impl.rs:12:1 | LL | impl char { | ^^^^^^^^^ | = help: consider using an extension trait instead error[E0390]: cannot define inherent `impl` for primitive types --> $DIR/kinds-of-primitive-impl.rs:21:1 | LL | impl &MyType { | ^^^^^^^^^^^^ | = help: consider using an extension trait instead = note: you could also try moving the reference to uses of `MyType` (such as `self`) within the implementation error[E0277]: the size for values of type `str` cannot be known at compilation time --> $DIR/kinds-of-primitive-impl.rs:9:12 | LL | fn bar(self) {} | ^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `str` = help: unsized fn params are gated as an unstable feature help: function arguments must have a statically known size, borrowed types always have a known size | LL | fn bar(&self) {} | + error: aborting due to 5 previous errors Some errors have detailed explanations: E0277, E0390. For more information about an error, try `rustc --explain E0277`.