From fa25c8c49464c3306b8c166fecc2bf5686d21996 Mon Sep 17 00:00:00 2001 From: Richard Eisenberg Date: Thu, 7 Nov 2019 16:06:10 +0000 Subject: Update release notes about #16512 / #17405. --- docs/users_guide/8.10.1-notes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/users_guide/8.10.1-notes.rst b/docs/users_guide/8.10.1-notes.rst index 5e7356ab2c..d9b48d95e0 100644 --- a/docs/users_guide/8.10.1-notes.rst +++ b/docs/users_guide/8.10.1-notes.rst @@ -141,6 +141,18 @@ Language inferred type is higher-rank. GHC 8.10 will now reject this, as one must now enable :ghc-flag:`-XRankNTypes` in ``B`` to accept the inferred type signature. +- Type family dependencies (also known as injective type families) + sometimes now need ``-XUndecidableInstances`` in order to be + accepted. Here is an example:: + + type family F1 a = r | r -> a + type family F2 a = r | r -> a + type instance F2 [a] = Maybe (F1 a) + + Because GHC needs to look under a type family to see that ``a`` is determined + by the right-hand side of ``F2``\'s equation, this now needs ``-XUndecidableInstances``. + The problem is very much akin to its need to detect some functional dependencies. + Compiler ~~~~~~~~ -- cgit v1.2.1