https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91827
Bug ID: 91827 Summary: const std::experimental::optional<int> is not std::is_nothrow_move_constructible Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rafael at espindo dot la Target Milestone: --- Only the first static_assert in the following example fails. #include <experimental/optional> #include <optional> void foo(const std::experimental::optional<int> timeout) { static_assert(std::is_nothrow_move_constructible<const std::experimental::optional<int>>::value, "foobar"); static_assert(std::is_nothrow_move_constructible<const std::optional<int>>::value, "foobar"); }