There are some... odd rules. struct S {
[...]
immutable int e = 5; // stored in data segment, not per instance!
Are you sure? struct S { immutable int n = 123; this(int n) { this.n = n; } } void main() { S s1; S s2 = 456; assert(s1.n == 123); assert(s2.n == 456); }