https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103879
--- Comment #7 from 康桓瑋 <hewillk at gmail dot com> --- (In reply to Patrick Palka from comment #6) > Reduced C++14 rejects-valid testcase: > > struct A { > int n = 42; > }; > > struct B : A { }; > > struct C { > B b; > }; > > constexpr int f() { > C c; > A& a = static_cast<A&>(c.b); > B& b = static_cast<B&>(a); > return b.n; > } > > static_assert(f() == 42, ""); Is this the same issue? #include <string> #include <ranges> int main() { using namespace std::string_literals; static_assert(std::ranges::distance( std::views::iota(0, 2) | std::ranges::views::transform([](int) { return ""s; }) | std::ranges::views::join)); } https://godbolt.org/z/8nve43zvW