Let's see this code:
struct S { virtual ~S() = default; }; First question is: is this OK according to the standard? I cannot find the relevant syntax on cppreference. Second question is will this prohibit the compiler from generating copy/move constructor/assignment operator? Reference to the standard would be appreciated.
= defaultdoes count as user-defined and prohibits the compiler from generating special members.