static_init 0.5.2

Code execution during program initialization/termination phases and non const static initialization (and drop)
Documentation
[package]
name = "static_init"
version = "0.5.2"
authors = ["Olivier Kannengieser <okannen@gmail.com>"]
edition = "2018"
description = "Code execution during program initialization/termination phases and non const static initialization (and drop)"
keywords = ["no_std","optimization","static","preformance","constructor"]
categories = ["no-std","rust-patterns","memory-management"]
repository = "https://gitlab.com/okannen/static_init"
license = "MIT OR Apache-2.0"

[workspace]
members = [
      "static_init_macro",
      ]

[features]

# for non thread local lesser lazy statics => requires std library
lazy = ["static_init_macro/lazy", "parking_lot"]

# for drops registered with at exit
atexit = ["static_init_macro/atexit", "libc"]

# for detection of lazy static cyclic initialization 
# and detection of dynamic statics access while not initialized
debug_order = ["static_init_macro/debug_order"]

# for thread local lazy static drop capability => requires std library
thread_local_drop = ["static_init_macro/thread_local_drop"]

# internal feature to enable tests
test_thread_local = []
test_no_global_lazy_hint = []


default = ["lazy", "atexit", "thread_local_drop"]

[dependencies]
libc = {version = "0.2", optional=true}
parking_lot = {version = "0.11", optional=true}

[dependencies.static_init_macro]
version="0.5.0"
path="static_init_macro"

[dev-dependencies]
lazy_static = "1.4"
ctor = "0.1"
libc = "0.2"

[build-dependencies]
cfg_aliases = "0.1"

[profile.bench]
lto = true

[profile.dev]
panic="abort"