summaryrefslogtreecommitdiff
path: root/docs/users_guide/9.0.1-notes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/9.0.1-notes.rst')
-rw-r--r--docs/users_guide/9.0.1-notes.rst17
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/users_guide/9.0.1-notes.rst b/docs/users_guide/9.0.1-notes.rst
index 46c847191a..95e9852e61 100644
--- a/docs/users_guide/9.0.1-notes.rst
+++ b/docs/users_guide/9.0.1-notes.rst
@@ -347,12 +347,29 @@ Haddock
-- | This comment used to trigger a parse error
main = putStrLn "Hello"
+``base`` library
+~~~~~~~~~~~~~~~~
+
+- ``Foreign.ForeignPtr.withForeignPtr`` is now less aggressively optimised,
+ avoiding the unsoundness issue reported in
+ :ghc-ticket:`17760` in exchange for a small amount of additional allocation.
+
+ If your application is impacted significantly by this change and the
+ continuation given to ``withForeignPtr`` will not *provably* diverge (via
+ throwing of an exception or looping) then the previous optimisation behavior
+ can be recovered by instead using ``GHC.ForeignPtr.unsafeWithForeignPtr``.
+
+
``ghc-prim`` library
~~~~~~~~~~~~~~~~~~~~
- Add a known-key ``cstringLength#`` to ``GHC.CString`` that is eligible
for constant folding by a built-in rule.
+- A new primop, ``keepAlive#``, has been introduced to replace ``touch#`` in
+ controlling object lifetime without the soundness issues affecting the latter
+ (see :ghc-ticket:`17760`)
+
``ghc`` library
~~~~~~~~~~~~~~~