summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Barton <rwbarton@gmail.com>2017-02-09 15:22:32 -0500
committerReid Barton <rwbarton@gmail.com>2017-02-09 15:23:21 -0500
commit640cf03259c74f9f8eacf539337192d3c56d4b8b (patch)
tree5efe0b9a858d5e2358d9b3cbd9b7fecfc5ad2527
parentda3baceeb0df05fd60ef2f0a38f0202a4828fd91 (diff)
downloadhaskell-wip/rwbarton-D2992.tar.gz
Add a reference to #13251 in the big Notewip/rwbarton-D2992
-rw-r--r--compiler/typecheck/FamInst.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/typecheck/FamInst.hs b/compiler/typecheck/FamInst.hs
index 0229c84416..b6b85b187f 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