-- addDependentFile examples/golden/edge-cases/enum_as_array_size.h
-- #include <edge-cases/enum_as_array_size.h>
-- /* 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)
