Skip to content

feat: add optional jiff 0.2 shape support - #19

Merged
tisonkun merged 2 commits into
mainfrom
codex/add-jiff02-shapes
Sep 1, 2026
Merged

feat: add optional jiff 0.2 shape support#19
tisonkun merged 2 commits into
mainfrom
codex/add-jiff02-shapes

Conversation

@tisonkun

@tisonkun tisonkun commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a no_std-compatible jiff02 feature backed by Jiff 0.2 without enabling its default features
  • expose string serialization and deserialization shapes for all eight Jiff types with direct Serde implementations
  • exercise the feature in the test task and on the no_std CI target
  • document the exact integration boundary

The implementation deliberately does not describe Jiff's alternate serde adapters: those remain custom-function boundaries unless a consumer supplies an explicit serde_shape hook.

Review order

  1. c4c99b7 feat: add optional Jiff 0.2 shape support
    • Why: downstream crates cannot implement serde-shape traits for foreign Jiff types, and Jiff's direct Serde implementations have a stable string boundary.
  2. 29e0b4d docs: describe the Jiff integration
    • Why: users need to know which Jiff version and concrete types the optional feature covers.

Validation

  • cargo x lint
  • cargo x build --locked
  • cargo x test
  • cargo x package --locked
  • cargo +1.85.0 x test
  • cargo +1.85.0 check -p serde-shape --lib --no-default-features --features jiff02 --target thumbv7em-none-eabihf

Why: configuration consumers use Jiff types whose Serde implementations accept and emit strings, but orphan rules prevent downstream crates from adding serde-shape's traits themselves. Provide a no_std-compatible jiff02 feature for every Jiff 0.2 type with direct Serde implementations, and exercise it in the repository workflows.
Why: an optional integration is only discoverable when users can see which dependency version and concrete types it covers. Document the jiff02 feature and its string-shape contract without implying support for Jiff's alternate Serde adapters.
@tisonkun
tisonkun merged commit 1eef6c9 into main Sep 1, 2026
12 checks passed
@tisonkun
tisonkun deleted the codex/add-jiff02-shapes branch September 1, 2026 07:52
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