Effects are boolean consts and don't contain opaque types

This commit is contained in:
Oli Scherer 2024-02-21 15:36:49 +00:00
parent 0183d92df0
commit ede0556ab5

View file

@ -918,7 +918,8 @@ pub(super) fn enforce_context_effects(
let param = callee_args.const_at(host_effect_index);
let cause = self.misc(span);
match self.at(&cause, self.param_env).eq(infer::DefineOpaqueTypes::No, effect, param) {
// We know the type of `effect` to be `bool`, there will be no opaque type inference.
match self.at(&cause, self.param_env).eq(infer::DefineOpaqueTypes::Yes, effect, param) {
Ok(infer::InferOk { obligations, value: () }) => {
self.register_predicates(obligations);
}