Crates.io | department |
lib.rs | department |
version | 0.2.6 |
source | src |
created_at | 2021-08-27 20:11:58.764051 |
updated_at | 2024-09-08 07:07:49.324654 |
description | Implementation of the proposed Storages API |
homepage | |
repository | https://github.com/CraftSpider/department |
max_upload_size | |
id | 443239 |
size | 191,975 |
A Rust library hosting a possible implementation of the proposed Storages API,
as well as several of the standard std
collections implemented with it.
Inspired by storage-poc, re-implemented and built upon to provide (hopefully) release-ready functionality.
By default, all features are turned on - but they can be disabled if you only want specific storages and collections
std
: Whether to include std error support and other std-only featuresall_storages
: Enable all storage features
inline
: Inline on-the-stack storagesheap
: Virtual heap-like storage, can be used on the stack or in a staticstatic
: Storages backed by static memory, stored in the binaryalloc
: Storages backed by a standard allocator. Requires the alloc
crate to be availablefallback
: Storage which attempts to store something in one, then falls back to a second storagedebug
: Storage which wraps another, and provides a number of runtime checks which panic on certain forms of
UB or incorrect usages.all_collections
: Enable all collection types
box
: Include the Box
typerc
: Include the Rc
and Weak
typesvec
: Include the Vec
typestring
: Include the String
type, requires vec
In the future, more types of storages and collections need to be added, hopefully
up to std
parity. Tests should be added for all storage types, with coverage for most
edge cases (ZST, alignment requirements, etc).
btree
, an implementation of a BTreeMap
and BTreeSet
hash
, an implementation of a HashMap
and HashSet
arc
, implementation for atomically ref-counted itemsos/path
, implementations of OsString
and PathBuf