type_cell 0.3.4

Attach values statically to a type using static get/set methods.
Documentation
use type_cell::*;
use std::collections::HashMap as TyMap;

tycell!{
    {u8} [con=8] [once] [lazy{8}] [mut oncem] [mut lazym{8}]
    {u32} [once.clone()] [lazy.clone()->u32{8u32}] [mut oncem.clone()->u32] [mut lazym.clone()->u32{8u32}] [mut lazym2 {8u32}.clone()->u32 ]
    {u16>u8} [once<u8>] [lazy<u8>{[(5,100)]}] [mut oncem<u8>] [mut lazym<u8>{[(1,200)]}] [mut lazyv<>{[200]}]
    {!!!!Vec<Vec<Vec<Vec<bool>>>>} [lazy<u8>{[(0,vec![vec![vec![vec![true]]]])]}]
}

fn main () {

    println!("{}",u8::con());

    u8::set_once(8);
    println!("{}",u8::once());
    println!("{}",u8::lazy());

    u8::set_oncem(8);
    println!("{}",u8::oncem());
    println!("{}",u8::lazym());
    *u8::lazym() = 100;
    println!("{}",u8::lazym());

    println!("{}",u16::lazy(&5));
    println!("{}",u16::lazym(&1));

    println!("{}",u16::lazyv(0));

    println!("{}",bool::lazy(&0)[0][0][0][0]);

}