Hi,
I am trying to compile the following items:
import std.bitmanip: bitfields;
enum TYPE_BITS = 5;
enum NAMED_BITS = 16;
struct sxpinfo_struct {
mixin(bitfields!(
SEXPTYPE, "type", TYPE_BITS,
uint, "scalar", 1,
uint, "obj", 1,
uint, "alt", 1,
uint, "gp", 16,
uint, "mark", 1,
uint, "debug", 1,
uint, "trace", 1,
uint, "spare", 1,
uint, "gcgen", 1,
uint, "gccls", 3,
uint, "named", NAMED_BITS,
uint, "extra", 32 - NAMED_BITS));
}
But I get the error:
Error: no identifier for declarator `uint`
Error: identifier or integer expected inside `debug(...)`, not `)`
Error: found `@` when expecting `)`
Error: no identifier for declarator `safe`
Error: declaration expected, not `return`
Error: no identifier for declarator `void`
Error: identifier or integer expected inside `debug(...)`, not `uint`
Error: found `v` when expecting `)`
Error: declaration expected, not `)`
Error: declaration expected, not `assert`
Error: basic type expected, not `cast`
Error: found `cast` when expecting `;`
Error: declaration expected, not `(`
All referencing the bitfields
mixin
, more specifically the last two lines but I think it's actually referencing the expanded mixin
rather than my declaration.
Thanks