packages feed

hs-bindgen-1.0.0.0: test-artefacts/fixtures/binding-specs/fun_arg/macro/enum/th.txt

-- addDependentFile test-artefacts/headers/golden/binding-specs/fun_arg/macro/enum.h
-- #include <binding-specs/fun_arg/macro/enum.h>
-- void hs_bindgen_d49a011eb7da5969 (
--   enum MyEnum arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_32c6f6f9bb440690 (
--   A arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_16e7856908d06f71 (
--   B arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_2ebd95eb71d88a64 (
--   C arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_deddaf3108b305bb (
--   D arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_9ed085d5f2e5837e (
--   E arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- void hs_bindgen_0e6b98e93cad73ef (
--   enum MyEnum arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_1c6de1b89014dc52 (
--   A arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_a8e579f3b5035c03 (
--   B arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_00ad8122da6609fc (
--   C arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_2be41098f80a9019 (
--   D arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_07241b4b6cbf2991 (
--   E arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_foo */
-- __attribute__ ((const))
-- void (*hs_bindgen_098964a440956602 (void)) (
--   enum MyEnum arg1
-- )
-- {
--   return &foo;
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_fooA */
-- __attribute__ ((const))
-- void (*hs_bindgen_86b685b9d27ce50e (void)) (
--   A arg1
-- )
-- {
--   return &fooA;
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_fooB */
-- __attribute__ ((const))
-- void (*hs_bindgen_9383ae52414c2c19 (void)) (
--   B arg1
-- )
-- {
--   return &fooB;
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_fooC */
-- __attribute__ ((const))
-- void (*hs_bindgen_e677debf9f8f8884 (void)) (
--   C arg1
-- )
-- {
--   return &fooC;
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_fooD */
-- __attribute__ ((const))
-- void (*hs_bindgen_7d8aecf79b372251 (void)) (
--   D arg1
-- )
-- {
--   return &fooD;
-- }
-- /* test_bindingspecsfun_argmacroen_Example_get_fooE */
-- __attribute__ ((const))
-- void (*hs_bindgen_24fe84901d848b4c (void)) (
--   E arg1
-- )
-- {
--   return &fooE;
-- }
{-| __C declaration:__ @enum MyEnum@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 5:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
newtype MyEnum
    = MyEnum {unwrapMyEnum :: CUInt}
    deriving stock (Eq, Generic, Ord)
    deriving newtype HasFFIType
instance StaticSize MyEnum
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw MyEnum
    where readRaw = \ptr_0 -> pure MyEnum <*> readRawByteOff ptr_0 (0 :: Int)
instance WriteRaw MyEnum
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       MyEnum unwrapMyEnum_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapMyEnum_2
deriving via (EquivStorable MyEnum) instance Storable MyEnum
deriving via CUInt instance Prim MyEnum
instance CEnum MyEnum
    where type CEnumZ MyEnum = CUInt
          toCEnum = MyEnum
          fromCEnum = getField @"unwrapMyEnum"
          declaredValues = \_ -> declaredValuesFromList [(0, singleton "X")]
          showsUndeclared = showsWrappedUndeclared "MyEnum"
          readPrecUndeclared = readPrecWrappedUndeclared "MyEnum"
          isDeclared = seqIsDeclared
          mkDeclared = seqMkDeclared
instance SequentialCEnum MyEnum
    where minDeclaredValue = X
          maxDeclaredValue = X
instance Show MyEnum
    where showsPrec = shows
instance Read MyEnum
    where readPrec = readPrec
          readList = readListDefault
          readListPrec = readListPrecDefault
instance (~) ty CUInt => HasField "unwrapMyEnum" MyEnum ty
    where hasField = \x_0 -> (\y_1 -> MyEnum{unwrapMyEnum = y_1},
                              getField @"unwrapMyEnum" x_0)
instance (~) ty CUInt =>
         HasField "unwrapMyEnum" (Ptr MyEnum) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapMyEnum")
instance HasCField MyEnum "unwrapMyEnum"
    where type CFieldType MyEnum "unwrapMyEnum" = CUInt
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @x@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 5:14@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
pattern X :: MyEnum
pattern X = MyEnum 0
{-| __C declaration:__ @macro A@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 9:9@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
newtype A
    = A {unwrapA :: MyEnum}
    deriving stock (Eq, Generic, Ord, Read, Show)
    deriving newtype (HasFFIType,
                      Prim,
                      ReadRaw,
                      StaticSize,
                      Storable,
                      WriteRaw)
instance (~) ty MyEnum => HasField "unwrapA" A ty
    where hasField = \x_0 -> (\y_1 -> A{unwrapA = y_1},
                              getField @"unwrapA" x_0)
instance (~) ty MyEnum => HasField "unwrapA" (Ptr A) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapA")
instance HasCField A "unwrapA"
    where type CFieldType A "unwrapA" = MyEnum
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @macro B@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 10:9@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
newtype B
    = B {unwrapB :: A}
    deriving stock (Eq, Generic, Ord, Read, Show)
    deriving newtype (HasFFIType,
                      Prim,
                      ReadRaw,
                      StaticSize,
                      Storable,
                      WriteRaw)
instance (~) ty A => HasField "unwrapB" B ty
    where hasField = \x_0 -> (\y_1 -> B{unwrapB = y_1},
                              getField @"unwrapB" x_0)
instance (~) ty A => HasField "unwrapB" (Ptr B) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapB")
instance HasCField B "unwrapB"
    where type CFieldType B "unwrapB" = A
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @macro E@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 31:9@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
newtype E = E {unwrapE :: M.C} deriving stock Generic
instance (~) ty M.C => HasField "unwrapE" E ty
    where hasField = \x_0 -> (\y_1 -> E{unwrapE = y_1},
                              getField @"unwrapE" x_0)
instance (~) ty M.C => HasField "unwrapE" (Ptr E) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapE")
instance HasCField E "unwrapE"
    where type CFieldType E "unwrapE" = M.C
          offset# = \_ -> \_ -> 0
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_foo@
foreign import ccall safe "hs_bindgen_d49a011eb7da5969" hs_bindgen_d49a011eb7da5969_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_foo@
hs_bindgen_d49a011eb7da5969 :: MyEnum -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_foo@
hs_bindgen_d49a011eb7da5969 = \x_0 -> hs_bindgen_d49a011eb7da5969_base (toFFIType x_0)
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_safe :: MyEnum -> IO ()
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_safe = hs_bindgen_d49a011eb7da5969
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooA@
foreign import ccall safe "hs_bindgen_32c6f6f9bb440690" hs_bindgen_32c6f6f9bb440690_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooA@
hs_bindgen_32c6f6f9bb440690 :: A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooA@
hs_bindgen_32c6f6f9bb440690 = \x_0 -> hs_bindgen_32c6f6f9bb440690_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_safe :: A -> IO ()
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_safe = hs_bindgen_32c6f6f9bb440690
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooB@
foreign import ccall safe "hs_bindgen_16e7856908d06f71" hs_bindgen_16e7856908d06f71_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooB@
hs_bindgen_16e7856908d06f71 :: B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooB@
hs_bindgen_16e7856908d06f71 = \x_0 -> hs_bindgen_16e7856908d06f71_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_safe :: B -> IO ()
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_safe = hs_bindgen_16e7856908d06f71
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooC@
foreign import ccall safe "hs_bindgen_2ebd95eb71d88a64" hs_bindgen_2ebd95eb71d88a64_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooC@
hs_bindgen_2ebd95eb71d88a64 :: M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooC@
hs_bindgen_2ebd95eb71d88a64 = \x_0 -> hs_bindgen_2ebd95eb71d88a64_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_safe :: M.C -> IO ()
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_safe = hs_bindgen_2ebd95eb71d88a64
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooD@
foreign import ccall safe "hs_bindgen_deddaf3108b305bb" hs_bindgen_deddaf3108b305bb_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooD@
hs_bindgen_deddaf3108b305bb :: M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooD@
hs_bindgen_deddaf3108b305bb = \x_0 -> hs_bindgen_deddaf3108b305bb_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_safe :: M.D -> IO ()
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_safe = hs_bindgen_deddaf3108b305bb
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooE@
foreign import ccall safe "hs_bindgen_9ed085d5f2e5837e" hs_bindgen_9ed085d5f2e5837e_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooE@
hs_bindgen_9ed085d5f2e5837e :: E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Safe_fooE@
hs_bindgen_9ed085d5f2e5837e = \x_0 -> hs_bindgen_9ed085d5f2e5837e_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_safe :: E -> IO ()
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_safe = hs_bindgen_9ed085d5f2e5837e
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_foo@
foreign import ccall unsafe "hs_bindgen_0e6b98e93cad73ef" hs_bindgen_0e6b98e93cad73ef_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_foo@
hs_bindgen_0e6b98e93cad73ef :: MyEnum -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_foo@
hs_bindgen_0e6b98e93cad73ef = \x_0 -> hs_bindgen_0e6b98e93cad73ef_base (toFFIType x_0)
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_unsafe :: MyEnum -> IO ()
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_unsafe = hs_bindgen_0e6b98e93cad73ef
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooA@
foreign import ccall unsafe "hs_bindgen_1c6de1b89014dc52" hs_bindgen_1c6de1b89014dc52_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooA@
hs_bindgen_1c6de1b89014dc52 :: A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooA@
hs_bindgen_1c6de1b89014dc52 = \x_0 -> hs_bindgen_1c6de1b89014dc52_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_unsafe :: A -> IO ()
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_unsafe = hs_bindgen_1c6de1b89014dc52
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooB@
foreign import ccall unsafe "hs_bindgen_a8e579f3b5035c03" hs_bindgen_a8e579f3b5035c03_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooB@
hs_bindgen_a8e579f3b5035c03 :: B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooB@
hs_bindgen_a8e579f3b5035c03 = \x_0 -> hs_bindgen_a8e579f3b5035c03_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_unsafe :: B -> IO ()
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_unsafe = hs_bindgen_a8e579f3b5035c03
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooC@
foreign import ccall unsafe "hs_bindgen_00ad8122da6609fc" hs_bindgen_00ad8122da6609fc_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooC@
hs_bindgen_00ad8122da6609fc :: M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooC@
hs_bindgen_00ad8122da6609fc = \x_0 -> hs_bindgen_00ad8122da6609fc_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_unsafe :: M.C -> IO ()
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_unsafe = hs_bindgen_00ad8122da6609fc
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooD@
foreign import ccall unsafe "hs_bindgen_2be41098f80a9019" hs_bindgen_2be41098f80a9019_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooD@
hs_bindgen_2be41098f80a9019 :: M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooD@
hs_bindgen_2be41098f80a9019 = \x_0 -> hs_bindgen_2be41098f80a9019_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_unsafe :: M.D -> IO ()
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_unsafe = hs_bindgen_2be41098f80a9019
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooE@
foreign import ccall unsafe "hs_bindgen_07241b4b6cbf2991" hs_bindgen_07241b4b6cbf2991_base ::
    CUInt
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooE@
hs_bindgen_07241b4b6cbf2991 :: E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_Unsafe_fooE@
hs_bindgen_07241b4b6cbf2991 = \x_0 -> hs_bindgen_07241b4b6cbf2991_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_unsafe :: E -> IO ()
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_unsafe = hs_bindgen_07241b4b6cbf2991
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_foo@
foreign import ccall unsafe "hs_bindgen_098964a440956602" hs_bindgen_098964a440956602_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_foo@
hs_bindgen_098964a440956602 :: IO (FunPtr (MyEnum -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_foo@
hs_bindgen_098964a440956602 = fmap fromFFIType hs_bindgen_098964a440956602_base
{-# NOINLINE foo_funptr #-}
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_funptr :: FunPtr (MyEnum -> IO ())
{-| __C declaration:__ @foo@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 6:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
foo_funptr = unsafePerformIO hs_bindgen_098964a440956602
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooA@
foreign import ccall unsafe "hs_bindgen_86b685b9d27ce50e" hs_bindgen_86b685b9d27ce50e_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooA@
hs_bindgen_86b685b9d27ce50e :: IO (FunPtr (A -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooA@
hs_bindgen_86b685b9d27ce50e = fmap fromFFIType hs_bindgen_86b685b9d27ce50e_base
{-# NOINLINE fooA_funptr #-}
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_funptr :: FunPtr (A -> IO ())
{-| __C declaration:__ @fooA@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 12:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooA_funptr = unsafePerformIO hs_bindgen_86b685b9d27ce50e
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooB@
foreign import ccall unsafe "hs_bindgen_9383ae52414c2c19" hs_bindgen_9383ae52414c2c19_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooB@
hs_bindgen_9383ae52414c2c19 :: IO (FunPtr (B -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooB@
hs_bindgen_9383ae52414c2c19 = fmap fromFFIType hs_bindgen_9383ae52414c2c19_base
{-# NOINLINE fooB_funptr #-}
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_funptr :: FunPtr (B -> IO ())
{-| __C declaration:__ @fooB@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 13:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooB_funptr = unsafePerformIO hs_bindgen_9383ae52414c2c19
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooC@
foreign import ccall unsafe "hs_bindgen_e677debf9f8f8884" hs_bindgen_e677debf9f8f8884_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooC@
hs_bindgen_e677debf9f8f8884 :: IO (FunPtr (M.C -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooC@
hs_bindgen_e677debf9f8f8884 = fmap fromFFIType hs_bindgen_e677debf9f8f8884_base
{-# NOINLINE fooC_funptr #-}
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_funptr :: FunPtr (M.C -> IO ())
{-| __C declaration:__ @fooC@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 33:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooC_funptr = unsafePerformIO hs_bindgen_e677debf9f8f8884
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooD@
foreign import ccall unsafe "hs_bindgen_7d8aecf79b372251" hs_bindgen_7d8aecf79b372251_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooD@
hs_bindgen_7d8aecf79b372251 :: IO (FunPtr (M.D -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooD@
hs_bindgen_7d8aecf79b372251 = fmap fromFFIType hs_bindgen_7d8aecf79b372251_base
{-# NOINLINE fooD_funptr #-}
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_funptr :: FunPtr (M.D -> IO ())
{-| __C declaration:__ @fooD@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 34:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooD_funptr = unsafePerformIO hs_bindgen_7d8aecf79b372251
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooE@
foreign import ccall unsafe "hs_bindgen_24fe84901d848b4c" hs_bindgen_24fe84901d848b4c_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooE@
hs_bindgen_24fe84901d848b4c :: IO (FunPtr (E -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroen_Example_get_fooE@
hs_bindgen_24fe84901d848b4c = fmap fromFFIType hs_bindgen_24fe84901d848b4c_base
{-# NOINLINE fooE_funptr #-}
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_funptr :: FunPtr (E -> IO ())
{-| __C declaration:__ @fooE@

    __defined at:__ @binding-specs\/fun_arg\/macro\/enum.h 35:6@

    __exported by:__ @binding-specs\/fun_arg\/macro\/enum.h@
-}
fooE_funptr = unsafePerformIO hs_bindgen_24fe84901d848b4c