Test case (compile it with dmd -D): /** --- foo; foo; --- */ void test(); // 2x test.d(8): Error: function test.test unmatched --- in DDoc comment /** --- foo; --- */ void test2(); // 2x test.d(16): Error: function test.test2 unmatched --- in DDoc comment /** foo --- foo; --- */ void test3(); // OK void main() {} I think I tracked this bug down to line 1119 in doc.c: if (*p == '\n' && !summary && !namelen) If I change it to this: if (*p == '\n' && !summary && !namelen && !inCode) It compiles the codes above and generates fine HTML. I honestly find the doc.c code impenetrable, so I don't know if this is the right fix. The line is for the D2 dmd, but this bug happens in D1 as well.
https://github.com/D-Programming-Language/dmd/pull/654
Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/881457753f1607c4925204e0e265a1f83513044e Merge pull request #654 from yebblies/issue7383 Issue 7383 - Blank lines in code sections cause premature section termination
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/08c01a1a2bacd701137bdb80ec2a438fd9851c0f fix Issue 7383 - Blank lines in code sections cause premature section termination