Должен ли std::expected быть тривиально копируемым для тривиально копируемых значений и типов ошибок?C++

Программы на C++. Форум разработчиков
Anonymous
Должен ли std::expected быть тривиально копируемым для тривиально копируемых значений и типов ошибок?

Сообщение Anonymous »

пытается перейти от tl::expected к std::expected, но сталкивается с неожиданной проблемой.
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
Протестировано в Compiler Explorer.

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-and-erro

Вернуться в «C++»