contentauth / c2pa-rs

Rust SDK for the core C2PA (Coalition for Content Provenance and Authenticity) specification
Other
118 stars 52 forks source link

Implement `Debug` w/ detailed manifest for `Reader` #473

Closed ok-nick closed 3 months ago

ok-nick commented 4 months ago

Changes in this pull request

Notes

Checklist

ok-nick commented 4 months ago

Adding Store to ManifestStore causes a breaking change since ManifestStore no longer implements UnwindSafe nor RefUnwindSafe. This is because Store contains a trait object, which cannot guarantee unwind safety unless the trait object requires the traits mentioned or we mask it with AssertUnwindSafe. See https://github.com/rust-lang/rust/issues/65717, https://github.com/rust-lang/rust/issues/40628, and https://github.com/rust-lang/rfcs/pull/3260.

ok-nick commented 3 months ago

For now we require TrustHandlerConfig to be UnwindSafe and RefUnwindSafe, but ideally TrustHandlerConfig would either be (1) a generic on Store or (2) each impl is gated behind a feature flag for each platform.