error[E0117]: only traits defined in the current crate can be implemented for arbitrary types --> $DIR/issue-67535.rs:3:1 | LL | impl std::ops::AddAssign for () { | ^^^^^-------------------^^^^^-- | | | | | | | this is not defined in the current crate because tuples are always foreign | | this is not defined in the current crate because this is a foreign trait | impl doesn't use only types from inside the current crate | = note: define and implement a trait or new type instead error[E0117]: only traits defined in the current crate can be implemented for arbitrary types --> $DIR/issue-67535.rs:10:1 | LL | impl std::ops::AddAssign for [(); 1] { | ^^^^^-------------------^^^^^------- | | | | | | | this is not defined in the current crate because arrays are always foreign | | this is not defined in the current crate because this is a foreign trait | impl doesn't use only types from inside the current crate | = note: define and implement a trait or new type instead error[E0117]: only traits defined in the current crate can be implemented for arbitrary types --> $DIR/issue-67535.rs:17:1 | LL | impl std::ops::AddAssign for &[u8] { | ^^^^^-------------------^^^^^----- | | | | | | | this is not defined in the current crate because slices are always foreign | | this is not defined in the current crate because this is a foreign trait | impl doesn't use only types from inside the current crate | = note: define and implement a trait or new type instead error[E0053]: method `add_assign` has an incompatible type for trait --> $DIR/issue-67535.rs:5:19 | LL | fn add_assign(&self, other: ()) -> () { | ^^^^^ | | | types differ in mutability | help: change the self-receiver type to match the trait: `&mut self` | = note: expected signature `fn(&mut (), ())` found signature `fn(&(), ())` error[E0053]: method `add_assign` has an incompatible type for trait --> $DIR/issue-67535.rs:12:19 | LL | fn add_assign(&self, other: [(); 1]) -> [(); 1] { | ^^^^^ | | | types differ in mutability | help: change the self-receiver type to match the trait: `&mut self` | = note: expected signature `fn(&mut _, _)` found signature `fn(&_, _) -> [(); 1]` error[E0053]: method `add_assign` has an incompatible type for trait --> $DIR/issue-67535.rs:19:19 | LL | fn add_assign(&self, other: &[u8]) -> &[u8] { | ^^^^^ | | | types differ in mutability | help: change the self-receiver type to match the trait: `&mut self` | = note: expected signature `fn(&mut &_, &_)` found signature `fn(&&_, &_) -> &[u8]` error: aborting due to 6 previous errors Some errors have detailed explanations: E0053, E0117. For more information about an error, try `rustc --explain E0053`.