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

--- Comment #3 from Miro Palmu <miro.palmu at helsinki dot fi> ---
Here is even more reduced. Notice that if the unused data member `pointer` is
removed from `vec` the problem goes away. Same with data member `a` in struct
`A`.

```
struct vec {
    int data;
    int* pointer; // This is required for compilation to fail

    constexpr vec() {
        data = 42;
    }

};

struct A {
  vec v;
  int a; // This is required for compilation to fail
};

consteval auto foo() {
    A temp1{{}, 42};      // This compiles fine
    const A tmp2{{}, 42}; // This does not
}

int main() {
  foo();
}
```

Reply via email to