Skip to content

Quality audit: Rust edition 2024, latest dependencies, full documentation#29

Merged
konard merged 5 commits into
mainfrom
issue-28-845b67fc235d
Apr 13, 2026
Merged

Quality audit: Rust edition 2024, latest dependencies, full documentation#29
konard merged 5 commits into
mainfrom
issue-28-845b67fc235d

Conversation

@konard

@konard konard commented Apr 12, 2026

Copy link
Copy Markdown
Member

Summary

Comprehensive quality audit addressing all requirements from issue #28:

  • Rust edition 2024 — Upgraded from edition 2021 with proper unsafe block handling in unsafe functions
  • All clippy warnings fixed (8 warnings: missing Safety docs, suspicious_open_options, is_multiple_of, io_other_error)
  • Dependencies updated — allocator-api2 0.2→0.4, criterion 0.5→0.8, all others to latest
  • Bug fixError::OverAlloc in prealloc.rs (variant didn't exist, corrected to OverGrow); also fixed PreAlloc::grow() signature mismatch with RawMem trait
  • Tests moved from src/ to tests/ — async_mem and raw_place tests relocated per project convention
  • Full documentation coverage — all public types, traits, methods have doc comments; crate-level docs with examples; #![warn(missing_docs)] enabled; RUSTDOCFLAGS="-D warnings" passes clean
  • Automated doc deploymentdeploy-docs job added to CI/CD (follows Numbers/trees-rs pattern via peaceiris/actions-gh-pages@v4)
  • Case study — full analysis document in docs/case-studies/issue-28/
  • Changelog fragment added for this release
  • rustfmt.toml updated to stable-only options

Fixes #28

Test plan

  • cargo fmt -- --check passes
  • cargo clippy --all-features passes (0 warnings)
  • cargo test --all-features passes (all unit, integration, and doc tests)
  • RUSTDOCFLAGS="-D warnings" cargo doc --all-features --no-deps passes (0 warnings)
  • No unstable Rust features used
  • All tests in tests/ folder (none in src/)
  • CI passes on Ubuntu, macOS, Windows

🤖 Generated with Claude Code

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #28
@konard konard self-assigned this Apr 12, 2026
konard and others added 3 commits April 12, 2026 19:55
…uality

- Upgrade to Rust 2024 edition with proper unsafe blocks in unsafe fns
- Update allocator-api2 0.2 -> 0.4, criterion 0.5 -> 0.8
- Fix all 8 clippy warnings (missing Safety docs, suspicious_open_options,
  is_multiple_of, io_other_error)
- Fix Error::OverAlloc bug in prealloc.rs (variant didn't exist, changed to OverGrow)
- Fix prealloc.rs grow() signature to match RawMem trait
- Move tests from src/ (raw_place.rs, async_mem.rs) to tests/ folder
- Update rustfmt.toml to stable-only options
- Run cargo fmt for consistent edition 2024 formatting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add crate-level documentation with examples, backend table, and feature flags
- Add doc comments to all public types (RawMem, ErasedMem, Error, Alloc,
  FileMapped, Global, System, TempFile)
- Add doc comments to all public methods and trait items
- Add module-level docs for raw_mem, async_mem, and uninit modules
- Fix broken doc links (MaybeUninit::slice_assume_init_mut, mem::zeroed)
- Fix ErasedMem doc test to use Box<dyn ErasedMem>
- Enable missing_docs warning in lib.rs
- All docs build with RUSTDOCFLAGS="-D warnings" (zero warnings)
- Update macro to support doc attributes on generated wrapper types

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add deploy-docs job to CI/CD workflow (follows Numbers/trees-rs pattern)
- Add case study document in docs/case-studies/issue-28/
- Update README with edition 2024 note and missing API methods
- Add changelog fragment for this release

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] Double check we don't depend on any non stable features of rust and use all the latest best practices of rust in the code Quality audit: Rust edition 2024, latest dependencies, full documentation Apr 12, 2026
@konard
konard marked this pull request as ready for review April 12, 2026 20:05
@konard

konard commented Apr 12, 2026

Copy link
Copy Markdown
Member Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost: $8.573158

📊 Context and tokens usage:

Claude Opus 4.6:

  • Context window: 146.0K / 1M (15%) input tokens, 34.9K / 128K (27%) output tokens

Total: (139.8K + 13.3M cached) input tokens, 34.9K output tokens, $8.396463 cost

Claude Haiku 4.5:

Total: (80.4K + 360.6K cached) input tokens, 8.0K / 64K (13%) output tokens, $0.176695 cost

🤖 Models used:

  • Tool: Anthropic Claude Code
  • Requested: opus
  • Main model: Claude Opus 4.6 (claude-opus-4-6)
  • Additional models:
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)

📎 Log file uploaded as Gist (4133KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Apr 12, 2026

Copy link
Copy Markdown
Member Author

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@konard
konard merged commit 22126da into main Apr 13, 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.

Double check we don't depend on any non stable features of rust and use all the latest best practices of rust in the code

1 participant