Warn when I6 rules implicitly return true
I keep getting bitten by Inform 6 rules which have no explicit return statement. Inform 6 then adds in an implicit rtrue, which stops the rulebook from continuing.
It would be great if Inform could warn the author whenever such an implicit rtrue will be added, so that they can either explicitly rtrue or rfalse.
@Andrew Yeah that's what I meant.
Even if there were some way to output all of the rule function names we could then implement our own external test system.
The "Include rule attachments in the debugging log." does output all the function names from what I can see, and it may not necessarily be hard to parse, but I'd be worried some functions might get missed. A new debugging log step would make it much simpler.
Andrew Plotkin commented
When you say "I6 rules", you're specifically talking about "The foo rule translates into I6 as..." Right?
I'd be in favor but I don't see how to implement it. The I7 compiler doesn't parse I6 syntax; it doesn't even have the body of the I6 function at hand at that point. The I6 compiler can't apply this warning to every single I6 function, because it's legal I6 usage and most of those functions aren't rules anyhow.
See https://inform7.uservoice.com/forums/57320-general/suggestions/9494112-replace-all-uses-of-return-with-rtrue-in-the-gener for the last time I had trouble with this ;)