pragma msg field name?
Chris Katko
ckatko at gmail.com
Tue Jun 27 22:20:22 UTC 2023
Does anyone know why the new variables don't show up after the
static foreach?
I have a struct, it has some marked fields. I want to note those
fields at compile time and make some similarly named fields like
myField becomes myField__replicated.
The code doesn't _have_ to be inside the struct/class itself. It
could be:
```
auto replicatedObject = makeReplicated!(myObject);
```
for example.
I'm not sure the high-level best way right now, as I'm currently
having issues with the nitty-gritty implementation of templates.
snippetcode (drop right into run.dlang.io):
```D
import std;
struct multiplayerObject2
{
ushort type;
ushort type2;
float x, y;
static foreach(t; typeof(this).tupleof)
{
pragma(msg, t.stringof);
mixin("bool " ~ t.stringof ~ "25;"); // copy the fieldname with
a suffix
}
pragma(msg, "-----separator-----");
static foreach(t; typeof (this).tupleof) // again
{
pragma(msg, t.stringof); // does not see any new fields!
}
}
void main()
{
}
```
```D
// Output
type
type2
x
y
-----separator-----
type
type2
x
y
```
More information about the Digitalmars-d-learn
mailing list