diff options
author | Reid Barton <rwbarton@gmail.com> | 2017-02-09 15:22:32 -0500 |
---|---|---|
committer | Reid Barton <rwbarton@gmail.com> | 2017-02-09 15:23:21 -0500 |
commit | 640cf03259c74f9f8eacf539337192d3c56d4b8b (patch) | |
tree | 5efe0b9a858d5e2358d9b3cbd9b7fecfc5ad2527 | |
parent | da3baceeb0df05fd60ef2f0a38f0202a4828fd91 (diff) | |
download | haskell-wip/rwbarton-D2992.tar.gz |
Add a reference to #13251 in the big Notewip/rwbarton-D2992
-rw-r--r-- | compiler/typecheck/FamInst.hs | 7 |
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 |