crates.io docs.rs license

lazy_fn

lazy_static for functions!

Makes the attributed function "lazy"; it will only be evaluated once and the result will be cached and thus returned as a static reference.

Usage

In your Cargo.toml:

toml [dependencies] lazy_fn = "1" lazy_static = "1"

In your code:

```rust

[macrouse] extern crate lazyfn;

[lazy_fn]

fn maths() -> i32 { 9 + 10 }

[lazy_fn]

fn hello_world() -> &'static str { "hello, world!" }

[lazy_fn]

fn hello_fmt() -> String { format!("hello, {}!", "world") }

let maths: &'static i32 = maths(); let helloworld: &'static str = helloworld(); let hellofmt: &'static String = hellofmt(); ```