Skip to content

Moving other crates into this one as a feature #24

Description

@jalcine

I've seen the practice of using features to enable implementations of different kinds of resources as a convention in Rust libraries. I mentioned this indirectly in chat but I'm eager to know if it's something that's welcome to merge in the disk and memory implementations to this crate as a feature.

Pros

  • Core development can be quickly tested on specific implementations
  • Fixes in implementations that can affect the core interface can be sent upstream quickly
  • Testing everything with different forms of data can happen in one go.

Cons

  • Versioning becomes very specific to the root crate and can make semver messy.
  • Downstream clients (any?) could become confused with change in packaging

A compromise of sorts would be converting this into a workspace and having the other implementations be local crates, which gives us the benefits without the cons.

(Originally published at: https://jacky.wtf/2022/7/PCUV)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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