I've stumbled about this while trying Better C from https://dlang.org/spec/betterc.html
extern(C) void main()
{
import core.stdc.stdio : printf;
printf("Hello betterC\n");
// BUG: the exit code of this program is wrong (usually not 0)
}
Possible solutions:
1) the compiler should add an implicit "return 0" for "void main()"; or
2) require that main() returns "int" in extern C/C++ mode