Ну то есть если нет спец конструктора, то создаётся tmp, а если его в структуре указали, то tmp не создаётся и именно копируется сразу? Я правильно понял?
В данном случае легитимны сценарии: 1. Конструктор обекта + конструктор копирования и два деструктора. 2. Конструктор объекта + постблит (перемещение) и один деструктор. 3. Конструктор объекта и один деструктор.
Все три абсолютно легитмны и могут зависеть от компилятора.