Skip to content

Third-party package json serialization support #129

@arnetheduck

Description

@arnetheduck

json_serialization includes support for a number of third-party packages, such as std/net and parts of chronos.

What stands out is that neither of these types are part of json_serialization per se, but these libraries also don't depend on json_serialization on their own.

Having a single writeValue/readValue for these types is necessary to prevent ambiguity in overload resolution, but it's an open question where they should live:

  • in json_serialization: doesn't allow testing, nimble package does not depend on them (and rightly so) - also, which types/packages should be supported this way? there's no good rule.
  • in json_serialization, with a feature flag: solves testing with a feature-gated dep flag, but still, why in json_ser at all?
  • in the package - the reverse problem applies, ie why should chronos or stint provide json_serialization support for its types?
  • in a separate repo/package - "correctest" solution but messy to use

This issue is opened to collect pros/cons of each solution and maybe find new ones - eventually, it should translate into a manual recommendation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions