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

--- Comment #38 from Boris Staletic <boris.staletic at protonmail dot com> ---
Jakub, thanks for the quick reply.

So, the ICE, the the expansion statements and the `_`-named members aside (as
those are known and being worked on), I see that I failed to provide a repro
for error 3 from my previous comment.
I don't know what happened and why it started working...
Anyway, that error was supposed to be distilled from P2996's "struct to tuple"
example.

Here's the actual error: https://godbolt.org/z/dW4vbdKeM

If the line is changed from

        return std::make_tuple(t.[:members:]...);
to
        return std::make_tuple(t.*&[:members:]...);

The error changes to "lvalue required as unary '&' operand".

If this is known as well and there's a workaround, I can try the gcc reflection
impl on my library over the weekend.

Reply via email to