Anonymous structs have a limitation on GCC when involving non-trivial default constructors, as it's a compiler extension and not actually standard C++ to use anonymous structs. We can give the struct a concrete name, which fixes this issue.