non-trivial designated initializers not supported - g++?

Hi there - not sure how to tag this issue but I am getting this error while compiling using gcc:

extensions/stats/ error: missing initializer for member ‘Envoy::Extensions::Common::Wasm::Null::Plugin::Stats::IstioDimensions::connection_security_policy’ [-Werror=missing-field-initializers]
cc1plus: all warnings being treated as errors

I think compiler does not like initializations similar to ’ IstioDimensions d2{.request_protocol = “grpc”};’.

It works when I use syntax d2.xxxxx=“grpc”.

Wonder if this is a known issue and if there are plans to address it.


These are designated initializers, part of C++20 standard. The C++ ABI is targeting C++20 so you need to use recent compiler versions.