This led to compilation error if both flare/base/option.h and flare/rpc/rpc_client_controller.h were included in same file.
Now we use macro to define operator overloads so that they're always visible via ADL (provided the macro is instantiated in the same namespace as the enum type.)
This led to compilation error if both flare/base/option.h and flare/rpc/rpc_client_controller.h were included in same file.
Now we use macro to define operator overloads so that they're always visible via ADL (provided the macro is instantiated in the same namespace as the enum type.)