summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci.debugger/scripts/break018.script
diff options
context:
space:
mode:
authorRyanGlScott <ryan.gl.scott@gmail.com>2015-12-21 16:11:25 +0100
committerBen Gamari <ben@smart-cactus.org>2015-12-21 19:09:55 +0100
commitee6fba89b066fdf8408e6a18db343a4177e613f6 (patch)
treef60d6c0495bbfdaf29ff642caaf4deefb717b25d /testsuite/tests/ghci.debugger/scripts/break018.script
parent99b956ef1d4bbb2252c0bbaa956094c2f837d111 (diff)
downloadhaskell-ee6fba89b066fdf8408e6a18db343a4177e613f6.tar.gz
Encode strictness in GHC generics metadata
This augments `MetaSel` with a `Bang` field, which gives generic programmers access to the following information about each field selector: * `SourceUnpackedness`: whether a field was marked `{-# NOUNPACK #-}`, `{-# UNPACK #-}`, or not * `SourceStrictness`: whether a field was given a strictness (`!`) or laziness (`~`) annotation * `DecidedStrictness`: what strictness GHC infers for a field during compilation, which may be influenced by optimization levels, `-XStrictData`, `-funbox-strict-fields`, etc. Unlike in Phab:D1603, generics does not grant a programmer the ability to "splice" in metadata, so there is no issue including `DecidedStrictness` with `Bang` (whereas in Template Haskell, it had to be split off). One consequence of this is that `MetaNoSel` had to be removed, since it became redundant. The `NoSelector` empty data type was also removed for similar reasons. Fixes #10716. Test Plan: ./validate Reviewers: dreixel, goldfire, kosmikus, austin, hvr, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1646 GHC Trac Issues: #10716
Diffstat (limited to 'testsuite/tests/ghci.debugger/scripts/break018.script')
0 files changed, 0 insertions, 0 deletions