https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93275

--- Comment #2 from ahmet özhan <tahasuf at gmail dot com> ---
template <typename Other, std::enable_if_t<
        (array_depth_v<array> > array_depth_v<Other>),
        std::nullptr_t> = nullptr>
constexpr array operator * (const Other& other) const {
        array result {};
        std::transform(
                std::begin(*this),
                std::end(*this),
                std::begin(result),
                [other](const T& t) { return t * other; });
        return result;
}

but change this line and add -fconcepts
------
template <typename Other, std::enable_if_t<
        (array_depth_v<array> > array_depth_v<Other>),
        std::nullptr_t> = nullptr>
-----
template <typename Other>
requires (array_depth_v<array> > array_depth_v<Other>)

gcc 9.0 compile.

Reply via email to