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

--- Comment #10 from Eugene <eugene at hutorny dot in.ua> ---
(In reply to Jakub Jelinek from comment #8)
> Further reduced (-std=c++17):
> struct A { int a = 1; };
> struct B { int b = 0; };
> struct C { C () = delete; };
> struct D : public B, public C {};
> struct E : A { D f; } g{};

I think this particular example should be rejected by the compiler because
there is no means for constructing C;

The one below should compile indeed:

struct A { int a = 1; };
struct B { int b = 0; };
struct C { C() = default; C (const C&) = delete; };
struct D : public B, public C {};
struct E : A { D f; } g{};

Reply via email to