summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T16978b.hs
blob: 6d1f4e8ed8ddd9b754dc238af868f3eb33b1c0c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module T16978b (renderNode) where

import Data.Text (Text)
import qualified Data.Text.Lazy.Builder as B

data Value = String !Text | Null

renderNode :: Value -> B.Builder -> ((), B.Builder)
renderNode v b =
  case renderValue v b of
    (t, s') -> ((), s' <> B.fromText t)

renderValue :: Value -> B.Builder -> (Text, B.Builder)
renderValue v b = case v of
    String str -> (str, b)
    Null       -> let x = x in x
{-# INLINE renderValue #-}