packages feed

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

-- addDependentFile test-artefacts/headers/golden/binding-specs/fun_arg/macro/function.h
-- #include <binding-specs/fun_arg/macro/function.h>
-- void hs_bindgen_40e15e86e5db36ce (
--   MyFunction *arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_e13a57fd1d27f6e6 (
--   A *arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_fd490df5087893ae (
--   B *arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_c552a862db9ba6eb (
--   C *arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_b08ba864cf83a382 (
--   D *arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_ca717b3afd1e43f5 (
--   E *arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- void hs_bindgen_a708e95f35bff290 (
--   signed int (*arg1) (
--   signed int arg1
-- )
-- )
-- {
--   (bar)(arg1);
-- }
-- void hs_bindgen_2991dd76f4337b78 (
--   A *arg1
-- )
-- {
--   (barA)(arg1);
-- }
-- void hs_bindgen_104de3f97206bd1d (
--   B *arg1
-- )
-- {
--   (barB)(arg1);
-- }
-- void hs_bindgen_963bcd9e5467fd8f (
--   C *arg1
-- )
-- {
--   (barC)(arg1);
-- }
-- void hs_bindgen_57f4aab65f2a1232 (
--   D *arg1
-- )
-- {
--   (barD)(arg1);
-- }
-- void hs_bindgen_6479d953f4c6848f (
--   E *arg1
-- )
-- {
--   (barE)(arg1);
-- }
-- void hs_bindgen_fbc2ec26cd297034 (
--   MyFunction *arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_cf67e2fc00fd28d8 (
--   A *arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_269a46f9680e33ed (
--   B *arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_f9bc9d37a12171dd (
--   C *arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_ca21c7e4aaa33a81 (
--   D *arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_e71a09bea0aef335 (
--   E *arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- void hs_bindgen_0fdddb4fac9b77d1 (
--   signed int (*arg1) (
--   signed int arg1
-- )
-- )
-- {
--   (bar)(arg1);
-- }
-- void hs_bindgen_bd59a5d308c55504 (
--   A *arg1
-- )
-- {
--   (barA)(arg1);
-- }
-- void hs_bindgen_b016bfc7a4cc0734 (
--   B *arg1
-- )
-- {
--   (barB)(arg1);
-- }
-- void hs_bindgen_5e40e29a3ba3186e (
--   C *arg1
-- )
-- {
--   (barC)(arg1);
-- }
-- void hs_bindgen_cb058763607fee19 (
--   D *arg1
-- )
-- {
--   (barD)(arg1);
-- }
-- void hs_bindgen_2f3d5b8e2b6dd66f (
--   E *arg1
-- )
-- {
--   (barE)(arg1);
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_foo */
-- __attribute__ ((const))
-- void (*hs_bindgen_e113ab1229902001 (void)) (
--   MyFunction *arg1
-- )
-- {
--   return &foo;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_fooA */
-- __attribute__ ((const))
-- void (*hs_bindgen_5e83648377d8afc6 (void)) (
--   A *arg1
-- )
-- {
--   return &fooA;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_fooB */
-- __attribute__ ((const))
-- void (*hs_bindgen_d6d79c737e65f7e7 (void)) (
--   B *arg1
-- )
-- {
--   return &fooB;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_fooC */
-- __attribute__ ((const))
-- void (*hs_bindgen_566c44a793d222a9 (void)) (
--   C *arg1
-- )
-- {
--   return &fooC;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_fooD */
-- __attribute__ ((const))
-- void (*hs_bindgen_9214c66c2650a721 (void)) (
--   D *arg1
-- )
-- {
--   return &fooD;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_fooE */
-- __attribute__ ((const))
-- void (*hs_bindgen_08a6ea4ce7e2c244 (void)) (
--   E *arg1
-- )
-- {
--   return &fooE;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_bar */
-- __attribute__ ((const))
-- void (*hs_bindgen_15c0f27a0b5f01ca (void)) (
--   signed int (*arg1) (
--   signed int arg1
-- )
-- )
-- {
--   return &bar;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_barA */
-- __attribute__ ((const))
-- void (*hs_bindgen_1e518c0403f5c339 (void)) (
--   A *arg1
-- )
-- {
--   return &barA;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_barB */
-- __attribute__ ((const))
-- void (*hs_bindgen_6a1e56bd4a228268 (void)) (
--   B *arg1
-- )
-- {
--   return &barB;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_barC */
-- __attribute__ ((const))
-- void (*hs_bindgen_4edd36805e7f06a0 (void)) (
--   C *arg1
-- )
-- {
--   return &barC;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_barD */
-- __attribute__ ((const))
-- void (*hs_bindgen_1f340970ba2d8ec0 (void)) (
--   D *arg1
-- )
-- {
--   return &barD;
-- }
-- /* test_bindingspecsfun_argmacrofu_Example_get_barE */
-- __attribute__ ((const))
-- void (*hs_bindgen_e1dd905a06024a69 (void)) (
--   E *arg1
-- )
-- {
--   return &barE;
-- }
{-| __C declaration:__ @MyFunction@

    __defined at:__ @binding-specs\/fun_arg\/macro\/function.h 5:13@

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
newtype MyFunction
    = MyFunction {unwrapMyFunction :: (CInt -> IO CInt)}
    deriving stock Generic
-- __unique:__ @toMyFunction@
foreign import ccall safe "wrapper" hs_bindgen_4e8a459829b269e0_base ::
    CInt -> IO CInt
 -> IO (FunPtr (CInt -> IO CInt))
-- __unique:__ @toMyFunction@
hs_bindgen_4e8a459829b269e0 :: MyFunction -> IO (FunPtr MyFunction)
-- __unique:__ @toMyFunction@
hs_bindgen_4e8a459829b269e0 = \fun_0 -> fmap castFunPtr (hs_bindgen_4e8a459829b269e0_base (\x_1 -> fmap toFFIType (getField @"unwrapMyFunction" fun_0 (fromFFIType x_1))))
-- __unique:__ @fromMyFunction@
foreign import ccall safe "dynamic" hs_bindgen_bb71f7e730356103_base ::
    FunPtr (CInt -> IO CInt)
 -> CInt
 -> IO CInt
-- __unique:__ @fromMyFunction@
hs_bindgen_bb71f7e730356103 :: FunPtr MyFunction -> MyFunction
-- __unique:__ @fromMyFunction@
hs_bindgen_bb71f7e730356103 = \funPtr_0 -> MyFunction (\x_1 -> fmap fromFFIType (hs_bindgen_bb71f7e730356103_base (castFunPtr funPtr_0) (toFFIType x_1)))
instance ToFunPtr MyFunction
    where toFunPtr = hs_bindgen_4e8a459829b269e0
instance FromFunPtr MyFunction
    where fromFunPtr = hs_bindgen_bb71f7e730356103
instance (~) ty (CInt -> IO CInt) =>
         HasField "unwrapMyFunction" MyFunction ty
    where hasField = \x_0 -> (\y_1 -> MyFunction{unwrapMyFunction = y_1},
                              getField @"unwrapMyFunction" x_0)
instance (~) ty (CInt -> IO CInt) =>
         HasField "unwrapMyFunction" (Ptr MyFunction) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapMyFunction")
instance HasCField MyFunction "unwrapMyFunction"
    where type CFieldType MyFunction "unwrapMyFunction" = CInt ->
                                                          IO CInt
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @macro A@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
newtype A = A {unwrapA :: MyFunction} deriving stock Generic
instance (~) ty MyFunction => HasField "unwrapA" A ty
    where hasField = \x_0 -> (\y_1 -> A{unwrapA = y_1},
                              getField @"unwrapA" x_0)
instance (~) ty MyFunction => HasField "unwrapA" (Ptr A) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapA")
instance HasCField A "unwrapA"
    where type CFieldType A "unwrapA" = MyFunction
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @macro B@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
newtype B = B {unwrapB :: A} deriving stock Generic
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\/function.h 31:9@

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.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_argmacrofu_Example_Safe_foo@
foreign import ccall safe "hs_bindgen_40e15e86e5db36ce" hs_bindgen_40e15e86e5db36ce_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_foo@
hs_bindgen_40e15e86e5db36ce :: FunPtr MyFunction -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_foo@
hs_bindgen_40e15e86e5db36ce = \x_0 -> hs_bindgen_40e15e86e5db36ce_base (toFFIType x_0)
{-| __C declaration:__ @foo@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
foo_safe = hs_bindgen_40e15e86e5db36ce
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooA@
foreign import ccall safe "hs_bindgen_e13a57fd1d27f6e6" hs_bindgen_e13a57fd1d27f6e6_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooA@
hs_bindgen_e13a57fd1d27f6e6 :: FunPtr A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooA@
hs_bindgen_e13a57fd1d27f6e6 = \x_0 -> hs_bindgen_e13a57fd1d27f6e6_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooA_safe = hs_bindgen_e13a57fd1d27f6e6
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooB@
foreign import ccall safe "hs_bindgen_fd490df5087893ae" hs_bindgen_fd490df5087893ae_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooB@
hs_bindgen_fd490df5087893ae :: FunPtr B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooB@
hs_bindgen_fd490df5087893ae = \x_0 -> hs_bindgen_fd490df5087893ae_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooB_safe = hs_bindgen_fd490df5087893ae
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooC@
foreign import ccall safe "hs_bindgen_c552a862db9ba6eb" hs_bindgen_c552a862db9ba6eb_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooC@
hs_bindgen_c552a862db9ba6eb :: FunPtr M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooC@
hs_bindgen_c552a862db9ba6eb = \x_0 -> hs_bindgen_c552a862db9ba6eb_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooC_safe = hs_bindgen_c552a862db9ba6eb
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooD@
foreign import ccall safe "hs_bindgen_b08ba864cf83a382" hs_bindgen_b08ba864cf83a382_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooD@
hs_bindgen_b08ba864cf83a382 :: FunPtr M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooD@
hs_bindgen_b08ba864cf83a382 = \x_0 -> hs_bindgen_b08ba864cf83a382_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooD_safe = hs_bindgen_b08ba864cf83a382
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooE@
foreign import ccall safe "hs_bindgen_ca717b3afd1e43f5" hs_bindgen_ca717b3afd1e43f5_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooE@
hs_bindgen_ca717b3afd1e43f5 :: FunPtr E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_fooE@
hs_bindgen_ca717b3afd1e43f5 = \x_0 -> hs_bindgen_ca717b3afd1e43f5_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooE_safe = hs_bindgen_ca717b3afd1e43f5
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_bar@
foreign import ccall safe "hs_bindgen_a708e95f35bff290" hs_bindgen_a708e95f35bff290_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_bar@
hs_bindgen_a708e95f35bff290 :: FunPtr (CInt -> IO CInt) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_bar@
hs_bindgen_a708e95f35bff290 = \x_0 -> hs_bindgen_a708e95f35bff290_base (toFFIType x_0)
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_safe :: FunPtr (CInt -> IO CInt) -> IO ()
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_safe = hs_bindgen_a708e95f35bff290
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barA@
foreign import ccall safe "hs_bindgen_2991dd76f4337b78" hs_bindgen_2991dd76f4337b78_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barA@
hs_bindgen_2991dd76f4337b78 :: FunPtr A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barA@
hs_bindgen_2991dd76f4337b78 = \x_0 -> hs_bindgen_2991dd76f4337b78_base (toFFIType x_0)
{-| __C declaration:__ @barA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barA_safe = hs_bindgen_2991dd76f4337b78
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barB@
foreign import ccall safe "hs_bindgen_104de3f97206bd1d" hs_bindgen_104de3f97206bd1d_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barB@
hs_bindgen_104de3f97206bd1d :: FunPtr B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barB@
hs_bindgen_104de3f97206bd1d = \x_0 -> hs_bindgen_104de3f97206bd1d_base (toFFIType x_0)
{-| __C declaration:__ @barB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barB_safe = hs_bindgen_104de3f97206bd1d
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barC@
foreign import ccall safe "hs_bindgen_963bcd9e5467fd8f" hs_bindgen_963bcd9e5467fd8f_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barC@
hs_bindgen_963bcd9e5467fd8f :: FunPtr M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barC@
hs_bindgen_963bcd9e5467fd8f = \x_0 -> hs_bindgen_963bcd9e5467fd8f_base (toFFIType x_0)
{-| __C declaration:__ @barC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barC_safe = hs_bindgen_963bcd9e5467fd8f
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barD@
foreign import ccall safe "hs_bindgen_57f4aab65f2a1232" hs_bindgen_57f4aab65f2a1232_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barD@
hs_bindgen_57f4aab65f2a1232 :: FunPtr M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barD@
hs_bindgen_57f4aab65f2a1232 = \x_0 -> hs_bindgen_57f4aab65f2a1232_base (toFFIType x_0)
{-| __C declaration:__ @barD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barD_safe = hs_bindgen_57f4aab65f2a1232
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barE@
foreign import ccall safe "hs_bindgen_6479d953f4c6848f" hs_bindgen_6479d953f4c6848f_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barE@
hs_bindgen_6479d953f4c6848f :: FunPtr E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Safe_barE@
hs_bindgen_6479d953f4c6848f = \x_0 -> hs_bindgen_6479d953f4c6848f_base (toFFIType x_0)
{-| __C declaration:__ @barE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barE_safe = hs_bindgen_6479d953f4c6848f
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_foo@
foreign import ccall unsafe "hs_bindgen_fbc2ec26cd297034" hs_bindgen_fbc2ec26cd297034_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_foo@
hs_bindgen_fbc2ec26cd297034 :: FunPtr MyFunction -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_foo@
hs_bindgen_fbc2ec26cd297034 = \x_0 -> hs_bindgen_fbc2ec26cd297034_base (toFFIType x_0)
{-| __C declaration:__ @foo@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
foo_unsafe = hs_bindgen_fbc2ec26cd297034
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooA@
foreign import ccall unsafe "hs_bindgen_cf67e2fc00fd28d8" hs_bindgen_cf67e2fc00fd28d8_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooA@
hs_bindgen_cf67e2fc00fd28d8 :: FunPtr A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooA@
hs_bindgen_cf67e2fc00fd28d8 = \x_0 -> hs_bindgen_cf67e2fc00fd28d8_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooA_unsafe = hs_bindgen_cf67e2fc00fd28d8
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooB@
foreign import ccall unsafe "hs_bindgen_269a46f9680e33ed" hs_bindgen_269a46f9680e33ed_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooB@
hs_bindgen_269a46f9680e33ed :: FunPtr B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooB@
hs_bindgen_269a46f9680e33ed = \x_0 -> hs_bindgen_269a46f9680e33ed_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooB_unsafe = hs_bindgen_269a46f9680e33ed
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooC@
foreign import ccall unsafe "hs_bindgen_f9bc9d37a12171dd" hs_bindgen_f9bc9d37a12171dd_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooC@
hs_bindgen_f9bc9d37a12171dd :: FunPtr M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooC@
hs_bindgen_f9bc9d37a12171dd = \x_0 -> hs_bindgen_f9bc9d37a12171dd_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooC_unsafe = hs_bindgen_f9bc9d37a12171dd
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooD@
foreign import ccall unsafe "hs_bindgen_ca21c7e4aaa33a81" hs_bindgen_ca21c7e4aaa33a81_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooD@
hs_bindgen_ca21c7e4aaa33a81 :: FunPtr M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooD@
hs_bindgen_ca21c7e4aaa33a81 = \x_0 -> hs_bindgen_ca21c7e4aaa33a81_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooD_unsafe = hs_bindgen_ca21c7e4aaa33a81
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooE@
foreign import ccall unsafe "hs_bindgen_e71a09bea0aef335" hs_bindgen_e71a09bea0aef335_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooE@
hs_bindgen_e71a09bea0aef335 :: FunPtr E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_fooE@
hs_bindgen_e71a09bea0aef335 = \x_0 -> hs_bindgen_e71a09bea0aef335_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooE_unsafe = hs_bindgen_e71a09bea0aef335
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_bar@
foreign import ccall unsafe "hs_bindgen_0fdddb4fac9b77d1" hs_bindgen_0fdddb4fac9b77d1_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_bar@
hs_bindgen_0fdddb4fac9b77d1 :: FunPtr (CInt -> IO CInt) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_bar@
hs_bindgen_0fdddb4fac9b77d1 = \x_0 -> hs_bindgen_0fdddb4fac9b77d1_base (toFFIType x_0)
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_unsafe :: FunPtr (CInt -> IO CInt) -> IO ()
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_unsafe = hs_bindgen_0fdddb4fac9b77d1
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barA@
foreign import ccall unsafe "hs_bindgen_bd59a5d308c55504" hs_bindgen_bd59a5d308c55504_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barA@
hs_bindgen_bd59a5d308c55504 :: FunPtr A -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barA@
hs_bindgen_bd59a5d308c55504 = \x_0 -> hs_bindgen_bd59a5d308c55504_base (toFFIType x_0)
{-| __C declaration:__ @barA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barA_unsafe = hs_bindgen_bd59a5d308c55504
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barB@
foreign import ccall unsafe "hs_bindgen_b016bfc7a4cc0734" hs_bindgen_b016bfc7a4cc0734_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barB@
hs_bindgen_b016bfc7a4cc0734 :: FunPtr B -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barB@
hs_bindgen_b016bfc7a4cc0734 = \x_0 -> hs_bindgen_b016bfc7a4cc0734_base (toFFIType x_0)
{-| __C declaration:__ @barB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barB_unsafe = hs_bindgen_b016bfc7a4cc0734
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barC@
foreign import ccall unsafe "hs_bindgen_5e40e29a3ba3186e" hs_bindgen_5e40e29a3ba3186e_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barC@
hs_bindgen_5e40e29a3ba3186e :: FunPtr M.C -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barC@
hs_bindgen_5e40e29a3ba3186e = \x_0 -> hs_bindgen_5e40e29a3ba3186e_base (toFFIType x_0)
{-| __C declaration:__ @barC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barC_unsafe = hs_bindgen_5e40e29a3ba3186e
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barD@
foreign import ccall unsafe "hs_bindgen_cb058763607fee19" hs_bindgen_cb058763607fee19_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barD@
hs_bindgen_cb058763607fee19 :: FunPtr M.D -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barD@
hs_bindgen_cb058763607fee19 = \x_0 -> hs_bindgen_cb058763607fee19_base (toFFIType x_0)
{-| __C declaration:__ @barD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barD_unsafe = hs_bindgen_cb058763607fee19
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barE@
foreign import ccall unsafe "hs_bindgen_2f3d5b8e2b6dd66f" hs_bindgen_2f3d5b8e2b6dd66f_base ::
    FunPtr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barE@
hs_bindgen_2f3d5b8e2b6dd66f :: FunPtr E -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_Unsafe_barE@
hs_bindgen_2f3d5b8e2b6dd66f = \x_0 -> hs_bindgen_2f3d5b8e2b6dd66f_base (toFFIType x_0)
{-| __C declaration:__ @barE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barE_unsafe = hs_bindgen_2f3d5b8e2b6dd66f
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_foo@
foreign import ccall unsafe "hs_bindgen_e113ab1229902001" hs_bindgen_e113ab1229902001_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_foo@
hs_bindgen_e113ab1229902001 :: IO (FunPtr (FunPtr MyFunction ->
                                           IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_foo@
hs_bindgen_e113ab1229902001 = fmap fromFFIType hs_bindgen_e113ab1229902001_base
{-# NOINLINE foo_funptr #-}
{-| __C declaration:__ @foo@

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
fooE_funptr = unsafePerformIO hs_bindgen_08a6ea4ce7e2c244
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_bar@
foreign import ccall unsafe "hs_bindgen_15c0f27a0b5f01ca" hs_bindgen_15c0f27a0b5f01ca_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_bar@
hs_bindgen_15c0f27a0b5f01ca :: IO (FunPtr (FunPtr (CInt ->
                                                   IO CInt) ->
                                           IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_bar@
hs_bindgen_15c0f27a0b5f01ca = fmap fromFFIType hs_bindgen_15c0f27a0b5f01ca_base
{-# NOINLINE bar_funptr #-}
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_funptr :: FunPtr (FunPtr (CInt -> IO CInt) -> IO ())
{-| __C declaration:__ @bar@

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
bar_funptr = unsafePerformIO hs_bindgen_15c0f27a0b5f01ca
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barA@
foreign import ccall unsafe "hs_bindgen_1e518c0403f5c339" hs_bindgen_1e518c0403f5c339_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barA@
hs_bindgen_1e518c0403f5c339 :: IO (FunPtr (FunPtr A -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barA@
hs_bindgen_1e518c0403f5c339 = fmap fromFFIType hs_bindgen_1e518c0403f5c339_base
{-# NOINLINE barA_funptr #-}
{-| __C declaration:__ @barA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barA_funptr = unsafePerformIO hs_bindgen_1e518c0403f5c339
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barB@
foreign import ccall unsafe "hs_bindgen_6a1e56bd4a228268" hs_bindgen_6a1e56bd4a228268_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barB@
hs_bindgen_6a1e56bd4a228268 :: IO (FunPtr (FunPtr B -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barB@
hs_bindgen_6a1e56bd4a228268 = fmap fromFFIType hs_bindgen_6a1e56bd4a228268_base
{-# NOINLINE barB_funptr #-}
{-| __C declaration:__ @barB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barB_funptr = unsafePerformIO hs_bindgen_6a1e56bd4a228268
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barC@
foreign import ccall unsafe "hs_bindgen_4edd36805e7f06a0" hs_bindgen_4edd36805e7f06a0_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barC@
hs_bindgen_4edd36805e7f06a0 :: IO (FunPtr (FunPtr M.C -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barC@
hs_bindgen_4edd36805e7f06a0 = fmap fromFFIType hs_bindgen_4edd36805e7f06a0_base
{-# NOINLINE barC_funptr #-}
{-| __C declaration:__ @barC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barC_funptr = unsafePerformIO hs_bindgen_4edd36805e7f06a0
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barD@
foreign import ccall unsafe "hs_bindgen_1f340970ba2d8ec0" hs_bindgen_1f340970ba2d8ec0_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barD@
hs_bindgen_1f340970ba2d8ec0 :: IO (FunPtr (FunPtr M.D -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barD@
hs_bindgen_1f340970ba2d8ec0 = fmap fromFFIType hs_bindgen_1f340970ba2d8ec0_base
{-# NOINLINE barD_funptr #-}
{-| __C declaration:__ @barD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barD_funptr = unsafePerformIO hs_bindgen_1f340970ba2d8ec0
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barE@
foreign import ccall unsafe "hs_bindgen_e1dd905a06024a69" hs_bindgen_e1dd905a06024a69_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barE@
hs_bindgen_e1dd905a06024a69 :: IO (FunPtr (FunPtr E -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacrofu_Example_get_barE@
hs_bindgen_e1dd905a06024a69 = fmap fromFFIType hs_bindgen_e1dd905a06024a69_base
{-# NOINLINE barE_funptr #-}
{-| __C declaration:__ @barE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/function.h@
-}
barE_funptr = unsafePerformIO hs_bindgen_e1dd905a06024a69