-- addDependentFile examples/golden/edge-cases/enum_as_array_size.h -- #include -- /* test_edgecasesenum_as_array_size_Example_get_test_array */ -- __attribute__ ((const)) -- char const (*hs_bindgen_30b94bcf7e387817 (void))[1] -- { -- return &test_array; -- } {-| __C declaration:__ @enum test@ __defined at:__ @edge-cases\/enum_as_array_size.h 3:6@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} newtype Test = Test {unwrapTest :: CUInt} {- ^ __C declaration:__ @enum test@ __defined at:__ @edge-cases\/enum_as_array_size.h 3:6@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} deriving stock (Eq, Ord) deriving newtype HasFFIType instance StaticSize Test where staticSizeOf = \_ -> 4 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Test where readRaw = \ptr_0 -> pure Test <*> readRawByteOff ptr_0 (0 :: Int) instance WriteRaw Test where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Test unwrapTest_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapTest_2 deriving via (EquivStorable Test) instance Storable Test deriving via CUInt instance Prim Test instance CEnum Test where type CEnumZ Test = CUInt toCEnum = Test fromCEnum = unwrapTest declaredValues = \_ -> declaredValuesFromList [(0, singleton "Test_a"), (1, singleton "Test_count")] showsUndeclared = showsWrappedUndeclared "Test" readPrecUndeclared = readPrecWrappedUndeclared "Test" isDeclared = seqIsDeclared mkDeclared = seqMkDeclared instance SequentialCEnum Test where minDeclaredValue = Test_a maxDeclaredValue = Test_count instance Show Test where showsPrec = shows instance Read Test where readPrec = readPrec readList = readListDefault readListPrec = readListPrecDefault instance TyEq ty (CFieldType Test "unwrapTest") => HasField "unwrapTest" (Ptr Test) (Ptr ty) where getField = fromPtr (Proxy @"unwrapTest") instance HasCField Test "unwrapTest" where type CFieldType Test "unwrapTest" = CUInt offset# = \_ -> \_ -> 0 {-| __C declaration:__ @test_a@ __defined at:__ @edge-cases\/enum_as_array_size.h 4:3@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} pattern Test_a :: Test {-| __C declaration:__ @test_a@ __defined at:__ @edge-cases\/enum_as_array_size.h 4:3@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} pattern Test_a = Test 0 {-| __C declaration:__ @test_count@ __defined at:__ @edge-cases\/enum_as_array_size.h 5:3@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} pattern Test_count :: Test {-| __C declaration:__ @test_count@ __defined at:__ @edge-cases\/enum_as_array_size.h 5:3@ __exported by:__ @edge-cases\/enum_as_array_size.h@ -} pattern Test_count = Test 1 -- __unique:__ @test_edgecasesenum_as_array_size_Example_get_test_array@ foreign import ccall unsafe "hs_bindgen_30b94bcf7e387817" hs_bindgen_30b94bcf7e387817_base :: IO (Ptr Void) -- __unique:__ @test_edgecasesenum_as_array_size_Example_get_test_array@ hs_bindgen_30b94bcf7e387817 :: IO (PtrConst (ConstantArray 1 CChar)) -- __unique:__ @test_edgecasesenum_as_array_size_Example_get_test_array@ hs_bindgen_30b94bcf7e387817 = fromFFIType hs_bindgen_30b94bcf7e387817_base {-# NOINLINE hs_bindgen_e30c033f156164cc #-} {-| __C declaration:__ @test_array@ __defined at:__ @edge-cases\/enum_as_array_size.h 8:19@ __exported by:__ @edge-cases\/enum_as_array_size.h@ __unique:__ @test_edgecasesenum_as_array_size_Example_test_array@ -} hs_bindgen_e30c033f156164cc :: PtrConst (ConstantArray 1 CChar) {-| __C declaration:__ @test_array@ __defined at:__ @edge-cases\/enum_as_array_size.h 8:19@ __exported by:__ @edge-cases\/enum_as_array_size.h@ __unique:__ @test_edgecasesenum_as_array_size_Example_test_array@ -} hs_bindgen_e30c033f156164cc = unsafePerformIO hs_bindgen_30b94bcf7e387817 {-# NOINLINE test_array #-} test_array :: ConstantArray 1 CChar test_array = unsafePerformIO (peek hs_bindgen_e30c033f156164cc)