[commit: ghc] wip/rwbarton-D2992: Add a reference to #13251 in the big Note (640cf03)

git at git.haskell.org git at git.haskell.org
Fri Feb 10 15:45:04 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/rwbarton-D2992
Link       : http://ghc.haskell.org/trac/ghc/changeset/640cf03259c74f9f8eacf539337192d3c56d4b8b/ghc

>---------------------------------------------------------------

commit 640cf03259c74f9f8eacf539337192d3c56d4b8b
Author: Reid Barton <rwbarton at gmail.com>
Date:   Thu Feb 9 15:22:32 2017 -0500

    Add a reference to #13251 in the big Note


>---------------------------------------------------------------

640cf03259c74f9f8eacf539337192d3c56d4b8b
 compiler/typecheck/FamInst.hs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/compiler/typecheck/FamInst.hs b/compiler/typecheck/FamInst.hs
index 0229c84..b6b85b1 100644
--- a/compiler/typecheck/FamInst.hs
+++ b/compiler/typecheck/FamInst.hs
@@ -127,6 +127,13 @@ module. Otherwise, we'll end up with no record of the fact that M
 depends on this family instance and type safety will be compromised.
 See #13102.
 
+* It can also happen that M uses a function defined in another module
+which is not transitively imported by M. Examples include the
+desugaring of various overloaded constructs, and references inserted
+by Template Haskell splices. If that function's definition makes use
+of type family instances which are not checked against those visible
+visible from M, type safety can again be compromised. See #13251.
+
 * When a module C imports a boot module B.hs-boot, we check that C's
 type family instances are compatible with those visible from
 B.hs-boot. However, C will eventually be linked against a different



More information about the ghc-commits mailing list