GCC 4.8.1 accepts
template
class Subclass : public Baseclass
{
public:
using typename Baseclass::Baseclass;
};
>
The answer is a bit buried in the standard. A using declaration is defined as (7.3.3):
using [typename] nested-name-specifier unqualified-id;
The nested-name-specifier
resolves after some steps into simple-template-id
which is defined as
template-name < [template-argument-list] >
In short, the standard conforming syntax is
template
class Subclass : public Baseclass
{
public:
using typename Baseclass::Baseclass;
};