opendylan
opendylan copied to clipboard
Assignment to module variables not type checked
define thread variable *foo* :: false-or(<integer>) = 1;
// No warning for this
dynamic-bind (*foo* = make(<string>))
end;
// There is a warning for this.
dynamic-bind (*foo* = "")
end;
Peter S. Housel @housel 22:23
It does manage to infer exactly what the type of make(<string>) should be, it just doesn't check the assignment
Same problem if it's a non-thread module variable