Macro zng_unique_id::hot_static

source ·
macro_rules! hot_static {
    (
        static $IDENT:ident: $Ty:ty = $init:expr;
    ) => { ... };
}
Expand description

Declares a patchable static.

In builds with Cargo feature hot_reload this generates an unsafe static double reference that can be addressed by name and patched in a dynamically loaded build of the exact same crate.

Use hot_static_ref! to safely reference the static, attempting to access the variable in any other way is undefined behavior.

Note that you can only declare private static items, this is by design, you can share the hot_static_ref! output at a higher visibility.

See zng::hot_reload for more details and links to the full API. This macro is declared on the zng-unique-id crate only to avoid circular dependencies in the Zng workspace.