Ответ 1
Ошибка Qt # 54685 имеет явное подтверждение от разработчиков Qt, что типы перемещения не поддерживаются (и никогда не будут) из-за Qt контейнерами принцип неявного обмена.
Когда вы копируете один контейнер Qt в другой, вы не делаете глубокую копию - контейнеры совместно используют свое содержимое внутри. Только когда вызывающая функция вызывается в контейнере, она отделяется, создавая собственную локальную копию содержимого. Это позволяет передавать контейнеры Qt через сигналы и слоты (что обязательно по значению) без снижения производительности.
Это, конечно, было бы невозможно, если содержащийся тип - только для перемещения. И способность пропускать контейнеры по значению (без копирования их содержимого) имеет основополагающее значение для механизма метаобъектов Qt, поэтому я не думаю, что его можно было бы перепроектировать. API-интерфейсы Qt полагаются на неявное совместное использование и пропускают контейнеры по значению, даже если контейнер с переносом будет передаваться по ссылке, поэтому нет простого выхода.