$ portable-atomic

v1.12.0MAJOR UPDATE

Portable atomic types including support for 128-bit atomics, atomic float, etc.

Downloads: 168.9M
Recent: 39.4M
Versions: 50
Updated: December 19, 2025

Latest Update Summary

Crate

Name: portable-atomic New version: 1.12.0 Release date: 2025-12-19T20:21:58.764099Z

Crate readme

Short description Portable atomic types including support for 128-bit atomics, atomic float, etc.

Long description This crate provides various atomic integer types (Atomic{I,U}{8,16,32,64}) for all targets that support atomic CAS, including AtomicI128, AtomicU128, AtomicF32, and AtomicF64. It allows for atomic load/store operations even on targets without standard library support for atomics. Features include compiler support for Rust 1.34+, optional features for atomic floats, and compatibility for no_std environments. The crate offers mechanisms to deal with multi-core systems and provides custom error messages for unsupported targets.

Features • AtomicI128 and AtomicU128 support • AtomicF32 and AtomicF64 support • AtomicF16 and AtomicF128 support for unstable floats • Support for no_std environments • Compiler detection for 128-bit atomics on certain architectures

Code Examples Add to Cargo.toml

 [dependencies]
portable-atomic = "1"

Disable default features

 [dependencies]
portable-atomic = { version = "1", default-features = false }

Enable require-cas feature

 [dependencies]
portable-atomic = { version = "1.3", default-features = false, features = ["require-cas"] }

Linkshttps://crates.io/crates/portable-atomichttps://docs.rs/portable-atomichttps://github.com/taiki-e/portable-atomichttps://github.com/rust-lang/rust/issues/116909https://github.com/taiki-e/portable-atomic/blob/HEAD/src/imp/atomic128/README.md

https://api.github.com/repos/taiki-e/portable-atomic/releases/271868095

Release info

Release version:

Release description

Code Examples

Minor update: 1.11.1 → 1.12.0

$ DOWNLOADS TREND

132.3M168.9M

$ VERSION HISTORY

v1.12.0December 19, 2025
v1.11.1June 6, 2025

$ LINKS

$ INSTALL

cargo add portable-atomic

Or add to Cargo.toml: portable-atomic = "1.12.0"