packages feed

binrep-1.1.0: src/Binrep/Example/Sum.hs

module Binrep.Example.Sum where

import Binrep
import Data.Word
import GHC.Generics ( type Generic )
import Generic.Data.FOnCstr

data SumType = SumType1 Word8 | SumType2 Word8 Word8
    deriving stock (Generic, Show)

instance Get SumType where
    get = do
        get @Word8 >>= \case
          1 -> genericFOnCstr @Get @"SumType1"
          2 -> genericFOnCstr @Get @"SumType2"
          _ -> error "TODO"