about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/traits/mod.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-05-09 20:18:22 +0000
committerMichael Goulet <michael@errs.io>2023-05-25 03:21:21 +0000
commita2d7ffc6353b65ff730dd1e7d8027b3751bf82aa (patch)
tree9c7ee3fae1a2fe2a9c687fbc3f199e4c0f1665ab /compiler/rustc_middle/src/traits/mod.rs
parent4d80b8090c30980c03ff4bb6f47a7560ffaa68a4 (diff)
downloadrust-a2d7ffc6353b65ff730dd1e7d8027b3751bf82aa.tar.gz
rust-a2d7ffc6353b65ff730dd1e7d8027b3751bf82aa.zip
Move DefiningAnchor
Diffstat (limited to 'compiler/rustc_middle/src/traits/mod.rs')
-rw-r--r--compiler/rustc_middle/src/traits/mod.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/traits/mod.rs b/compiler/rustc_middle/src/traits/mod.rs
index 5b0b40cbfd9..0a903a76974 100644
--- a/compiler/rustc_middle/src/traits/mod.rs
+++ b/compiler/rustc_middle/src/traits/mod.rs
@@ -1108,3 +1108,14 @@ pub enum CodegenObligationError {
     Unimplemented,
     FulfillmentError,
 }
+
+#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, TypeFoldable, TypeVisitable)]
+pub enum DefiningAnchor {
+    /// `DefId` of the item.
+    Bind(LocalDefId),
+    /// When opaque types are not resolved, we `Bubble` up, meaning
+    /// return the opaque/hidden type pair from query, for caller of query to handle it.
+    Bubble,
+    /// Used to catch type mismatch errors when handling opaque types.
+    Error,
+}