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.
Raised by #399's dual plan review (
plans/08082026_normpath-visibility/PLAN_REVIEW_A.md, Optional-2).src/lib.rshas 17 barepub modlines and nopub usecuration, so every internal helper in the crate is published API. The crate is published (release.yml:421-441crates.io job; nopublish = false, no[lib]restriction), so docs.rs renderstrim_galore::io::*and any future visibility tightening — starting with #399'snorm_pathdemotion — 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 insrc/lib.rsdeclaring the library surface an implementation detail of the binary with no semver guarantee. That pre-authorises #399 and its successors, and costs nothing.