I had never seen this failure before… and I can’t seem to be able to get rid of it, whatever I do, all of a sudden everything fails. Any ideas?
Do you by any chance have an “if” statement that ends with a semicolon rather than a colon, like this?
Lab is a room.
When play begins:
if zero is zero;
say "This will lead to the kind of error you see."
That’s something that the Inform compiler doesn’t produce a proper error message for right now, and it’s the most likely thing that I can think of. (Though it seems that the error number it produces is 11 rather than 10, so maybe that’s not it. On the other hand, this one had error number 10 and it was the same error.)
This kind of error happens most often when there’s a real error, but Inform’s error checker hasn’t been programmed to produce a proper error message. Unfortunately this makes it very hard to discover the error. As the error message suggests, when this happens sometimes the best thing to do (annoyingly) is to mash control-Z in your source until you get back to something that compiles, and then figure out what change caused the internal error.
If the error turns out to be something new, it’s good to file it in the bugtracker at inform7.com/mantis.
That’s somewhat misleading. This kind of error message happens when the Inform compiler encounters a compiler bug and crashes outright.
It is most often triggered by invalid game (Inform) code. But that’s just because there are a lot of ways to write invalid code, and the compiler hasn’t been tested across all of them. The completeness of the error checker isn’t really at issue here – if there weren’t a crashy bug, you’d get some error message rather than a crash.
Oooh, matt w, I owe you a pint
Yes, indeed, it was an unfinished if. I was kind of despairing it was something different and more complex, since normally unfinished IF clauses trigger a bug report… For a while I honestly thought I have done something terminal to I7. Phew.
Thanks a lot!
Glad to help!