
template <typename T>
class C {
    void fun(T) { return; }
};

template <typename T>
class D {
    public:
    void fun(T) { return; }
};

template <typename T>
class E {
    public:
    void fun(T) { return; }
};

