Skip to content

guhhammer/safe-rust

safe-rust

safe-rust is a lightweight Rust crate designed to make your code safe.

Rust is already safe, but sometimes that’s not enough.

In situations where safety is critical, explicit, and non-negotiable, safe-rust allows you to clearly communicate that intent.

Features

  • Ensures expressions are safe
  • Zero-cost abstraction
  • No unsafe code
  • Minimal API surface
  • Explicit safety semantics

Installation

[dependencies]
safe-rust = "0.1"

Usage

use safe_rust::safe;

fn main() {
    // Guarantees that 2 + 2 is performed within safe boundaries
    let result = safe!(2 + 2);
    println!("{result}");
}

Recommendations

Safety

This crate contains no unsafe code.

All expressions passed to safe! are evaluated safely, as intended by the Rust language and its guarantees.

  • If an expression is unsafe, it should not compile.

  • If it compiles, it is safe.

Performance

There is no measurable performance impact. The macro expands directly to the enclosed expression, introducing no additional:

  • Instructions

  • Allocations

  • Runtime checks

Decision Matrix

When should I use this?

  • When you want to explicitly mark code as safe.

  • When safety is a concern.

  • When clarity matters.

  • When reviewing critical code paths.

  • When you want to be absolutely sure.

When should I not use this?

  • When safety is implied.

  • When ambiguity is acceptable.

  • When you are comfortable assuming safety.

About

A safety-oriented Rust crate that ensures expressions are evaluated safely.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages