Crate std

Source
Expand description

Welcome to stdworld! This crate is an alternative to the Rust std crate, with a focus on use-cases not supported by Rust.

§Motivation: Issues with std

While Rust works fine for a lot of use-cases, there are some use-cases that Rust either neglects, such as code/library unloading, or is actively hostile against, such as signal handling.

This crate provides a library-only approach that addresses those use-cases.

§Structure

This crate is structured in modules analogous to Rust’s own std. However, these are explicitly not drop-in replacements! Many of them differ in safety (often with the stdworld equivalent being safe), but all of them differ in types.

§Stability

This crate is currently unusable.

You can look at the code tho.

§Acknowledgements

This crate was inspired by crates such as qcell and our own selfref. We would also like to thank the various trans developers. Finally, we would like to blame tom7, for getting his PhD in 2008.

Modules§

env
APIs to interact with the program environment.
os
signal
APIs to interact with signal handling.
thread
APIs to interact with threads.

Structs§

MainWorld
The world as seen by an application’s main thread.
ThreadWorld
The world as seen by an application’s other threads.
UnloadableMainWorld
The world as seen by an unloadable plugin running on an application’s main thread.