ruin-0.1.0.0: test/MustCompile/ClosedHas.hs
{-# Language DataKinds #-}
{-# Language DeriveGeneric #-}
{-# Language FlexibleContexts #-}
{-# Language FlexibleInstances #-}
{-# Language MultiParamTypeClasses #-}
{-# Language TemplateHaskell #-}
{-# Language TypeApplications #-}
{-# Language UndecidableInstances #-}
{-# Language ViewPatterns #-}
module MustCompile.ClosedHas () where
import GHC.Generics (Generic)
import Data.Ruin
import Data.Ruin.Ancillaries (genericBuild)
import Data.Ruin.ClosedHas
data XY x y = MkXY {x::x,y::y} deriving Generic
instance NoWarnUnusedTopBind XY where
noWarnUnusedTopBind MkXY{x=_,y=_} = ()
instance ClosedHas s (XY x y) => Has s (XY x y) where
{-# INLINE extricate1 #-}
extricate1 = closedExtricate1
instance HasCase "x" (XY x y)
instance HasCase "y" (XY x y)
instance Build (XY x y) where
{-# INLINE build #-}
build = genericBuild