diff options
| author | Andre Bogus <bogusandre@gmail.com> | 2021-12-08 11:41:31 +0100 |
|---|---|---|
| committer | Andre Bogus <bogusandre@gmail.com> | 2021-12-10 00:40:41 +0100 |
| commit | 635533bebb353bf6004cd9513f620980dde2d625 (patch) | |
| tree | 45794b68539097dea27e2e53d091b9712e358014 /src | |
| parent | abba5edf480f8ba6be4aa8791bd343dd12efb969 (diff) | |
manually implement `Hash` for `DefId`
This also reorders the fields to reduce the assembly operations for hashing and changes two UI tests that depended on the former ordering because of hashmap iteration order.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/coherence/coherence-orphan.stderr | 22 | ||||
| -rw-r--r-- | src/test/ui/methods/method-ambig-two-traits-cross-crate.stderr | 12 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/test/ui/coherence/coherence-orphan.stderr b/src/test/ui/coherence/coherence-orphan.stderr index 051a519ee14..52d2cc88cbe 100644 --- a/src/test/ui/coherence/coherence-orphan.stderr +++ b/src/test/ui/coherence/coherence-orphan.stderr @@ -1,15 +1,4 @@ error[E0117]: only traits defined in the current crate can be implemented for arbitrary types - --> $DIR/coherence-orphan.rs:17:1 - | -LL | impl !Send for Vec<isize> { } - | ^^^^^^^^^^^^^^^---------- - | | | - | | `Vec` is not defined in the current crate - | 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/coherence-orphan.rs:10:1 | LL | impl TheTrait<usize> for isize { } @@ -21,6 +10,17 @@ LL | impl TheTrait<usize> for isize { } | = 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/coherence-orphan.rs:17:1 + | +LL | impl !Send for Vec<isize> { } + | ^^^^^^^^^^^^^^^---------- + | | | + | | `Vec` is not defined in the current crate + | impl doesn't use only types from inside the current crate + | + = note: define and implement a trait or new type instead + error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0117`. diff --git a/src/test/ui/methods/method-ambig-two-traits-cross-crate.stderr b/src/test/ui/methods/method-ambig-two-traits-cross-crate.stderr index ed03b37fde2..4b2597eed3c 100644 --- a/src/test/ui/methods/method-ambig-two-traits-cross-crate.stderr +++ b/src/test/ui/methods/method-ambig-two-traits-cross-crate.stderr @@ -4,20 +4,20 @@ error[E0034]: multiple applicable items in scope LL | fn main() { 1_usize.me(); } | ^^ multiple `me` found | -note: candidate #1 is defined in an impl of the trait `Me2` for the type `usize` + = note: candidate #1 is defined in an impl of the trait `Me` for the type `usize` +note: candidate #2 is defined in an impl of the trait `Me2` for the type `usize` --> $DIR/method-ambig-two-traits-cross-crate.rs:10:22 | LL | impl Me2 for usize { fn me(&self) -> usize { *self } } | ^^^^^^^^^^^^^^^^^^^^^ - = note: candidate #2 is defined in an impl of the trait `Me` for the type `usize` help: disambiguate the associated function for candidate #1 | -LL | fn main() { Me2::me(&1_usize); } - | ~~~~~~~~~~~~~~~~~ -help: disambiguate the associated function for candidate #2 - | LL | fn main() { Me::me(&1_usize); } | ~~~~~~~~~~~~~~~~ +help: disambiguate the associated function for candidate #2 + | +LL | fn main() { Me2::me(&1_usize); } + | ~~~~~~~~~~~~~~~~~ error: aborting due to previous error |
