struct S { int a; this(int) {} } S s = { 1 }; This code should not compile. The presence of the constructor means S's author wants to guard some invariant. The C-style constructor may initialize the object to an arbitrary value.
Relevant SVN changeset: http://www.dsource.org/projects/dmd/changeset/291
Fixed dmd 2.038