#bind #contextual #value #macro #deeply #threadlocals

已删除 rust-context

一个用于使用 threadlocals 深度绑定上下文值的宏

0.1.0 2023年7月4日

#10#contextual

MIT 许可证

5KB
99

rust-deep-bind

rust-deep-bind 帮助您将值绑定到您调用的任何函数,而无需显式通过参数传递。

您可能使用此功能来保留配置、请求或操作ID,或任何您希望使用单例但担心全局状态带来的所有问题的东西。

示例

contextual!{
    MyCounter(MY_COUNTER): u32 = 0
}

println!("{}", MyCounter::clone()); /// 0
MyCounter::replace_within(1, || {
    println!("{}", MyCounter::clone()); /// 1
});
println!("{}", MyCounter::clone()); /// 0

无运行时依赖