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");
}

Reply via email to