diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-03-07 11:35:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-07 11:35:56 +0100 |
| commit | 87df3f663d302431d745172f35f34997b05945d1 (patch) | |
| tree | 39aef8d4b3bc08beee1e7dda68d9314c59b09763 | |
| parent | 2c98edaaa795d3b203052ec4d738d188598b47b4 (diff) | |
| parent | 98fe2eb9aface6f97cae9612d55f6a32812165e4 (diff) | |
Rollup merge of #94614 - pierwill:localexpnid-noord, r=lcnr
Remove ordering traits from `rustc_span::hygiene::LocalExpnId` Part of work on #90317. Also adds a negative impl block as a form of documentation and a roadblock to regression.
| -rw-r--r-- | compiler/rustc_span/src/hygiene.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_span/src/hygiene.rs b/compiler/rustc_span/src/hygiene.rs index 5fae46d5fd8..86adfa7a18c 100644 --- a/compiler/rustc_span/src/hygiene.rs +++ b/compiler/rustc_span/src/hygiene.rs @@ -85,10 +85,17 @@ rustc_index::newtype_index! { /// A unique ID associated with a macro invocation and expansion. pub struct LocalExpnId { ENCODABLE = custom + ORD_IMPL = custom DEBUG_FORMAT = "expn{}" } } +// To ensure correctness of incremental compilation, +// `LocalExpnId` must not implement `Ord` or `PartialOrd`. +// See https://github.com/rust-lang/rust/issues/90317. +impl !Ord for LocalExpnId {} +impl !PartialOrd for LocalExpnId {} + /// Assert that the provided `HashStableContext` is configured with the 'default' /// `HashingControls`. We should always have bailed out before getting to here /// with a non-default mode. With this check in place, we can avoid the need |
