What licensing restrictions does that imply for that file specifically
GPL. You must provide the source of that file, exactly as used for building, to anybody who got the binary that includes it from you.
and for projects using it?
Only those for the file itself, as long as the file itself is a reasonably self-contained component. The gcc library exception stops the license from applying to the rest of the project.
why not the LGPL then? What's the difference?
Because the gcc library exception is more permissive. LGPL only stops at a dynamic link boundary. You can't link a C++ template dynamically, since it is instantiated directly into the compilation unit using it, so LGPL would have been exactly equivalent to GPL for libstdc++. The gcc library exception stops at the program interface even if linked statically.