This prints "Not true.":
tribool b = indeterminate;
if(b) {
cout << boolalpha << b << endl;
}
else {
cout << "Not true." << endl;
}
This prints "indeterminate":
auto b = indeterminate;
if(b) {
cout << boolalpha << b << endl;
}
else {
cout << "Not true." << endl;
}
Is it a bug? Or is it expected behavior? What's the rationale?
Thanks!