Account for tuples in explanation
This commit is contained in:
@@ -54,8 +54,9 @@ impl ItemLikeVisitor<'v> for OrphanChecker<'tcx> {
|
||||
"`{}` is not defined in the current crate{}",
|
||||
ty,
|
||||
match &ty.kind {
|
||||
ty::Slice(_) => " because slices are always considered foreign",
|
||||
ty::Array(..) => " because arrays are always considered foreign",
|
||||
ty::Slice(_) => " because slices are always foreign",
|
||||
ty::Array(..) => " because arrays are always foreign",
|
||||
ty::Tuple(..) => " because tuples are always foreign",
|
||||
_ => "",
|
||||
},
|
||||
);
|
||||
|
||||
@@ -62,7 +62,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -73,7 +73,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -84,7 +84,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -62,7 +62,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -73,7 +73,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -84,7 +84,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -21,7 +21,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -32,7 +32,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -21,7 +21,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -32,7 +32,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | unsafe impl Send for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -40,7 +40,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -51,7 +51,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -62,7 +62,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -40,7 +40,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for (MyType, MyType) {}
|
||||
| ^^^^^^^^^^^^^^^----------------
|
||||
| | |
|
||||
| | `(MyType, MyType)` is not defined in the current crate
|
||||
| | `(MyType, MyType)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -51,7 +51,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for [MyType] {}
|
||||
| ^^^^^^^^^^^^^^^--------
|
||||
| | |
|
||||
| | `[MyType]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[MyType]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -62,7 +62,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Sized for &'static [NotSync] {}
|
||||
| ^^^^^^^^^^^^^^^------------------
|
||||
| | |
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always considered foreign
|
||||
| | `[NotSync]` is not defined in the current crate because slices are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl lib::MyCopy for (MyType,) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^---------
|
||||
| | |
|
||||
| | `(MyType,)` is not defined in the current crate
|
||||
| | `(MyType,)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl lib::MyCopy for (MyType,) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^---------
|
||||
| | |
|
||||
| | `(MyType,)` is not defined in the current crate
|
||||
| | `(MyType,)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -16,7 +16,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl Copy for Foo { }
|
||||
| ^^^^^^^^^^^^^^---
|
||||
| | |
|
||||
| | `[u8; _]` is not defined in the current crate because arrays are always considered foreign
|
||||
| | `[u8; _]` is not defined in the current crate because arrays are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
@@ -4,7 +4,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl DefaultedTrait for (A,) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^----
|
||||
| | |
|
||||
| | `(A,)` is not defined in the current crate
|
||||
| | `(A,)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
@@ -15,7 +15,7 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
LL | impl !DefaultedTrait for (B,) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^----
|
||||
| | |
|
||||
| | `(B,)` is not defined in the current crate
|
||||
| | `(B,)` is not defined in the current crate because tuples are always foreign
|
||||
| impl doesn't use only types from inside the current crate
|
||||
|
|
||||
= note: define and implement a trait or new type instead
|
||||
|
||||
Reference in New Issue
Block a user