Sometimes a recursive call through ExprVar's Value method would hit one of these and return (nil, nil) which would throw off things.
13 lines
475 B
Plaintext
13 lines
475 B
Plaintext
-- main.mcl --
|
|
import "fmt"
|
|
$format = "%d" # should get ignored
|
|
$fn = func($format) {
|
|
fmt.printf($format, 42)
|
|
}
|
|
test $fn("%s") {}
|
|
# should error at unification if possible, otherwise at runtime
|
|
# TODO: I would expect that if the "%s" and "%d" swapped, that speculatively we
|
|
# would be able to run this at compile time and know the result statically.
|
|
-- OUTPUT --
|
|
# err: errStream: func `printf@??????????` stopped before it was loaded: base kind does not match (Str != Int)
|