19976, "mppf", "Should operators called on bool(8) result in bool?", "2022-06-13T16:00:13Z"
Consider the following program that calls ^ with two bool values of nonstandard bool size:
var b16 : bool(16) = true;
writeln("b16 = ", b16, " : ", b16.type:string);
var z = b16 ^ b16;
writeln("x ^ y = ", z, " : ", z.type:string);
This program currently has this output:
b16 = true : bool(16)
x ^ y = false : bool
Meaning, that b16 ^ b16 results in a bool (of default size) rather than a bool(16).
Do we want this behavior? Or do we want x ^ y to result in bool(16) in this case?
Either way, at a glance, it didn't look to me like the spec discusses this. E.g. I would expect Types — Chapel Documentation 1.26 to bring it up (and for that matter, the title can't be "the bool type" if we have many bool types).