I would consider just passing along the data directly to the functions that need access to it, rather than storing in a global state. If passing each piece of data along as separate parameters is a bit much, you can always create structContext { ... } which keeps tracks of whatever you need and pass that around.
Nothing wrong with using OnceCell as @[email protected] suggested, but I’ve found that passing it as an argument feels a bit better.
I would consider just passing along the data directly to the functions that need access to it, rather than storing in a global state. If passing each piece of data along as separate parameters is a bit much, you can always create
struct Context { ... }
which keeps tracks of whatever you need and pass that around.Nothing wrong with using
OnceCell
as @[email protected] suggested, but I’ve found that passing it as an argument feels a bit better.