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

--- Comment #1 from Miro Palmu <email at miropalmu dot cc> ---
Following will compile on gcc 14.2 but not on 15.0.1 20250314. It compiles on
Clang using either libc++ or libstdc++.

https://godbolt.org/z/GsneqbaWe

```
#include <array>
#include <ranges>
#include <vector>

namespace rv = std::views;
namespace rn = std::ranges;

constexpr auto foo() {
    return std::array{1, 2, 3} |
           rv::transform([](auto x) { return std::array{x}; }) | rv::join |
           rn::to<std::vector>();
}

// Just to use foo in constant evaluation.
constexpr auto bar() {
    const auto f = foo();
    return rn::ssize(f);
}

int main() {
    static constexpr auto N = static_cast<int>(bar());
    return N;
}

```

Reply via email to