It is not permissible to use [the GVariantBuilder instance] in any way after this call
except for reference counting operations (in the case of a
heap-allocated GVariantBuilder or by reinitialising it with
g_variant_builder_init() (in the case of stack-allocated).
In the bindings, this may mean:
The binding method or function for this operation would consume some value owning a GVariantBuilder as a by-value parameter (likely self). It's interesting to support the stack-allocated case as well, so the method may need to be generic over some trait covering both cases.
Normal semantics of grust::refcount::Ref would not work safely, as we need the reference to be unique by the time this call is made, or somehow drop all references immediately afterwards.
The documentation says:
In the bindings, this may mean:
GVariantBuilder
as a by-value parameter (likelyself
). It's interesting to support the stack-allocated case as well, so the method may need to be generic over some trait covering both cases.grust::refcount::Ref
would not work safely, as we need the reference to be unique by the time this call is made, or somehow drop all references immediately afterwards.Same applies to
g_variant_dict_end()
.