Are you proposing that this be allowed: struct S { immutable int c = 123; this(int i) { c = i; } } and that the compiler should report an error on the following? struct S { immutable int c = 123; // No constructor }