Question: Is this a copy constructor? Don’t look it up!
T::T(T& other, int i = 0);
I thought I knew this! It has two parameters and the first one isn’t const. This is not a copy constructor. To my suprise C++ disagrees. I should have expected something like this, though. In C++ everything is more subtle than it looks.
Of course the next question was: What exactly does count as a default/copy/move constructor, copy/move assigment operator or destructor? The C++ standard calls this group of functions special member functions and dedicates a whole chapter …