about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-09-30 19:06:05 +0200
committerGitHub <noreply@github.com>2022-09-30 19:06:05 +0200
commite2bc6b8172dd122b31019fc0b0de179ae5215f31 (patch)
tree1090837a45b88aefeb3f06f52c0a6fa6ae0ef402 /compiler/rustc_codegen_gcc
parent3452d9d593d901622e4be835cb6eba710387796e (diff)
parentfb5002d68aa22f23ced3e2b5265f622264e4840a (diff)
downloadrust-e2bc6b8172dd122b31019fc0b0de179ae5215f31.tar.gz
rust-e2bc6b8172dd122b31019fc0b0de179ae5215f31.zip
Rollup merge of #102382 - cuviper:defid-order, r=fee1-dead
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