Once

Build Status

This #![no_std] crate provides an assert_has_not_been_called! macro that panics if the surrounding function is called twice. Useful for initialization functions.

Documentation

Example

```rust

[macro_use]

extern crate once;

fn init() { asserthasnotbeencalled!("the init function must only be called {}", "once"); }

fn main() { init(); // init(); // "the init function must only be called once" } ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.