Skip to content

Moving other crates into this one as a feature #24

Open
@jalcine

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)

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