class C { C() = default; C(const C &) = delete; C &operator=(const C &) = default; void foo() = delete; template void bar(T) = delete; };