I have found the following behavior of Clang-12, Clang-13 and Clang-14 with c++17 standard:
enum class FOO {
VALUE
};
enum class BAR {
VALUE
};
FOO value1{BAR::VALUE}; // OK
FOO value2 = BAR::VALUE; // Error
Why is there a difference? I would expect enum class to be 100% type safe.