diff options
author | Alan Zimmerman <alan.zimm@gmail.com> | 2018-04-01 21:33:53 +0200 |
---|---|---|
committer | Alan Zimmerman <alan.zimm@gmail.com> | 2018-04-09 21:29:05 +0200 |
commit | 1aa1d405d8212a99ac24dcfd48024a17c3ffd296 (patch) | |
tree | dfb9cc90fce7e4a42fd4ca9024477b3d58b60ac5 /utils | |
parent | 48f55e764bb41848cff759fbea3211d8a0bbfd5b (diff) | |
download | haskell-1aa1d405d8212a99ac24dcfd48024a17c3ffd296.tar.gz |
Restore Trees That Grow reverted commits
The following commits were reverted prior to the release of GHC 8.4.1,
because the time to derive Data instances was too long [1].
438dd1cbba13d35f3452b4dcef3f94ce9a216905 Phab:D4147
e3ec2e7ae94524ebd111963faf34b84d942265b4 Phab:D4177
47ad6578ea460999b53eb4293c3a3b3017a56d65 Phab:D4186
The work is continuing, as the minimum bootstrap compiler is now
GHC 8.2.1, and this allows Plan B[2] for instances to be used. This
will land in a following commit.
Updates Haddock submodule
[1] https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances
[2] https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances#PLANB
Diffstat (limited to 'utils')
-rw-r--r-- | utils/ghctags/Main.hs | 25 | ||||
m--------- | utils/haddock | 0 |
2 files changed, 12 insertions, 13 deletions
diff --git a/utils/ghctags/Main.hs b/utils/ghctags/Main.hs index f74c7514db..059692622e 100644 --- a/utils/ghctags/Main.hs +++ b/utils/ghctags/Main.hs @@ -254,7 +254,7 @@ boundValues :: ModuleName -> HsGroup GhcRn -> [FoundThing] -- ^Finds all the top-level definitions in a module boundValues mod group = let vals = case hs_valds group of - ValBindsOut nest _sigs -> + XValBindsLR (NValBinds nest _sigs) -> [ x | (_rec, binds) <- nest , bind <- bagToList binds , x <- boundThings mod bind ] @@ -291,21 +291,20 @@ boundThings modname lbinding = lid id = FoundThing modname (getOccString id) loc in case unLoc lpat of WildPat _ -> tl - VarPat (L _ name) -> lid name : tl - LazyPat p -> patThings p tl - AsPat id p -> patThings p (thing id : tl) - ParPat p -> patThings p tl - BangPat p -> patThings p tl - ListPat ps _ _ -> foldr patThings tl ps - TuplePat ps _ _ -> foldr patThings tl ps - PArrPat ps _ -> foldr patThings tl ps + VarPat _ (L _ name) -> lid name : tl + LazyPat _ p -> patThings p tl + AsPat _ id p -> patThings p (thing id : tl) + ParPat _ p -> patThings p tl + BangPat _ p -> patThings p tl + ListPat _ ps _ _ -> foldr patThings tl ps + TuplePat _ ps _ -> foldr patThings tl ps + PArrPat _ ps -> foldr patThings tl ps ConPatIn _ conargs -> conArgs conargs tl ConPatOut{ pat_args = conargs } -> conArgs conargs tl - LitPat _ -> tl + LitPat _ _ -> tl NPat {} -> tl -- form of literal pattern? - NPlusKPat id _ _ _ _ _ -> thing id : tl - SigPatIn p _ -> patThings p tl - SigPatOut p _ -> patThings p tl + NPlusKPat _ id _ _ _ _ -> thing id : tl + SigPat _ p -> patThings p tl _ -> error "boundThings" conArgs (PrefixCon ps) tl = foldr patThings tl ps conArgs (RecCon (HsRecFields { rec_flds = flds })) tl diff --git a/utils/haddock b/utils/haddock -Subproject d0de7f1219172a6b52e7a02a716aed8c1dc8aaa +Subproject c84939c8428a9e9ae0753e75ca6b48fcbbc1ecd |