------- Comment #2 from redi at gcc dot gnu dot org 2010-03-15 10:32 ------- Is this valid? The 'foo' typedef needs the address of X::x but occurs before it has been defined.
Comeau gives line 18: error: explicit specialization of member "X<<unnamed>>::x [with <unnamed>=false]" must precede its first use ( at line 13) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43368