17 lines
493 B
Markdown
17 lines
493 B
Markdown
# Unsafe Code Policy
|
|
|
|
MabeLabRS is committed to safe Rust. Unsafe is allowed only when:
|
|
|
|
- It is proven necessary for performance in critical loops, and
|
|
- There is no safe alternative without excessive overhead, and
|
|
- The code is isolated in a single module with:
|
|
- Comments explaining invariants,
|
|
- Unit tests covering invariants,
|
|
- Reviewed by at least one maintainer.
|
|
|
|
All unsafe blocks must be justified with a doc comment.
|
|
|
|
Tools:
|
|
- Run `cargo geiger` in CI to track unsafe usage.
|
|
|