Support the hashbrown type HashMap and HashSet (#636, #637)
Thanks to @OliverNChalk for raising the issue and submitting a PR.
This extends the existing support for HashMaps and HashSets to the hashbrown crate v0.14.
The same conversions as for the std and indexmap types are available, like general support for #[serde_as] and converting it to/from sequences or maps.
Changed
Generalize some trait bounds for DeserializeAs implementations
While working on #637 it came to light that some of the macros for generating DeserializeAs implementations were not as generic as they could.
This means they didn't work with custom hasher types, but only the default hashers.
This has now been fixed and custom hashers should work better, as long as they implement BuildHasher + Default.
(internal) Change how features are documented (#639)
This change moves the feature documentation into Cargo.toml in a format that can be read by lib.rs.
It will improve the generated features documentation there.
The page with all features remains in the guide but is now generated from the Cargo.toml information.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps serde_with from 3.2.0 to 3.3.0.
Release notes
Sourced from serde_with's releases.
Commits
160c70d
Merge #6405a65392
Bump version to v3.3.0 forhashbrown
support5687d0f
Merge #63976753d8
Change documentation of feature flagseb48aee
Merge #637b207968
Update hashbrown tests to work without ahash dependency64e130d
Fix the de::foreach_seq! macrosd7566cd
Cleanup deserialization macrosc0af576
address PR feedback96bd441
feat: add optional support for hasbrown Map & SetDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show