Documentation
  • Coverage
  • 100%
    16 out of 16 items documented1 out of 16 items with examples
  • Size
  • Source code size: 23.8 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.21 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • lucab/efuse-rs
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lucab

efuse

Build Status crates.io LoC Documentation

A Rust library for software fuses.

This library provides boolean-like types that behave like software fuses: they can be "zapped" once, after which they remain in the toggled state forever. It supports fuses with custom initial boolean state, as well as atomic fuses.

Example

let initial_state = true;
let mut fuse = efuse::Fuse::new(initial_state);
assert_eq!(fuse.as_bool(), true);

fuse.zap();
assert_eq!(fuse.is_zapped(), true);
assert_eq!(fuse.as_bool(), false);

fuse.zap();
assert_eq!(fuse.as_bool(), false);

let already_zapped = fuse.zap_once();
assert!(already_zapped.is_err());

License

Licensed under either of

at your option.