Example from http://dlang.org/iasm.html: --- struct Foo { int a,b,c; } int bar(Foo *f) { asm { mov EBX, f; mov EAX, Foo.b[EBX]; } } --- main.d(5): Error: variable b cannot be read at compile time Also see Issue 5302 Workaround: add .offsetof
The spec says that this syntax only works in the scope of the aggregate. Not the case here.