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

--- Comment #2 from Carlos Galvez <carlosgalvezp at gmail dot com> ---
I could reduce it to a simpler self-contained example:

struct Foo;

Foo const& foo_maker();

struct Bar
{
    explicit Bar(Foo const&);
};

void baz()
{
    Bar const& b{foo_maker()};
}

Godbolt: https://godbolt.org/z/1q45Ebexz

Here it's clear that we are initializing a reference from a temporary, but
since it's a const reference, shouldn't it extend the lifetime of the
temporary? Clang does not complain in this case (it does when the reference is
non-const).

Reply via email to