Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
-
8a3900a3
by Aaron Allen at 2026-01-07T10:27:57-05:00
7 changed files:
- compiler/GHC/Iface/Recomp.hs
- + testsuite/tests/driver/recomp26705/M.hs
- + testsuite/tests/driver/recomp26705/M2A.hs
- + testsuite/tests/driver/recomp26705/M2B.hs
- + testsuite/tests/driver/recomp26705/Makefile
- + testsuite/tests/driver/recomp26705/all.T
- + testsuite/tests/driver/recomp26705/recomp26705.stderr
Changes:
| ... | ... | @@ -1797,7 +1797,9 @@ declExtras fix_fn ann_fn rule_env inst_env fi_env dm_env complete_env decl |
| 1797 | 1797 | IfaceSynonym{} -> IfaceSynonymExtras (fix_fn n)
|
| 1798 | 1798 | (ann_fn (AnnOccName n))
|
| 1799 | 1799 | IfaceFamily{} -> IfaceFamilyExtras (fix_fn n)
|
| 1800 | - (map ifFamInstAxiom (lookupOccEnvL fi_env n))
|
|
| 1800 | + (map ifFamInstAxiom (lookupOccEnvL fi_env n)
|
|
| 1801 | + ++ map ifDFun (lookupOccEnvL inst_env n)
|
|
| 1802 | + )
|
|
| 1801 | 1803 | (ann_fn (AnnOccName n))
|
| 1802 | 1804 | IfacePatSyn{} -> IfacePatSynExtras (fix_fn n) (lookup_complete_match n)
|
| 1803 | 1805 | _other -> IfaceOtherDeclExtras
|
| 1 | +module M where
|
|
| 2 | +import M2
|
|
| 3 | + |
|
| 4 | +x :: TD () -> String
|
|
| 5 | +x = show |
| 1 | +{-# LANGUAGE TypeFamilies #-}
|
|
| 2 | +module M2 where
|
|
| 3 | + |
|
| 4 | +data family TD a
|
|
| 5 | + |
|
| 6 | +data instance TD () = TDI
|
|
| 7 | + deriving Show |
| 1 | +{-# LANGUAGE TypeFamilies #-}
|
|
| 2 | +module M2 where
|
|
| 3 | + |
|
| 4 | +data family TD a
|
|
| 5 | + |
|
| 6 | +data instance TD () = TDI |
| 1 | +TOP=../../..
|
|
| 2 | +include $(TOP)/mk/boilerplate.mk
|
|
| 3 | +include $(TOP)/mk/test.mk
|
|
| 4 | + |
|
| 5 | +# Recompilation tests
|
|
| 6 | + |
|
| 7 | +recomp26705:
|
|
| 8 | + cp M2A.hs M2.hs
|
|
| 9 | + '$(TEST_HC)' $(TEST_HC_OPTS) --make M.hs
|
|
| 10 | + sleep 1
|
|
| 11 | + cp M2B.hs M2.hs
|
|
| 12 | + # This should fail
|
|
| 13 | + if '$(TEST_HC)' $(TEST_HC_OPTS) --make M.hs; then false; fi |
| 1 | +test('recomp26705', [extra_files(['M2A.hs', 'M.hs', 'M2B.hs']),
|
|
| 2 | + when(fast(), skip), ignore_stdout],
|
|
| 3 | + makefile_test, []) |
| 1 | +M.hs:5:5: error: [GHC-39999]
|
|
| 2 | + • No instance for ‘Show (TD ())’ arising from a use of ‘show’
|
|
| 3 | + • In the expression: show
|
|
| 4 | + In an equation for ‘x’: x = show
|
|
| 5 | + |