код:
https://coliru.stacked-crooked.com/a/053394d0fc0b2cdb
каким-то образом при наличии НЕшаблонного operator|() для конкретного enum
он перестает его видеть если в неймспейсе A добавить шаблонный оператор|() который всегда отключен.
Что-то я торможу. Не понимаю, что происходит при смене #if 1 / #if 0