Fix MSVC build by not putting an error_code directly in a union.