https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32039
--- Comment #10 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Ok, this is http://open-std.org/JTC1/SC22/WG21/docs/cwg_closed.html#1960 which says "The rule was introduced because the hiding of a base class member by an intermediate derived class is potentially intentional and should not be capable of circumvention by a using-declaration in a derived class. The consensus of CWG preferred not to change the restriction." So yes, we need to fix this. :)