The 7.10.3 release is a bugfix release, with over fifty bug fixes relative to 7.10.2. The major fixes are listed below. For the full list with more detail, see the GHC 7.10.3 milestone on our bug tracker.
The simplifier no longer simplifies rewrite rules.
Starting with 7.10.2 GHC would simplify both the left- and
right-hand-sides of rewrite rules, causing a variety of unexpected behavior.
Simplification of the LHS resulted in various rules to fail to fire (Trac #10528, in
particular affecting the widely used text
library)
whereas rewrites of the RHS broke some of the more exotic uses of rewrite rules
(e.g. HERMIT, Trac
#10829).
A bug in the simplifier's treatment of phantom type variables in rules resulting in a compiler-crash has been fixed. (Trac #10689).
A simplifier bug resulting in incorrect results when comparing against -0.0 has been fixed (Trac #9238).
The compiler is now better able to work around platform limits on command-line length on Windows thanks to support for response files (Trac #10375) and an upgrade to the GCC toolchain (Trac #10726)
The linker is now far less verbose when faced with certain warning conditions on Windows. (Trac #9297).
Framework flags are now included in the linker command line on Mac OS X (Trac #10568).
Compiler error messages containing Unicode characters no longer crash the compiler on platforms without Unicode support. (Trac #6037).
ARM support should be substantially more reliable as the compiler now takes precautions to avoid linking against Thumb code (Trac #10375). Unfortunately the fix involved breaking some configurations. See the entry in the "Known Bugs" section below.
A bug in the typechecker's treatment of
PartialTypeSignatures
which previously resulted in
a compile-time crash has been fixed. (Trac #10438).
A typechecker bug leading to the compiler crashing has been resolved (Trac #10489).
Due to a
security issue
, Safe Haskell now forbids annotations in programs marked as
-XSafe
The template Haskell getQ
and
putQ
functions are fixed (having been broken since GHC
7.10.1, (Trac
#10596).
At the time of release there is a fix
in the Cabal
upstream respository, although it is not yet
present in a release.
Unfortunately the fix for Trac #10375 required that support for the ARM Thumb instruction set be disabled. See Trac #11058 for details.