Rust std
modules with impacted functionality:
- arch - SIMD and vendor intrinsics module.
- Technically available but in practice unusable (it is almost entirely
unsafe
)
- Technically available but in practice unusable (it is almost entirely
- backtrace - Support for capturing a stack backtrace of an OS thread
- Backtraces are currently always disabled.
- env - Inspection and manipulation of the process’s environment.
- May panic, return
Err("unsupported operation")
, or have arbitrary results.
- May panic, return
- fs - Filesystem manipulation operations.
- May panic, return
Err("unsupported operation")
, or have arbitrary results (e.g.is_file
always returnsfalse
)
- May panic, return
- io - Traits, helpers, and type definitions for core I/O functionality.
- Works on a case-by-case basis (usable with e.g.
Vec<u8>
, not with files).
- Works on a case-by-case basis (usable with e.g.
- net - Networking primitives for TCP/UDP communication.
- May panic, return
Err("unsupported operation")
, or have arbitrary results.
- May panic, return
- os - OS-specific functionality.
- May panic, return
Err("unsupported operation")
, or have arbitrary results. - Some infrequently used OS-specific submodules with complex APIs we would need to disable are entirely missing (
std::os::unix::net
, for example), although this will hopefully be improved.
- May panic, return
- panic - Panic support in the standard library.
- Some functionality, like changing the panic handler, is unsupported.
- Panic information is not output to stderr (because writing to standard streams is not possible).
- path - Cross-platform path manipulation.
- Path operations that do not rely on the filesystem or current working directory should work.
- process - A module for working with processes.
- May panic, return
Err("unsupported operation")
, or have arbitrary results.
- May panic, return
- ptr - Manually manage memory through raw pointers.
- Technically available but in practice unusable (it is almost entirely
unsafe
)
- Technically available but in practice unusable (it is almost entirely
- sync - "Useful" synchronization primitives.
- Not actually very useful without threading.
- Atomics function as normal, as does Arc. Anything backed by syscalls will fail.
- thread - Native threads.
- May panic, return
Err("unsupported operation")
, or have arbitrary results.
- May panic, return
- time - Temporal quantification.
SystemTime
andInstant
may panic, returnErr("unsupported operation")
, or have arbitrary results.Duration
should be fine.
Other Rust std
modules:
- alloc - Memory allocation APIs.
- any - Utilities for dynamic typing or type reflection.
- array - Utilities for the array primitive type.
- ascii - Operations on ASCII strings and characters.
- borrow - A module for working with borrowed data.
- boxed - The
Box<T>
type for heap allocation. - cell - Shareable mutable containers.
- clone - The Clone trait for types that cannot be ‘implicitly copied’.
- cmp - Utilities for comparing and ordering values.
- collection - Collection types.
- convert - Traits for conversions between types.
- default - The Default trait for types with a default value.
- error - Interfaces for working with Errors.
- ffi - Utilities related to FFI bindings.
- fmt - Utilities for formatting and printing Strings.
- future - Asynchronous basic functionality.
- hash - Generic hashing support.
- hint - Hints to compiler that affects how code should be emitted or optimized. Hints may be compile time or runtime.
- iter - Composable external iteration.
- marker - Primitive traits and types representing basic properties of types.
- mem - Basic functions for dealing with memory.
- num - Additional functionality for numerics.
- ops - Overloadable operators.
- option - Optional values.
- pin - Types that pin data to its location in memory.
- prelude - The Rust Prelude
- primitive - This module reexports the primitive types to allow usage that is not possibly shadowed by other declared types.
- rc - Single-threaded reference-counting pointers. ‘Rc’ stands for ‘Reference Counted’.
- result - Error handling with the Result type.
- slice - Utilities for the slice primitive type.
- str - Utilities for the str primitive type.
- string - A UTF-8–encoded, growable string.
- task - Types and Traits for working with asynchronous tasks.
- vec - A contiguous growable array type with heap-allocated contents, written
Vec<T>
.