json_serializable_default_deserialize_property() fails when called with an uninitialized value
Currently json_serializable_default_deserialize_property() fails when called with an uninitialized value ("Failed to deserialize "..." property of type "(NULL)".).
This is not consistent with the API since value is an out parameter (documented as a "pointer to an uninitialized GValue").
This is an issue in Vala for custom Serializable implementations, because the following code fails:
public bool deserialize_property (string property_name, out GLib.Value @value, GLib.ParamSpec pspec, Json.Node property_node) {
return default_deserialize_property (property_name, out @value, pspec, property_node);
}
(Returning false does not work either because out parameters are cleared in Vala)
In practice this is probably not an issue in native C code because deserialize_property() is called from json_gobject_deserialize() with an initialized value and this value is just passed along to json_serializable_default_deserialize_property().
I will create a PR for this issue shortly.