// Build don't link: 
template <class T>
struct X
{
    virtual void f(int) const;
};

template <class T>
struct Y: public X<T>
{
    virtual void f(int) const;
};

template <class T>
void Y<T>::f(int) const
{
}

template <>
void Y<bool>::f(int) const;
