packages feed

haskell-tools-builtin-refactorings-1.0.0.0: test/ExtensionOrganizerTest/DerivingsTest/NewtypeDeriving.hs

{-# LANGUAGE DeriveDataTypeable,
             DeriveTraversable,
             DeriveGeneric,
             DeriveLift,
             GeneralizedNewtypeDeriving
             #-}

module NewtypeDeriving where

import Definitions
import DataDeriving

newtype T1 a = T1 (D6 a)
  deriving Data  {-* DeriveDataTypeable *-}

newtype T2 a = T2 (D6 a)
  deriving (Show, Read, Data, Typeable) {-* DeriveDataTypeable, DeriveDataTypeable *-}

newtype T3 a = T3 (D6 a)
  deriving Eq

newtype T4 a = T4 (D6 a)
  deriving Functor  {-* GeneralizedNewtypeDeriving *-}

newtype T5 a = T5 (D6 a)
  deriving (Eq, Ord, Ix, Bounded,
            Show, Read,
            Enum, Functor, Foldable,                      {-* GeneralizedNewtypeDeriving, GeneralizedNewtypeDeriving, GeneralizedNewtypeDeriving *-}
            Data, Typeable, Traversable, Generic, Lift)   {-* DeriveDataTypeable, DeriveDataTypeable, DeriveTraversable, DeriveGeneric, DeriveLift *-}