mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-25 11:42:10 +01:00
There are a handful of APIs in libgirepository which are used on performance-sensitive code paths in language bindings (such as looking at arguments when doing function calls). Historically libgirepository has provided a stack-allocated variant for them, which avoids returning a newly allocated `GIBaseInfo`. Since moving to glib.git and porting to `GTypeInstance`, that stack allocated version has been broken. This commit fixes it, by exposing obfuscated stack allocatable versions of `GITypeInfo` and `GIArgInfo`, which are the two `GIBaseInfo` subtypes which can be returned by the stack allocation functions. The commit includes unit tests for them. Signed-off-by: Philip Withnall <pwithnall@gnome.org> Fixes: #3217