Affected subclause: [expr.arith.conv]
Change: Operations mixing a value of an enumeration type and a value of a different
enumeration type or of a floating-point type are no longer valid
. Rationale: Reinforcing type safety
. Effect on original feature: A valid C++ 2023 program that performs operations mixing a value of an
enumeration type and a value of a different enumeration type or of a
floating-point type is ill-formed
. For example:
enum E1 { e };
enum E2 { f };
bool b = e <= 3.7;
int k = f - e;
auto x = true ? e : f;