I am trying to bind to Apache Arrow using this library. Most methods work, except for methods that (in C), take GLib::Lists as arguments. The C-bindings that are generated are expecting Pointer(Pointer(Void)), while the GObject constructors are expecting Pointer(Void), and so when the pointer gets passed, to_unsafe fails.
I've tested out these methods using other language's GObject libraries, and it seems like these constructors accept the respective language's stdlib arrays where GLib::Lists are accepted.
I messed around a bit trying to update the return type for the TypeTag::GLIST, but didn't have any luck.
I am trying to bind to Apache Arrow using this library. Most methods work, except for methods that (in C), take
GLib::Lists
as arguments. The C-bindings that are generated are expectingPointer(Pointer(Void))
, while the GObject constructors are expectingPointer(Void)
, and so when the pointer gets passed,to_unsafe
fails.Minimal example:
Here is the
C
function being calledI've tested out these methods using other language's GObject libraries, and it seems like these constructors accept the respective language's stdlib arrays where
GLib::Lists
are accepted.I messed around a bit trying to update the return type for the
TypeTag::GLIST
, but didn't have any luck.