Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
MaulingMonkey's Rust Policies


  • 0.0.1 - Very early, no guarantees made.
  • 0.1.0 - Far from feature complete, but I'm generally begining to care about tracking breaking changes at least.
  • 1.0.0 - Feature complete, strict policies about breaking changes.

Minimum Supported Rust Versions (MSRV)

  • Advertized MSRV should be enforced by CI.
  • Bumping the Advertized MSRV is a breaking change.
  • Bumping "MSRV in Practice" is not a breaking change.
  • Advertize MSRV with: rust: 1.36.0+ rust: 1.39.0+ rust: stable rust: nightly
    [![rust: 1.36.0+](](
    [![rust: 1.39.0+](](
    [![rust: stable](](
    [![rust: nightly](](

Unsafe Code Policies

  • Avoid if possible. Aside from FFI, it's almost always possible to avoid.
  • At least make the APIs sound, and hard to misuse, if you must write unsafe code.
  • Except perhaps for FFI, prioritize using more widely reviewed and vetted crates.
  • Unsafe badges: unsafe: no unsafe: yes
     [![unsafe: no](](
    [![unsafe: yes](](
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment