| Crates.io | std-shims |
| lib.rs | std-shims |
| version | 0.2.0 |
| created_at | 2023-04-22 08:42:21.45503+00 |
| updated_at | 2025-09-18 20:33:43.329974+00 |
| description | A series of std shims to make alloc more feasible |
| homepage | |
| repository | https://github.com/serai-dex/serai/tree/develop/common/std-shims |
| max_upload_size | |
| id | 845881 |
| size | 13,452 |
std shimsstd-shims is a Rust crate with two purposes:
core and allocThe goal is to make supporting no-std environments, and older versions of
Rust, as simple as possible. For most use cases, replacing std:: with
std_shims:: and adding use std_shims::prelude::* is sufficient to take full
advantage of std-shims.
std-shims only aims to have items mutually available between alloc (with
extra dependencies) and std publicly exposed. Items exclusive to std, with
no shims available, will not be exported by std-shims.
HashSet and HashMap are provided via hashbrown. Synchronization
primitives are provided via spin (avoiding a requirement on
critical-section). Sections of std::io are independently matched as
possible. rustversion is used to detect when to provide polyfills.
No guarantee of one-to-one parity is provided. The shims provided aim to be sufficient for the average case. Pull requests are welcome.