
Bah. I think it is the flushing, because I seem to remember that problem happening before. Will try to be more careful next time.
Sorry for the bother, and thanks.
Richard
On Oct 22, 2014, at 4:50 AM, Joachim Breitner
Hi Richard,
Travis is complaining about your commit:
Actual stderr output differs from expected: --- ./th/T9692.stderr 2014-10-21 13:22:53.783212762 +0000 +++ ./th/T9692.comp.stderr 2014-10-21 13:52:36.314083513 +0000 @@ -1,2 +0,0 @@ -data family T9692.F (a_0 :: k_1) (b_2 :: k_3) :: * -data instance T9692.F GHC.Types.Int x_4 = T9692.FInt x_4 *** unexpected failure for T9692(normal) https://s3.amazonaws.com/archive.travis-ci.org/jobs/38604151/log.txt
It maybe be due to a missing flushing of stdout; I added that line and will let you know if that was not it.
Greetings, Joachim
Greetings, Joachim
Am Dienstag, den 21.10.2014, 13:21 +0000 schrieb git@git.haskell.org:
Repository : ssh://git@git.haskell.org/ghc
On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e319d6d2704edc2696f47409f85f4d4ce5...
---------------------------------------------------------------
commit e319d6d2704edc2696f47409f85f4d4ce58a6cc4 Author: Richard Eisenberg
Date: Mon Oct 20 15:36:57 2014 -0400 Reify data family instances correctly.
Summary: Fix #9692.
The reifier didn't account for the possibility that data/newtype instances are sometimes eta-reduced. It now eta-expands as necessary.
Test Plan: th/T9692
Reviewers: simonpj, austin
Subscribers: thomie, carter, ezyang, simonmar
Differential Revision: https://phabricator.haskell.org/D355
---------------------------------------------------------------
e319d6d2704edc2696f47409f85f4d4ce58a6cc4 compiler/typecheck/TcSplice.lhs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/compiler/typecheck/TcSplice.lhs b/compiler/typecheck/TcSplice.lhs index bb6af8c..e952a27 100644 --- a/compiler/typecheck/TcSplice.lhs +++ b/compiler/typecheck/TcSplice.lhs @@ -1338,8 +1338,16 @@ reifyFamilyInstance (FamInst { fi_flavor = flavor DataFamilyInst rep_tc -> do { let tvs = tyConTyVars rep_tc fam' = reifyName fam + + -- eta-expand lhs types, because sometimes data/newtype + -- instances are eta-reduced; See Trac #9692 + -- See Note [Eta reduction for data family axioms] + -- in TcInstDcls + (_rep_tc, rep_tc_args) = splitTyConApp rhs + etad_tyvars = dropList rep_tc_args tvs + eta_expanded_lhs = lhs `chkAppend` mkTyVarTys etad_tyvars ; cons <- mapM (reifyDataCon (mkTyVarTys tvs)) (tyConDataCons rep_tc) - ; th_tys <- reifyTypes lhs + ; th_tys <- reifyTypes (filter (not . isKind) eta_expanded_lhs) ; return (if isNewTyCon rep_tc then TH.NewtypeInstD [] fam' th_tys (head cons) [] else TH.DataInstD [] fam' th_tys cons []) }
_______________________________________________ ghc-commits mailing list ghc-commits@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits
-- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs