diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2018-03-23 11:40:02 -0400 |
---|---|---|
committer | Ryan Scott <ryan.gl.scott@gmail.com> | 2018-03-23 11:40:02 -0400 |
commit | d5577f44eaf3b9dfdfc77828038782bf818c176a (patch) | |
tree | 447d2163367ece2e2801376e35d06490cfff779c /docs/users_guide | |
parent | 034c32f6b8abd15eb9affca972844d3c6842af69 (diff) | |
download | haskell-d5577f44eaf3b9dfdfc77828038782bf818c176a.tar.gz |
Special-case record fields ending with hash when deriving Read
Summary:
In commit dbd81f7e86514498218572b9d978373b1699cc5b, a
regression was inadvertently introduced which caused derived `Read`
instances for record data types with fields ending in a `#` symbol
(using `MagicHash`) would no longer parse on valid output. This
is ultimately due to the same reasons as #5041, as we cannot parse
a field name like `foo#` as a single identifier. We fix this issue
by employing the same workaround as in #5041: first parse the
identifier name `foo`, then then symbol `#`.
This is accomplished by the new `readFieldHash` function in
`GHC.Read`. This will likely warrant a `base-4.11.1.0` release.
Test Plan: make test TEST=T14918
Reviewers: tdammers, hvr, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14918
Differential Revision: https://phabricator.haskell.org/D4502
Diffstat (limited to 'docs/users_guide')
-rw-r--r-- | docs/users_guide/8.4.2-notes.rst | 88 | ||||
-rw-r--r-- | docs/users_guide/index.rst | 4 |
2 files changed, 90 insertions, 2 deletions
diff --git a/docs/users_guide/8.4.2-notes.rst b/docs/users_guide/8.4.2-notes.rst new file mode 100644 index 0000000000..7002caae0d --- /dev/null +++ b/docs/users_guide/8.4.2-notes.rst @@ -0,0 +1,88 @@ +.. _release-8-4-2: + +Release notes for version 8.4.2 +=============================== + +TODO + +Highlights +---------- + +The highlights, since the 8.4.1 release, are: + +- TODO + + +Full details +------------ + + +Language +~~~~~~~~ + +- Fix a regression in which derived `Read` instances for record data types + with field names ending with `#` (by way of :ghc-flag:`-XMagicHash`) would + no longer parse valid output. + +Compiler +~~~~~~~~ + + +Runtime system +~~~~~~~~~~~~~~ + + +Template Haskell +~~~~~~~~~~~~~~~~ + + +``ghc`` library +~~~~~~~~~~~~~~~ + + +``base`` library +~~~~~~~~~~~~~~~~ + +- Add the `readFieldHash` function to `GHC.Read` which behaves like + `readField`, but for a field that ends with a `#` symbol. + +Build system +~~~~~~~~~~~~ + + +Included libraries +------------------ + +The package database provided with this distribution also contains a number of +packages other than GHC itself. See the changelogs provided with these packages +for further change information. + +.. ghc-package-list:: + + libraries/array/array.cabal: Dependency of ``ghc`` library + libraries/base/base.cabal: Core library + libraries/binary/binary.cabal: Dependency of ``ghc`` library + libraries/bytestring/bytestring.cabal: Deppendency of ``ghc`` library + libraries/Cabal/Cabal/Cabal.cabal: Dependency of ``ghc-pkg`` utility + libraries/containers/containers.cabal: Dependency of ``ghc`` library + libraries/deepseq/deepseq.cabal: Dependency of ``ghc`` library + libraries/directory/directory.cabal: Dependency of ``ghc`` library + libraries/filepath/filepath.cabal: Dependency of ``ghc`` library + compiler/ghc.cabal: The compiler itself + libraries/ghci/ghci.cabal: The REPL interface + libraries/ghc-boot/ghc-boot.cabal: Internal compiler library + libraries/ghc-compact/ghc-compact.cabal: Core library + libraries/ghc-prim/ghc-prim.cabal: Core library + libraries/haskeline/haskeline.cabal: Dependency of ``ghci`` executable + libraries/hpc/hpc.cabal: Dependency of ``hpc`` executable + libraries/integer-gmp/integer-gmp.cabal: Core library + libraries/mtl/mtl.cabal: Dependency of ``Cabal`` library + libraries/parsec/parsec.cabal: Dependency of ``Cabal`` library + libraries/process/process.cabal: Dependency of ``ghc`` library + libraries/template-haskell/template-haskell.cabal: Core library + libraries/text/text.cabal: Dependency of ``Cabal`` library + libraries/time/time.cabal: Dependency of ``ghc`` library + libraries/transformers/transformers.cabal: Dependency of ``ghc`` library + libraries/unix/unix.cabal: Dependency of ``ghc`` library + libraries/Win32/Win32.cabal: Dependency of ``ghc`` library + libraries/xhtml/xhtml.cabal: Dependency of ``haddock`` executable diff --git a/docs/users_guide/index.rst b/docs/users_guide/index.rst index b57e37b018..7f42dca802 100644 --- a/docs/users_guide/index.rst +++ b/docs/users_guide/index.rst @@ -12,8 +12,8 @@ Contents: license intro - 8.2.1-notes - 8.4.1-notes + 8.4.2-notes + 8.6.1-notes ghci runghc usage |