What's the Rust way of storing fetched data from runtime for later use in the program?
My program is small enough that in TS/JS I'd normally just store the data in some global variable to be access from whatever elsewhere in the app. But with Rust from what I can tell this doesn't seem to be a common practice. How should i handle this?
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.
Using OnceCell for inviting some static resource, like a regex expression. Or for storing something like a internal cache for a function is ok. But I would avoid using it to hold a application wide state that anything can drop in and modify. Passing around application state where it is needed is generally much better and far easier to test things with.