fuzzbug fix

This commit is contained in:
Chris Fallin 2021-12-24 00:50:57 -08:00
parent c7ba91b283
commit 8bd53719cf

View file

@ -88,7 +88,6 @@ impl Schedule {
ctx.ready.push(value); ctx.ready.push(value);
} }
} else { } else {
log::trace!("v{} waiting on {:?}", value.index(), operands);
let mut remaining = 0; let mut remaining = 0;
for &input in operands { for &input in operands {
if input == Value::undef() { if input == Value::undef() {
@ -101,13 +100,18 @@ impl Schedule {
} }
} }
log::trace!("v{} waiting on v{}", value.index(), input.index());
ctx.waiting_on_value ctx.waiting_on_value
.entry(input) .entry(input)
.or_insert_with(|| vec![]) .or_insert_with(|| vec![])
.push(value); .push(value);
remaining += 1; remaining += 1;
} }
ctx.remaining_inputs.insert(value, remaining); if remaining > 0 {
ctx.remaining_inputs.insert(value, remaining);
} else {
ctx.ready.push(value);
}
} }
} }
&ValueDef::Alias(v) | &ValueDef::PickOutput(v, _) => { &ValueDef::Alias(v) | &ValueDef::PickOutput(v, _) => {