We were skipping over being fully consistent with all of the generator invariants when running the solver. This allowed us to miss some of the conditions that a generator might impose. Usually this caused us to be "solved" when in fact we had an invalid program.
11 lines
255 B
Plaintext
11 lines
255 B
Plaintext
-- main.mcl --
|
|
import "fmt"
|
|
|
|
# This should not unify, we need at least one arg.
|
|
# NOTE: We have historically needed to turn on the recursive solver to find that
|
|
# this was a bug!
|
|
test fmt.printf() {}
|
|
|
|
-- OUTPUT --
|
|
# err: errUnify: 2 unconsumed generators
|