]> git.proxmox.com Git - rustc.git/blobdiff - compiler/rustc_type_ir/src/lib.rs
New upstream version 1.61.0+dfsg1
[rustc.git] / compiler / rustc_type_ir / src / lib.rs
index e26f0033156bcb2e46358bd96e0931c709f228cc..b015e40b6836fea3991eaaaf524f7da3ffd2e6c2 100644 (file)
@@ -61,6 +61,14 @@ bitflags! {
                                           | TypeFlags::HAS_CT_INFER.bits
                                           | TypeFlags::HAS_TY_PLACEHOLDER.bits
                                           | TypeFlags::HAS_CT_PLACEHOLDER.bits
+                                          // The `evaluate_obligation` query does not return further
+                                          // obligations. If it evaluates an obligation with an opaque
+                                          // type, that opaque type may get compared to another type,
+                                          // constraining it. We would lose this information.
+                                          // FIXME: differentiate between crate-local opaque types
+                                          // and opaque types from other crates, as only opaque types
+                                          // from the local crate can possibly be a local name
+                                          | TypeFlags::HAS_TY_OPAQUE.bits
                                           // We consider 'freshened' types and constants
                                           // to depend on a particular fn.
                                           // The freshening process throws away information,