Make `decodeUtf8With` fail explicitly for non-BMP repl-chars
authorHerbert Valerio Riedel <hvr@gnu.org>
Fri, 29 Dec 2017 17:02:03 +0000 (18:02 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Fri, 29 Dec 2017 17:11:26 +0000 (18:11 +0100)
commitab90c65cdb7cd5bcbd739843b98bb5da515c8bce
treedfde2663d0edaf39599ceca18b4be9d3ff5e18b9
parenta02c2dafafa425bd5f36c8629e98b98daf1cfa1e
Make `decodeUtf8With` fail explicitly for non-BMP repl-chars

This is long-standing issue's existence goes back to `text-0.10`.

This commit is a short-term stop-gap measure turning unsafe undefined
behaviour into an explicit `error` exception (and thus fail
non-silently) which given the longevity of this issue seems to be a
sensible course of action. This commit includes a lengthy source code
comment explaining the issue as well as potential strategies for
future work on maximising the definedness of `decodeUtf8With`,
i.e. support the full range of replacement-characters. This future
work which will be tracked by gh-213.
Data/Text/Encoding.hs
changelog.md