about summary refs log tree commit diff
diff options
context:
space:
mode:
authorpierwill <pierwill@users.noreply.github.com>2022-03-04 10:52:05 -0600
committerpierwill <pierwill@users.noreply.github.com>2022-03-04 11:00:36 -0600
commit98fe2eb9aface6f97cae9612d55f6a32812165e4 (patch)
treef248fd86bec4601452503debfb5fcb979c18112d
parentb4bf56cd66ca83e908fd43bde4c627f94b2a8a9f (diff)
downloadrust-98fe2eb9aface6f97cae9612d55f6a32812165e4.tar.gz
rust-98fe2eb9aface6f97cae9612d55f6a32812165e4.zip
Remove ordering traits from `rustc_span::hygiene::LocalExpnId`
-rw-r--r--compiler/rustc_span/src/hygiene.rs7
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