On Monday, 4 December 2023 at 18:26:07 UTC, DLearner wrote:
Suppose we need a construct like:
```
void main() {
struct A {
int I1;
int I2;
char X;
}
struct B {
A Dummy;
int Var1;
int Var2;
}
}
```
But do not want to give an explicit name (like 'Dummy' above)
to the A struct held within the B struct.
Just removing 'Dummy' does not work (Error: no identifier for
declarator `A`).
Nor does replacing 'Dummy' with {}
Suggestions?
One possible solution is to use a 'mixin template' where you
effectively 'copy and paste' in the 'struct' and access the
symbols.
Is something like this what you had in mind?
```
void main() {
import std.stdio;
mixin template A() {
int I1;
int I2;
char X;
}
struct B {
mixin A;
int Var1;
int Var2;
}
B someObject;
writeln(someObject.I1);
writeln(someObject.I2);
}
```