30 lines
578 B
Haskell
30 lines
578 B
Haskell
|
|
{-# LANGUAGE BangPatterns #-}
|
||
|
|
{-# LANGUAGE DeriveDataTypeable #-}
|
||
|
|
{-# LANGUAGE TypeFamilies #-}
|
||
|
|
{-# LANGUAGE RebindableSyntax #-}
|
||
|
|
{-# LANGUAGE NoImplicitPrelude #-}
|
||
|
|
{-# LANGUAGE CPP #-}
|
||
|
|
{-# LANGUAGE ImplicitParams #-}
|
||
|
|
{-# LANGUAGE ConstraintKinds #-}
|
||
|
|
module Basement.Compat.CallStack
|
||
|
|
( HasCallStack
|
||
|
|
) where
|
||
|
|
|
||
|
|
#if MIN_VERSION_base(4,9,0)
|
||
|
|
|
||
|
|
import GHC.Stack (HasCallStack)
|
||
|
|
|
||
|
|
#elif MIN_VERSION_base(4,8,1)
|
||
|
|
|
||
|
|
import qualified GHC.Stack
|
||
|
|
|
||
|
|
type HasCallStack = (?callStack :: GHC.Stack.CallStack)
|
||
|
|
|
||
|
|
#else
|
||
|
|
|
||
|
|
import GHC.Exts (Constraint)
|
||
|
|
|
||
|
|
type HasCallStack = (() :: Constraint)
|
||
|
|
|
||
|
|
#endif
|