std::expected в GCC и Clang не поддается тривиальному копированию для тривиально копируемого значения и типы ошибок, однако это на MSVC. tl::expected легко копируется всеми.
Каким должно быть правильное поведение? Поисковые запросы оказались пустыми.
Код: Выделить всё
// Passes on GCC, Clang and MSVC.
static_assert(std::is_trivially_copyable_v);
// Passes on MSVC. Fails on GCC and Clang.
static_assert(std::is_trivially_copyable_v);
Протестировано в Compiler Explorer.
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-and-erro
Мобильная версия