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

Tomasz Kamiński <tkaminsk at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkaminsk at gcc dot gnu.org

--- Comment #4 from Tomasz Kamiński <tkaminsk at gcc dot gnu.org> ---
The is_contructible_v and tuple construction both fail consistently since GCC
11.4:
#include <tuple>

struct F {
    F() { }
    F(const std::tuple<F>& foo) {}
};

static_assert(std::is_constructible_v<F, const std::tuple<F>&>);
static_assert(std::is_constructible_v<F, const std::tuple<std::tuple<F>>&>); //
fails

int main() {
    F f1{std::tuple{F{}}};
    auto tup = std::tuple{std::tuple{f1}}; // this is tuple<F> not
tuple<tuple<F>>
    static_assert(std::is_same_v<decltype(tup), std::tuple<F>>);
    F f2{tup};
    const std::tuple<std::tuple<F>> ttup{std::tuple<F>(f1)};
    F f3{ttup}; // also fails
}

Link: https://godbolt.org/z/jWqY7bWf3

Reply via email to