alamb opened a new pull request, #836:
URL: https://github.com/apache/arrow-rs-object-store/pull/836
# Which issue does this PR close?
- Closes #835.
# Rationale for this change
#728 added an `Option<Arc<dyn DnsResolver>>` field to `ClientOptions`. Since
`DnsResolver` was only bound by `Debug + Send + Sync`, the trait object did not
implement the `UnwindSafe` / `RefUnwindSafe` auto traits, so `ClientOptions`
(and the store builders embedding it) lost those impls relative to `v0.14.1` —
an accidental breaking change flagged by `cargo semver-checks`.
# What changes are included in this PR?
Add `UnwindSafe + RefUnwindSafe` as supertraits of `DnsResolver`, with a
comment explaining why the bounds exist. This slightly tightens the requirement
on resolver implementations, but since #728 is unreleased no released API is
affected.
# Are these changes tested?
Yes:
- `cargo semver-checks --baseline-rev v0.14.1 --all-features` now passes all
196 checks ("no semver update required"); before this change it reported the
two `auto_trait_impl_removed` failures shown in #835
- Existing DNS tests pass (`cargo test --all-features --lib dns`)
- `cargo check` passes with `--no-default-features`, default, and
`--all-features`
# Are there any user-facing changes?
Implementations of the (unreleased) `DnsResolver` trait must now also be
`UnwindSafe + RefUnwindSafe`. No changes to any released API.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]