diff options
| author | Josh Stone <jistone@redhat.com> | 2022-09-27 15:21:31 -0700 |
|---|---|---|
| committer | Josh Stone <jistone@redhat.com> | 2022-09-27 15:21:31 -0700 |
| commit | fb5002d68aa22f23ced3e2b5265f622264e4840a (patch) | |
| tree | 7ac8346a53e6a207bc872985a400525e8d742257 /compiler/rustc_codegen_gcc | |
| parent | 57ee5cf5a93923dae9c98bffb11545fc3a31368d (diff) | |
| download | rust-fb5002d68aa22f23ced3e2b5265f622264e4840a.tar.gz rust-fb5002d68aa22f23ced3e2b5265f622264e4840a.zip | |
Manually order `DefId` on 64-bit big-endian
`DefId` uses different field orders on 64-bit big-endian vs. others, in order to optimize its `Hash` implementation. However, that also made it derive different lexical ordering for `PartialOrd` and `Ord`. That caused spurious differences wherever `DefId`s are sorted, like the candidate sources list in `report_method_error`. Now we manually implement `PartialOrd` and `Ord` on 64-bit big-endian to match the same lexical ordering as other targets, fixing at least one test, `src/test/ui/methods/method-ambig-two-traits-cross-crate.rs`.
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions
