path: root/debian
diff options
authorJoey Hess2019-07-01 22:14:25 -0400
committerJoey Hess2019-07-01 22:14:25 -0400
commite20662e6a8881db55394a6366be17ca4e509bc2a (patch)
treed858d203cc1bd062fa41a719865d87a97b4c38ff /debian
parentde21ef26861db458b0dfb0212cf501f9f8ed459b (diff)
fix build with ghc 8.0.1
Something in commit 14f6ae30809d8bbdb10b91cc59757e865a365df8 ghc 8.0.1 in a few cases unable to infer types when ensureProperty or tightenTargets is used. Newer versions of ghc, including 8.4.4 were able to infer these types. Perhaps it tries harder, or an inference bug was fixed. Seemed best to work around the problem to keep supporting ghc 8.0.1 and the current Debian stable. Since only 3 uses out of hundreds in propellor were affected, it's pretty unlikely it will affect user's properties, but I mentioned in in the changelog anyway. Hopefully a new Debian release will soon mean I no longer need to support 8.0.1, but the code changes also generally made it clearer and easier to read. And, I made custom type errors suggesting adding annotations to help any user who does encounter it. (Included in commit de21ef26861db458b0dfb0212cf501f9f8ed459b; may also help with other cases than an old ghc.)
Diffstat (limited to 'debian')
1 files changed, 4 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index c21c29f1..c74cd929 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,10 @@ propellor (5.9.0) UNRELEASED; urgency=medium
* Added custom type error messages when Properties don't combine due to
conflicting MetaTypes.
* Added custom type error messages for ensureProperty and tightenTargets.
+ * Note that those changes made ghc 8.0.1 in a few cases unable to infer
+ types when ensureProperty or tightenTargets is used. Adding a type
+ annotation will work around this problem, if you cannot upgrade
+ to a newer ghc that handles them better.
* Use the type-errors library to detect when the type checker gets stuck
unable to reduce type-level operations on MetaTypes, and avoid
displaying massive error messages in such a case.