Skip to content

refactor: align internal symbol visibility - #245

Merged
tisonkun merged 2 commits into
apache:mainfrom
tisonkun:codex/align-symbol-visibility
Aug 29, 2026
Merged

refactor: align internal symbol visibility#245
tisonkun merged 2 commits into
apache:mainfrom
tisonkun:codex/align-symbol-visibility

Conversation

@tisonkun

Copy link
Copy Markdown
Member

Summary

  • let private and crate-private module boundaries control the reachability of shared implementation items instead of repeating pub(super) or pub(crate) on each symbol
  • make same-module helpers private and remove test-only field accessors
  • retain restricted visibility where re-exported public types or the public thetacommon module require a real API boundary
  • document the visibility convention in CONTRIBUTING.md

The audit reduces pub(super) occurrences from 143 to 31 and pub(crate) occurrences from 20 to 13. The remaining restricted items all protect externally reachable types or modules.

Public API

No public API or behavior changes are intended. The all-feature rustdoc public path set is unchanged, and patch-level cargo-semver-checks reports no required version update.

No changelog entry is needed because this is an internal refactor with no user-visible behavior change.

Testing

  • cargo x check
  • cargo x test
  • cargo x lint
  • cargo +stable semver-checks check-release --baseline-rev origin/main --package datasketches --all-features --release-type patch (223 checks passed)

Let private module boundaries control shared implementation items, while retaining restricted visibility where re-exported public types or modules require it. Document the convention and remove same-module visibility drift.
@tisonkun
tisonkun merged commit c8b20c8 into apache:main Aug 29, 2026
10 checks passed
@tisonkun
tisonkun deleted the codex/align-symbol-visibility branch August 29, 2026 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant