Crates.io | no_std_io2 |
lib.rs | no_std_io2 |
version | |
source | src |
created_at | 2024-09-02 16:30:28.672605 |
updated_at | 2024-10-12 20:45:16.029881 |
description | The bare essentials of std::io for use in no_std. Alloc support is optional. |
homepage | |
repository | https://github.com/wcampbell0x2a/no-std-io2 |
max_upload_size | |
id | 1360785 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
no-std-io2
is a fork of no-std-io, which is a fork of core2.
Ever wanted a Cursor
or the Error
trait in no_std
? Well now you can have it. A 'fork' of Rust's std
modules for no_std
environments, with the added benefit of optionally taking advantage of alloc
.
The goal of this crate is to provide a stable interface for building I/O and error trait functionality in
no_std
environments. The current code corresponds to the most recent stable API of Rust 1.56.0.
It is also a goal to achieve a true alloc-less experience, with opt-in alloc support.
This crate works on stable
with some limitations in functionality, and nightly
without limitations by adding
the relevant feature flag.
This crate is std
by default -- use no default features to get no_std
mode.
[dependencies]
no_std_io2 = "0.8"
Add the crate, use the things you would usually want from std::io
, but instead from no_std_io2::io
, and
use no_std_io2::error::Error
in place of std::error::Error
.
std
pass-throughs for the polyfilled types, but allows accessing the new typesRead
and Write
traits that require alloc
support (WIP)std::io
std::io::Error
, so we have our own copy without any Os
error functionsIoSlice
and the *_vectored
family of functions are not implemented.BufReader
and BufWriter
have a different signature, as they now use a const generic bounded array for the internal buffer.Other than items perhaps being entirely missing or certain functions unavailable on some traits, no function signatures have been changed.
Error
trait is not implemented for !
because never_type
feature is not yet stabilized.Licensed under either of
at your option.
Almost all of the code in this repository is a copy of the Rust language codebase with minor modifications.
For attributions, see https://thanks.rust-lang.org/.