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

--- Comment #41 from Boris Staletic <boris.staletic at protonmail dot com> ---
> Regarding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120775#c38 that 
> testcase doesn't fail on godbolt now.

True. I can't repro it either. Though the "lvalue required as unary '&'
operand" in case of `t.*&[:member:]` still remains.

I managed to reduce the testcase further:

```
#include <meta>

struct S { int x; };

template<typename T>
auto test_address_of_spliced_member(T) {
    &[:nonstatic_data_members_of(^^T,
std::meta::access_context::current())[0]:];
}

int main() {
    test_address_of_spliced_member(S{});
}
```

I have also ran into a new problem:

```
#include <meta>

template<size_t...Is>
void test1() {
    static constexpr std::meta::info types[]{^^int};
    [](typename[:types[Is]:]... args) {};
}
```

The error says "expansion pattern '[: types[Is] :]' contains no parameter
packs".
I will attach both test cases as preprocessed files.

Reply via email to