packages feed

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

-- addDependentFile test-artefacts/headers/golden/binding-specs/fun_arg/macro/array.h
-- #include <binding-specs/fun_arg/macro/array.h>
-- void hs_bindgen_2a6ef3a515232132 (
--   signed int *arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_4449a68917cbc499 (
--   signed int *arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_05766199d1b077bb (
--   signed int *arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_adeb3a183d6676ee (
--   signed int *arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_e9321a5f27f4381e (
--   signed int *arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_257d56ad8cb31970 (
--   signed int *arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- void hs_bindgen_969f916bf9590709 (
--   signed int *arg1
-- )
-- {
--   (foo)(arg1);
-- }
-- void hs_bindgen_fb89f30695d9a112 (
--   signed int *arg1
-- )
-- {
--   (fooA)(arg1);
-- }
-- void hs_bindgen_6882cd6e82766148 (
--   signed int *arg1
-- )
-- {
--   (fooB)(arg1);
-- }
-- void hs_bindgen_97086d4192532ee4 (
--   signed int *arg1
-- )
-- {
--   (fooC)(arg1);
-- }
-- void hs_bindgen_ca769b1357fca61c (
--   signed int *arg1
-- )
-- {
--   (fooD)(arg1);
-- }
-- void hs_bindgen_eea5d25f5323ea60 (
--   signed int *arg1
-- )
-- {
--   (fooE)(arg1);
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_foo */
-- __attribute__ ((const))
-- void (*hs_bindgen_fc9d87cbca4127e4 (void)) (
--   signed int *arg1
-- )
-- {
--   return &foo;
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_fooA */
-- __attribute__ ((const))
-- void (*hs_bindgen_0dbc306c53c94679 (void)) (
--   signed int *arg1
-- )
-- {
--   return &fooA;
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_fooB */
-- __attribute__ ((const))
-- void (*hs_bindgen_db0d885ae35d447f (void)) (
--   signed int *arg1
-- )
-- {
--   return &fooB;
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_fooC */
-- __attribute__ ((const))
-- void (*hs_bindgen_82d6fdd972810bf4 (void)) (
--   signed int *arg1
-- )
-- {
--   return &fooC;
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_fooD */
-- __attribute__ ((const))
-- void (*hs_bindgen_398c495511ffe384 (void)) (
--   signed int *arg1
-- )
-- {
--   return &fooD;
-- }
-- /* test_bindingspecsfun_argmacroar_Example_get_fooE */
-- __attribute__ ((const))
-- void (*hs_bindgen_b74f6af23eb996c3 (void)) (
--   signed int *arg1
-- )
-- {
--   return &fooE;
-- }
{-| __C declaration:__ @MyArray@

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

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

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

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.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_argmacroar_Example_Safe_foo@
foreign import ccall safe "hs_bindgen_2a6ef3a515232132" hs_bindgen_2a6ef3a515232132_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_foo@
hs_bindgen_2a6ef3a515232132 :: Ptr (Elem MyArray) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_foo@
hs_bindgen_2a6ef3a515232132 = \x_0 -> hs_bindgen_2a6ef3a515232132_base (toFFIType x_0)
{-| __C declaration:__ @foo@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
foo_safe = hs_bindgen_2a6ef3a515232132
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@
foreign import ccall safe "hs_bindgen_4449a68917cbc499" hs_bindgen_4449a68917cbc499_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@
hs_bindgen_4449a68917cbc499 :: Ptr (Elem A) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@
hs_bindgen_4449a68917cbc499 = \x_0 -> hs_bindgen_4449a68917cbc499_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooA_safe = hs_bindgen_4449a68917cbc499
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@
foreign import ccall safe "hs_bindgen_05766199d1b077bb" hs_bindgen_05766199d1b077bb_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@
hs_bindgen_05766199d1b077bb :: Ptr (Elem B) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@
hs_bindgen_05766199d1b077bb = \x_0 -> hs_bindgen_05766199d1b077bb_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooB_safe = hs_bindgen_05766199d1b077bb
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooC@
foreign import ccall safe "hs_bindgen_adeb3a183d6676ee" hs_bindgen_adeb3a183d6676ee_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooC@
hs_bindgen_adeb3a183d6676ee :: Ptr (Elem M.C) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooC@
hs_bindgen_adeb3a183d6676ee = \x_0 -> hs_bindgen_adeb3a183d6676ee_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooC_safe = hs_bindgen_adeb3a183d6676ee
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooD@
foreign import ccall safe "hs_bindgen_e9321a5f27f4381e" hs_bindgen_e9321a5f27f4381e_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooD@
hs_bindgen_e9321a5f27f4381e :: Ptr (Elem M.D) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooD@
hs_bindgen_e9321a5f27f4381e = \x_0 -> hs_bindgen_e9321a5f27f4381e_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooD_safe = hs_bindgen_e9321a5f27f4381e
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooE@
foreign import ccall safe "hs_bindgen_257d56ad8cb31970" hs_bindgen_257d56ad8cb31970_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooE@
hs_bindgen_257d56ad8cb31970 :: Ptr (Elem E) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooE@
hs_bindgen_257d56ad8cb31970 = \x_0 -> hs_bindgen_257d56ad8cb31970_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooE_safe = hs_bindgen_257d56ad8cb31970
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@
foreign import ccall unsafe "hs_bindgen_969f916bf9590709" hs_bindgen_969f916bf9590709_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@
hs_bindgen_969f916bf9590709 :: Ptr (Elem MyArray) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@
hs_bindgen_969f916bf9590709 = \x_0 -> hs_bindgen_969f916bf9590709_base (toFFIType x_0)
{-| __C declaration:__ @foo@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
foo_unsafe = hs_bindgen_969f916bf9590709
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@
foreign import ccall unsafe "hs_bindgen_fb89f30695d9a112" hs_bindgen_fb89f30695d9a112_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@
hs_bindgen_fb89f30695d9a112 :: Ptr (Elem A) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@
hs_bindgen_fb89f30695d9a112 = \x_0 -> hs_bindgen_fb89f30695d9a112_base (toFFIType x_0)
{-| __C declaration:__ @fooA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooA_unsafe = hs_bindgen_fb89f30695d9a112
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@
foreign import ccall unsafe "hs_bindgen_6882cd6e82766148" hs_bindgen_6882cd6e82766148_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@
hs_bindgen_6882cd6e82766148 :: Ptr (Elem B) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@
hs_bindgen_6882cd6e82766148 = \x_0 -> hs_bindgen_6882cd6e82766148_base (toFFIType x_0)
{-| __C declaration:__ @fooB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooB_unsafe = hs_bindgen_6882cd6e82766148
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooC@
foreign import ccall unsafe "hs_bindgen_97086d4192532ee4" hs_bindgen_97086d4192532ee4_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooC@
hs_bindgen_97086d4192532ee4 :: Ptr (Elem M.C) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooC@
hs_bindgen_97086d4192532ee4 = \x_0 -> hs_bindgen_97086d4192532ee4_base (toFFIType x_0)
{-| __C declaration:__ @fooC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooC_unsafe = hs_bindgen_97086d4192532ee4
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooD@
foreign import ccall unsafe "hs_bindgen_ca769b1357fca61c" hs_bindgen_ca769b1357fca61c_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooD@
hs_bindgen_ca769b1357fca61c :: Ptr (Elem M.D) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooD@
hs_bindgen_ca769b1357fca61c = \x_0 -> hs_bindgen_ca769b1357fca61c_base (toFFIType x_0)
{-| __C declaration:__ @fooD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooD_unsafe = hs_bindgen_ca769b1357fca61c
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooE@
foreign import ccall unsafe "hs_bindgen_eea5d25f5323ea60" hs_bindgen_eea5d25f5323ea60_base ::
    Ptr Void
 -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooE@
hs_bindgen_eea5d25f5323ea60 :: Ptr (Elem E) -> IO ()
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooE@
hs_bindgen_eea5d25f5323ea60 = \x_0 -> hs_bindgen_eea5d25f5323ea60_base (toFFIType x_0)
{-| __C declaration:__ @fooE@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooE_unsafe = hs_bindgen_eea5d25f5323ea60
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@
foreign import ccall unsafe "hs_bindgen_fc9d87cbca4127e4" hs_bindgen_fc9d87cbca4127e4_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@
hs_bindgen_fc9d87cbca4127e4 :: IO (FunPtr (Ptr (Elem MyArray) ->
                                           IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@
hs_bindgen_fc9d87cbca4127e4 = fmap fromFFIType hs_bindgen_fc9d87cbca4127e4_base
{-# NOINLINE foo_funptr #-}
{-| __C declaration:__ @foo@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
foo_funptr = unsafePerformIO hs_bindgen_fc9d87cbca4127e4
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@
foreign import ccall unsafe "hs_bindgen_0dbc306c53c94679" hs_bindgen_0dbc306c53c94679_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@
hs_bindgen_0dbc306c53c94679 :: IO (FunPtr (Ptr (Elem A) -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@
hs_bindgen_0dbc306c53c94679 = fmap fromFFIType hs_bindgen_0dbc306c53c94679_base
{-# NOINLINE fooA_funptr #-}
{-| __C declaration:__ @fooA@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooA_funptr = unsafePerformIO hs_bindgen_0dbc306c53c94679
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@
foreign import ccall unsafe "hs_bindgen_db0d885ae35d447f" hs_bindgen_db0d885ae35d447f_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@
hs_bindgen_db0d885ae35d447f :: IO (FunPtr (Ptr (Elem B) -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@
hs_bindgen_db0d885ae35d447f = fmap fromFFIType hs_bindgen_db0d885ae35d447f_base
{-# NOINLINE fooB_funptr #-}
{-| __C declaration:__ @fooB@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooB_funptr = unsafePerformIO hs_bindgen_db0d885ae35d447f
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooC@
foreign import ccall unsafe "hs_bindgen_82d6fdd972810bf4" hs_bindgen_82d6fdd972810bf4_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooC@
hs_bindgen_82d6fdd972810bf4 :: IO (FunPtr (Ptr (Elem M.C) ->
                                           IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooC@
hs_bindgen_82d6fdd972810bf4 = fmap fromFFIType hs_bindgen_82d6fdd972810bf4_base
{-# NOINLINE fooC_funptr #-}
{-| __C declaration:__ @fooC@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooC_funptr = unsafePerformIO hs_bindgen_82d6fdd972810bf4
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooD@
foreign import ccall unsafe "hs_bindgen_398c495511ffe384" hs_bindgen_398c495511ffe384_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooD@
hs_bindgen_398c495511ffe384 :: IO (FunPtr (Ptr (Elem M.D) ->
                                           IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooD@
hs_bindgen_398c495511ffe384 = fmap fromFFIType hs_bindgen_398c495511ffe384_base
{-# NOINLINE fooD_funptr #-}
{-| __C declaration:__ @fooD@

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

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

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

    __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@
-}
fooD_funptr = unsafePerformIO hs_bindgen_398c495511ffe384
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooE@
foreign import ccall unsafe "hs_bindgen_b74f6af23eb996c3" hs_bindgen_b74f6af23eb996c3_base ::
    IO (FunPtr Void)
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooE@
hs_bindgen_b74f6af23eb996c3 :: IO (FunPtr (Ptr (Elem E) -> IO ()))
-- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooE@
hs_bindgen_b74f6af23eb996c3 = fmap fromFFIType hs_bindgen_b74f6af23eb996c3_base
{-# NOINLINE fooE_funptr #-}
{-| __C declaration:__ @fooE@

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

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

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

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