DecodeSliceError::OutputSliceTooSmall is now conservative rather than precise. That is, the error will only occur if the decoded output cannot fit, meaning that Engine::decode_slice can now be used with exactly-sized output slices. As part of this, Engine::internal_decode now returns DecodeSliceError instead of DecodeError, but that is not expected to affect any external callers.
DecodeError::InvalidLength now refers specifically to the number of valid symbols being invalid (i.e. len % 4 == 1), rather than just the number of input bytes. This avoids confusing scenarios when based on interpretation you could make a case for either InvalidLength or InvalidByte being appropriate.
Decoding is somewhat faster (5-10%)
Commits
5d70ba7 Merge pull request #269 from marshallpierce/mp/decode-precisely
Handle potential integer overflows in 32-bit systems when seeking/truncating "spooled" temporary files past 4GiB (2³²).
Handle a theoretical 32-bit overflow when generating a temporary file name larger than 4GiB. Now it'll panic (on allocation failure) rather than silently succeeding due to wraparound.
Thanks to @stoeckmann for finding and fixing both of these issues.
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 the dependencies group with 5 updates:
1.0.196
1.0.197
1.0.196
1.0.197
0.21.7
0.22.0
2.0.13
2.0.14
3.10.0
3.10.1
Updates
serde
from 1.0.196 to 1.0.197Release notes
Sourced from serde's releases.
Commits
5fa711d
Release 1.0.197f5d8ae4
Resolve prelude redundant import warnings1d54973
Merge pull request #2697 from nyurik/format-strb8fafef
A few minorwrite_str
optimizations and inliningc42ebb8
Update ui test suite to nightly-2024-02-129e68062
Ignore incompatible_msrv clippy lint for conditionally compiled code846f865
Ignore dead_code warnings in testUpdates
serde_derive
from 1.0.196 to 1.0.197Release notes
Sourced from serde_derive's releases.
Commits
5fa711d
Release 1.0.197f5d8ae4
Resolve prelude redundant import warnings1d54973
Merge pull request #2697 from nyurik/format-strb8fafef
A few minorwrite_str
optimizations and inliningc42ebb8
Update ui test suite to nightly-2024-02-129e68062
Ignore incompatible_msrv clippy lint for conditionally compiled code846f865
Ignore dead_code warnings in testUpdates
base64
from 0.21.7 to 0.22.0Changelog
Sourced from base64's changelog.
Commits
5d70ba7
Merge pull request #269 from marshallpierce/mp/decode-preciselyefb6c00
Release notes2b91084
Add some tests to boost coverage9e9c7ab
Engine::internal_decode now returns DecodeSliceErrora8a60f4
Decode main loop improvementsa25be06
Simplify leftover output writes9979cc3
Keep morsels as separate bytes37670c5
Bump dev toolchain version (#268)Updates
assert_cmd
from 2.0.13 to 2.0.14Changelog
Sourced from assert_cmd's changelog.
Commits
9ebfc0b
chore: Release assert_cmd version 2.0.14025c5f6
docs: Update changelog82b99c1
Merge pull request #193 from glehmann/crossb3a290c
feat: add cargo runner support in order to work with cross132db49
Merge pull request #194 from assert-rs/renovate/rust-1.xf1308ab
chore(deps): update msrv to v1.739b0f20a
Merge pull request #192 from assert-rs/renovate/rust-1.x07f4cde
chore(deps): update msrv to v1.72Updates
tempfile
from 3.10.0 to 3.10.1Changelog
Sourced from tempfile's changelog.
Commits
094c115
chore: release 3.10.156c5934
Fix integer overflows and truncation (#278)5a949d6
chore: 2021 edition (#276)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