Skip to content

general cleanup; dependabot, ci, comments - #1

Merged
ahl merged 15 commits into
mainfrom
cleanup
Aug 19, 2026
Merged

general cleanup; dependabot, ci, comments#1
ahl merged 15 commits into
mainfrom
cleanup

Conversation

@ahl

@ahl ahl commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

ahl added 15 commits August 18, 2026 19:14
…pinned actions

Add a clippy job (--all-targets --all-features, -D warnings) and a docs
job (RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features) so
lint and rustdoc regressions fail CI.

Harden and streamline the workflow itself: top-level read-only
permissions, a concurrency group that cancels superseded runs, and
workflow_dispatch for manual runs. Pin actions/checkout by full SHA to
match release.yml, and add Swatinem/rust-cache (also SHA-pinned) to the
compiling jobs.

Run the feature-matrix test legs on ubuntu only; windows and macos keep
the default-feature leg since the features are platform-independent.
Unify the FlattenedSequenceSerializer rejection messages: maps, structs,
and struct variants now report the same "only supports sequence values"
message as every other non-seq shape, via wrong_type_error. Make
FlattenedSequenceDeserializer's rejection name the type the same way.

Give FlattenedSequenceDeserializer::new the SeqAccess bound its
serializer twin has, and document both new functions. Add manual Debug
impls for both wrapper types (manual so they don't require S: Debug).

Add #[must_use] to always; #[inline] on always, deserialize_some, and
both new functions; a "# Errors" section on deserialize_some's docs.

Add crate lints: #![forbid(unsafe_code)] and #![warn(missing_docs,
missing_debug_implementations)].

Nits: elide the three elidable impl lifetimes, import Impossible once
instead of mixing spellings, and drop a trailing comma in a test
assert.
Cover the flattening serializer's rejection of scalar and map values,
the flattening deserializer's rejection of non-sequence targets, and
Absent's serialize error when a field lacks the skip_serializing
annotation, asserting the error messages.

Add the from_str("{}") success assertion to the schemars 0.8 schema
test to match its 1.x sibling, and rename flatten_tuple_vec to
test_flatten_tuple_vec so all tests share the test_ prefix.
…package

Use the README's tagline ("Runtime serde helpers for esoteric JSON
semantics") as the crates.io description so the two match, and exclude
.github and rust-toolchain.toml from the published package--they are
repo plumbing, not crate contents.
The notes section said "Pre-publication; API unstable", but
0.0.1-alpha.1 is on crates.io. Say "Early alpha" instead; the API
remains unstable.
The README doubles as the crate docs via include_str!, where the
relative LICENSE link is a broken intra-doc link (and it is equally
dead on crates.io and docs.rs). Point the badge at the file on GitHub.
This also lets the new docs CI job pass with -D warnings.
skip_serializing_if avoids 0.8's required-property bug and 1.x's
writeOnly decoration alike; the false schema survives intact. Add a
test pinning the clean 1.x schema under the always form.
@ahl
ahl merged commit 778e4e5 into main Aug 19, 2026
9 checks passed
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