Daily bit(e) of C++ | Handling required fields with designated initializers
Daily bit(e) of C++ #373, Forcing explicit initialization of specific fields in an aggregate when using designated initializers.
When relying on designated initializers during aggregate initialization, it might be desirable to ensure that some fields are always explicitly initialized.
We can use a simple wrapper that cannot be constructed from an empty initializer list to enforce initialization.