unrestricted c++11 unions simply aren't work the space