Skip to content

Revert Arc→Rc change, restore Send + Sync on Settings#893

Merged
max-sixty merged 1 commit intomitsuhiko:masterfrom
max-sixty:revert-arc
Mar 30, 2026
Merged

Revert Arc→Rc change, restore Send + Sync on Settings#893
max-sixty merged 1 commit intomitsuhiko:masterfrom
max-sixty:revert-arc

Conversation

@max-sixty
Copy link
Copy Markdown
Collaborator

The Arc→Rc change (#873) and Send+Sync removal (#874) were semver-breaking — they removed auto-trait impls from Settings, Redactions, Redaction, and SettingsBindDropGuard. This broke downstream crates like cedar-policy that depend on Send + Sync.

This reverts to Arc and restores Send + Sync bounds on Redaction and dynamic_redaction(). Also adds Send + Sync to the Comparator trait (new in 1.47.0) since Arc<ActualSettings> requires it. A compile-time assertion prevents future regressions.

TODOs mark the Arc usage and Comparator bounds as candidates for removal in the next breaking change.

Thanks to @john-h-kastner-aws for reporting in #873 (comment).

This was written by Claude Code on behalf of @max-sixty

The Arc→Rc change (mitsuhiko#873) and Send+Sync removal (mitsuhiko#874) were
semver-breaking — they removed auto-trait impls from Settings,
Redactions, Redaction, and SettingsBindDropGuard. This broke
downstream crates like cedar-policy that depend on Send + Sync.

Reverts to Arc and restores Send + Sync bounds on Redaction and
dynamic_redaction(). Adds Send + Sync to the Comparator trait
(new in 1.47.0) for compatibility. Adds a compile-time assertion
to prevent future regressions.

TODOs mark these as candidates for Rc in the next breaking change.

Co-Authored-By: Claude <noreply@anthropic.com>
@max-sixty max-sixty merged commit 094b1cf into mitsuhiko:master Mar 30, 2026
15 checks passed
@max-sixty max-sixty mentioned this pull request Mar 30, 2026
max-sixty added a commit that referenced this pull request Mar 30, 2026
Patch release restoring `Send + Sync` on `Settings`, `Redactions`, and
`Redaction` after the semver-breaking change in 1.47.0.

Follow-up to #893.

> _This was written by Claude Code on behalf of @max-sixty_

---------

Co-authored-by: Claude <noreply@anthropic.com>
@obi1kenobi
Copy link
Copy Markdown

👋 cargo-semver-checks maintainer here, I found this issue via an affected user who sent me a link.

I believe cargo-semver-checks would have been able to catch the loss of Send + Sync in the public API. If it'd be helpful, I'd be happy to answer any questions you might have about it, and even assist you in adopting it if you so choose.

Thanks for maintaining this tool! cargo-semver-checks relies on it and it's made my work quite a bit easier!

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.

2 participants