ddidderr
0000c6d068
feat(compress): move CCtx size aggregation to Rust
Keep ZSTD_sizeof_CCtx's NULL handling, workspace accounting, local-dictionary
sizing, and multithreaded context sizing in C, where the private layouts and
ownership remain visible. Pass only the four resulting size_t values to a Rust
ABI helper, which performs the final ordered additions with C-compatible
wrapping semantics. Add focused coverage for zero, ordinary, and overflowing
component sums.
Test Plan:
- `cargo clippy --manifest-path rust/Cargo.toml --no-default-features --features compression` -- passed before and after formatting
- Same clippy command with `--benches` and `--tests` -- passed before and after formatting
- `cargo +nightly fmt --manifest-path rust/Cargo.toml` -- passed
- `cargo test --manifest-path rust/Cargo.toml --no-default-features --features compression sizeof_cctx` -- passed (6 tests)
- `make -B -C lib -j2 lib` -- passed
- `make -C tests test-rust-lib-smoke` -- passed
- `tests/fuzzer -s4560 -t56 -i57 -v` -- passed
- `make -C tests -j2 test-zstream` -- passed (84 named, 6252 and 9519 randomized)
- `git diff --check` and `git diff --cached --check` -- passed
2026-07-18 11:40:15 +02:00
..
2026-07-12 18:34:28 +02:00
2026-07-11 14:26:21 +02:00
2026-07-18 01:47:33 +02:00
2026-07-10 20:44:02 +02:00
2026-07-10 20:02:17 +02:00
2026-07-10 20:02:17 +02:00
2026-07-10 20:02:17 +02:00
2026-07-12 09:16:42 +02:00
2026-07-10 20:02:17 +02:00
2026-07-12 18:06:51 +02:00
2026-07-12 10:13:41 +02:00
2026-07-12 10:40:51 +02:00
2026-07-12 18:07:12 +02:00
2026-07-11 14:23:39 +02:00
2026-07-10 20:04:26 +02:00
2026-07-10 20:02:17 +02:00
2026-07-18 01:43:25 +02:00
2026-07-18 06:02:22 +02:00
2026-07-18 06:38:24 +02:00
2026-07-10 20:44:02 +02:00
2026-07-10 20:04:26 +02:00
2026-07-10 20:06:25 +02:00
2026-07-12 09:13:10 +02:00
2026-07-10 20:48:51 +02:00
2026-07-18 08:08:40 +02:00
2026-07-12 09:16:59 +02:00
2026-07-10 20:02:17 +02:00
2026-07-10 22:38:07 +02:00
2026-07-10 20:05:35 +02:00
2026-07-11 14:25:32 +02:00
2026-07-18 02:52:26 +02:00
2026-07-10 20:02:17 +02:00
2026-07-12 09:59:58 +02:00
2026-07-18 08:11:55 +02:00
2026-07-10 20:02:17 +02:00
2026-07-18 09:26:44 +02:00
2026-07-18 08:08:40 +02:00
2026-07-18 07:33:06 +02:00
2026-07-18 08:52:42 +02:00
2026-07-11 23:11:57 +02:00
2026-07-18 09:00:15 +02:00
2026-07-18 10:56:28 +02:00
2026-07-10 22:44:39 +02:00
2026-07-18 08:28:49 +02:00
2026-07-11 23:11:57 +02:00
2026-07-18 11:40:15 +02:00
2026-07-10 21:20:50 +02:00
2026-07-11 08:07:40 +02:00
2026-07-11 09:03:41 +02:00
2026-07-11 08:05:25 +02:00
2026-07-10 22:46:15 +02:00
2026-07-11 08:06:30 +02:00
2026-07-11 09:03:41 +02:00
2026-07-11 08:22:41 +02:00
2026-07-18 02:39:58 +02:00
2026-07-10 21:28:56 +02:00
2026-07-18 02:50:25 +02:00
2026-07-18 06:18:30 +02:00