https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78286
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >Moreover, in this case foo is not a dependent name and typename couldn't be >used. That is not true. There was a defect report (DR 382) against the C++ standard to allow that; I should know I implemented the support for this defect report; see PR 22154 :).