Kevin Glynn wrote:
I attach an expanded patch that also adds a compiler switch
(warnshadow). The patch checks for shadowings in the local environment
and the top level environment (see warnredecl). Documentation isn't
fixed yet.
That's good news! But...
Unfortunately there are still a few wrinkles, e.g.:
local X in try {Show h} finally {Show e} end end
gives that X is shadowed, due to the expansion of finally. there
are probably a few cases like this.
To me that should be considered a bug in the expansion of finally! Do
you think you can fix the expansion to avoid that clash? Expansion of
language constructs should always use brand new identificators...
functor
import
RecordC(width: WidthC)
......
reports WidthC to be shadowed.
This is correct if WidthC is available in the base environment.
Otherwise it's a bug.
However, I think the option is great and will help a lot. Lets get
rid of
case S of suspended(S) then {Deref S} else S end
forever!
I agree. But it must at least be correct, otherwise it will be more
irritating than useful! This thing looks much more useful than the
detection of unused identifiers, which I personally find irritating...
Cheers,
raph
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users