stylish-cabal-0.4.0.0: tests/strictness/Instances.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# Language CPP #-}
{-# Language DataKinds #-}
{-# Language TemplateHaskell #-}
{-# Language TypeFamilies #-}
{-# Language StandaloneDeriving #-}
#define PRIM(c) instance Shaped c where \
type Shape c = Prim c; \
project = projectPrim; \
embed = embedPrim; \
match = matchPrim; \
render = prettyPrim
#define DERIVE(c) deriveGeneric ''c; instance Shaped c
module Instances where
import Data.ByteString.Short
import Data.Word
import Distribution.Compiler
import Distribution.License
import Distribution.ModuleName
import qualified Distribution.SPDX as SPDX
import Distribution.System
import Distribution.Types.Benchmark
import Distribution.Types.BenchmarkInterface
import Distribution.Types.BenchmarkType
import Distribution.Types.BuildInfo
import Distribution.Types.BuildType
import Distribution.Types.CondTree
import Distribution.Types.Condition
import Distribution.Types.Dependency
import Distribution.Types.ExeDependency
import Distribution.Types.Executable
import Distribution.Types.ExecutableScope
import Distribution.Types.ForeignLib
import Distribution.Types.ForeignLibOption
import Distribution.Types.ForeignLibType
import Distribution.Types.GenericPackageDescription
import Distribution.Types.IncludeRenaming
import Distribution.Types.LegacyExeDependency
import Distribution.Types.Library
import Distribution.Types.Mixin
import Distribution.Types.ModuleReexport
import Distribution.Types.ModuleRenaming
import Distribution.Types.PackageDescription
import Distribution.Types.PackageId
import Distribution.Types.PackageName
import Distribution.Types.PkgconfigDependency
import Distribution.Types.PkgconfigName
import Distribution.Types.SetupBuildInfo
import Distribution.Types.SourceRepo
import Distribution.Types.TestSuite
import Distribution.Types.TestSuiteInterface
import Distribution.Types.TestType
import Distribution.Types.UnqualComponentName
import Distribution.Utils.ShortText
import Distribution.Version
import Generics.SOP.TH
import Language.Haskell.Extension
import Prelude.Compat
import Test.StrictCheck.Instances ()
import Test.StrictCheck.Instances.Tools
import Test.StrictCheck.Shaped
DERIVE(Arch)
DERIVE(Benchmark)
DERIVE(BenchmarkInterface)
DERIVE(BenchmarkType)
DERIVE(BuildInfo)
DERIVE(BuildType)
DERIVE(CompilerFlavor)
DERIVE(ConfVar)
DERIVE(Dependency)
DERIVE(ExeDependency)
DERIVE(Executable)
DERIVE(ExecutableScope)
DERIVE(Extension)
DERIVE(Flag)
DERIVE(FlagName)
DERIVE(ForeignLib)
DERIVE(ForeignLibOption)
DERIVE(ForeignLibType)
DERIVE(GenericPackageDescription)
DERIVE(IncludeRenaming)
DERIVE(KnownExtension)
DERIVE(Language)
DERIVE(LegacyExeDependency)
DERIVE(LibVersionInfo)
DERIVE(Library)
DERIVE(License)
DERIVE(SPDX.License)
DERIVE(SPDX.LicenseExpression)
DERIVE(SPDX.SimpleLicenseExpression)
DERIVE(SPDX.LicenseId)
DERIVE(SPDX.LicenseRef)
DERIVE(SPDX.LicenseExceptionId)
DERIVE(Mixin)
DERIVE(ModuleReexport)
DERIVE(ModuleRenaming)
DERIVE(OS)
DERIVE(PackageDescription)
DERIVE(PackageIdentifier)
DERIVE(PackageName)
DERIVE(PkgconfigDependency)
DERIVE(PkgconfigName)
DERIVE(RepoKind)
DERIVE(RepoType)
DERIVE(SetupBuildInfo)
DERIVE(ShortText)
DERIVE(SourceRepo)
DERIVE(TestSuite)
DERIVE(TestSuiteInterface)
DERIVE(TestType)
DERIVE(UnqualComponentName)
DERIVE(Version)
DERIVE(VersionRange)
deriveGeneric ''CondTree
deriveGeneric ''CondBranch
deriveGeneric ''Condition
instance (Shaped a, Shaped b, Shaped c) => Shaped (CondTree a b c)
instance (Shaped a, Shaped b, Shaped c) => Shaped (CondBranch a b c)
instance Shaped a => Shaped (Condition a)
PRIM(Bool)
PRIM(Char)
PRIM(Int)
PRIM(ModuleName) -- contains ShortTextLst, which isn't exported
PRIM(ShortByteString)
PRIM(Word64)