Tue May 25 04:39:10 PDT 2010 [email protected]
* Refactor (again) the handling of default methods
This patch fixes Trac #4056, by
a) tidying up the treatment of default method names
b) removing the 'module' argument to newTopSrcBinder
The details aren't that interesting, but the result
is much tidier. The original bug was a 'nameModule' panic,
caused by trying to find the module of a top-level name.
But TH quotes generate Internal top-level names that don't
have a module, and that is generally a good thing.
Fixing that in turn led to the default-method refactoring,
which also makes the Name for a default method be handled
in the same way as other derived names, generated in BuildTyCl
via a call newImplicitBinder. Hurrah.
M ./compiler/basicTypes/BasicTypes.lhs -2 +26
M ./compiler/basicTypes/RdrName.lhs -9
M ./compiler/iface/BinIface.hs -8 +7
M ./compiler/iface/BuildTyCl.lhs -13 +24
M ./compiler/iface/IfaceSyn.lhs -1 +1
M ./compiler/iface/MkIface.lhs -1 +5
M ./compiler/rename/RnBinds.lhs -2 +1
M ./compiler/rename/RnEnv.lhs -6 +9
M ./compiler/rename/RnNames.lhs -5 +4
M ./compiler/rename/RnPat.lhs -10 +9
M ./compiler/typecheck/TcClassDcl.lhs -50 +36
M ./compiler/typecheck/TcInstDcls.lhs -4 +2
M ./compiler/typecheck/TcSplice.lhs -2 +9
M ./compiler/types/Class.lhs -3 +3
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20100525113910-1287e-390aa2f77edda517d177b669a9448ed5fb72f9db.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc