haskell-src-exts-1.24.0: tests/examples/DerivingStrategies.hs
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
module DerivingStrategies where
class C a
class D a
newtype Foo a = MkFoo a
deriving ()
deriving stock (Eq, Ord)
deriving newtype Show
deriving anyclass C
deriving stock instance Read a => Read (Foo a)
deriving newtype instance Num a => Num (Foo a)
deriving anyclass instance D (Foo a)