Skip to content

lib.rs publishes 17 uncurated pub modules — declare the library surface unstable #402

Description

@FelixKrueger

Raised by #399's dual plan review (plans/08082026_normpath-visibility/PLAN_REVIEW_A.md, Optional-2).

src/lib.rs has 17 bare pub mod lines and no pub use curation, so every internal helper in the crate is published API. The crate is published (release.yml:421-441 crates.io job; no publish = false, no [lib] restriction), so docs.rs renders trim_galore::io::* and any future visibility tightening — starting with #399's norm_path demotion — is technically a semver-breaking API removal from a 2.x crate.

Nothing plausible depends on TrimGalore as a library; the lib target exists so unit tests can reach internals. But that intent is nowhere stated, so each demotion re-raises the question.

Fix: one //! note in src/lib.rs declaring the library surface an implementation detail of the binary with no semver guarantee. That pre-authorises #399 and its successors, and costs nothing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions