Checks if calling glib.variant.VariantG.get with format_string on value would
be valid from a type-compatibility standpoint. format_string is
assumed to be a valid format string (from a syntactic standpoint).
If copy_only is true then this function additionally checks that it
would be safe to call glib.variant.VariantG.unref on value immediately after
the call to glib.variant.VariantG.get without invalidating the result. This is
only possible if deep copies are made (ie: there are no pointers to
the data inside of the soon-to-be-freed #GVariant instance). If this
check fails then a g_critical() is printed and false is returned.
Checks if calling glib.variant.VariantG.get with format_string on value would be valid from a type-compatibility standpoint. format_string is assumed to be a valid format string (from a syntactic standpoint).
If copy_only is true then this function additionally checks that it would be safe to call glib.variant.VariantG.unref on value immediately after the call to glib.variant.VariantG.get without invalidating the result. This is only possible if deep copies are made (ie: there are no pointers to the data inside of the soon-to-be-freed #GVariant instance). If this check fails then a g_critical() is printed and false is returned.
This function is meant to be used by functions that wish to provide varargs accessors to #GVariant values of uncertain values (eg: glib.variant.VariantG.lookup or gio.menu_model.MenuModel.getItemAttribute).