https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118668
Bug ID: 118668
Summary: lambda explict reference to anonymous union is allowed
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: accepts-invalid, c++-lambda
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Take:
```
void test1() {
union { int a; int b; };
[&a] { (void)a;}(); // #1
[&b] { (void)b; }(); // #2
}
void test2() {
union { int a; int b; };
[&] {(void)a;}(); // #1
[&] {(void)b; }(); // #2
}
```
GCC rejects both cases in test2 but accepts both cases in test1. BUT explicit
vs implicit reference of anonymous union fields should not make a difference
here.