Robert Fraser wrote:
grauzone wrote:
I agree; but: I'm just saying that disallowing it would actually be
better for the programmer, than leaving it half-broken.
I strongly disagree. Dealing with header files, forward feference
issues, etc. is the #1 reason I don't use C/C++ (really, I could live
with the rest). D's forward reference errors are basically nonexistent
within a single module, with the exception of templates, so it's not
"half-broken" in any way.
You can get various problems with structs and enums even within the same
module. In the past, I also encountered issues like compiler crashes,
hangs, and invalid code generation. Whatever dmd does to resolve forward
references, it's not very robust. That's why I think the language
specification should be a bit trimmed a bit to make the compiler robust.
Or do you think it's acceptable to demand from programmers to rearrange
*valid* code around, until the compiler accepts it?