Zig Version
0.14.0-dev.1924+bdd3bc056
Steps to Reproduce and Observed Behavior
fnb(arg: ?bool) bool {
returnif (arg) trueelsefalse;
}
fnu(arg: ?u0) bool {
returnif (arg) trueelsefalse;
}
test {
_=comptimeb(true); //passes (yields false)_=comptimeu(0); //passes (yields false)//_ = b(true); //correctly issues compile error `expected type 'bool', found '?bool'`//_ = u(0); //correctly issues compile error `expected type 'bool', found '?u0'`
}Expected Behavior
Optional-unwrapping if should always require a capture, as it does in runtime code.
IMO this should count as a miscompilation, since invalid code (where the intent is not clear) is processed (and yields an unintuitive result).
Zig Version
0.14.0-dev.1924+bdd3bc056
Steps to Reproduce and Observed Behavior
Expected Behavior
Optional-unwrapping
ifshould always require a capture, as it does in runtime code.IMO this should count as a miscompilation, since invalid code (where the intent is not clear) is processed (and yields an unintuitive result).