If deserializeJson is deserializing a struct of type T and the dsrc json value is null return T.init. The benefit is null for the value of an object will not result in an exception but rather a valid instance. For serialization/deserialization all in vibe this won't happen. But if client side is another language (e.g. Dart where reference types are the norm and null values are the default) it will.
For arrays, unqualify the type to ease deserialization, but return the original qualified type. This allows deserialization of types with `immutable(T)[]`. Unfortunately it requires a cast - but it is safe. I tried to see about making deserialization pure to avoid the cast but that was too big of a change.
similar to structs, default fundamental types to T.init. For floating point this will be in fact something that could be used to determine presence or not of value (i.e. nan). Defaults for strings and ints are at least sensible and will not result in error.
similar to structs, default fundamental types to T.init. For floating point this will be in fact something that could be used to determine presence or not of value (i.e. nan). Defaults for strings and ints are at least sensible and will not result in error.
rebase merge
Merge pull request #336 from patefacio/master

If deserializeJson is deserializing a struct of type T and the dsrc json...