Здравствуйте, night beast, Вы писали:
NB>и чем замена ссылки на вариант лучше исходного кода? (кроме добавления лишнего мува)
Тем что можно вынести реализацию в cpp, лишнего мува там вроде нет, когда ты вызываешь к-тор reply_t, тебе нужно использовать move, без него будет копирование.
Вариант с variant в к-торе будет выглядеть так же, в точке использования, так как к-тор std::variant не помечен как explicit. Т.е. и там и там будет reply_t foo(std::move(value));