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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Further reduced:

#include <string>

using namespace std::literals;

template<typename T>
constexpr auto
fold2(T init)
{ return std::move(init); }

template<typename T>
constexpr auto
fold(T init)
{ return fold2(std::move(init)); }

constexpr auto foo() {
    return fold(""s);
}

constexpr auto bar() {
    return foo().size();
}

int main() {
    constexpr auto i = bar();
    return i;
}

Reply via email to