From 9dd03613f800eb4524148239322e50d516b3de6b Mon Sep 17 00:00:00 2001 From: Rob Rix Date: Fri, 4 Aug 2017 10:43:25 -0400 Subject: [PATCH] nodeSymbol & stateNodes cannot be unpacked. --- src/Data/Syntax/Assignment.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Data/Syntax/Assignment.hs b/src/Data/Syntax/Assignment.hs index 119f7e8e5..a9fc72a8d 100644 --- a/src/Data/Syntax/Assignment.hs +++ b/src/Data/Syntax/Assignment.hs @@ -174,7 +174,7 @@ type Location = '[Info.Range, Info.Span] type AST grammar = Cofree [] (Node grammar) data Node grammar = Node - { nodeSymbol :: {-# UNPACK #-} !grammar + { nodeSymbol :: !grammar , nodeByteRange :: {-# UNPACK #-} !Info.Range , nodeSpan :: {-# UNPACK #-} !Info.Span } @@ -315,7 +315,7 @@ data State ast grammar = State { stateOffset :: {-# UNPACK #-} !Int -- ^ The offset into the Source thus far reached, measured in bytes. , statePos :: {-# UNPACK #-} !Info.Pos -- ^ The (1-indexed) line/column position in the Source thus far reached. , stateErrorCounter :: {-# UNPACK #-} !Int -- ^ Monotonic counter tracking the number of error handlers invoked. - , stateNodes :: {-# UNPACK #-} ![ast] -- ^ The remaining nodes to assign. Note that 'children' rules recur into subterms, and thus this does not necessarily reflect all of the terms remaining to be assigned in the overall algorithm, only those “in scope.” + , stateNodes :: ![ast] -- ^ The remaining nodes to assign. Note that 'children' rules recur into subterms, and thus this does not necessarily reflect all of the terms remaining to be assigned in the overall algorithm, only those “in scope.” } deriving (Eq, Show)