4 releases
new 0.0.4 | Jan 13, 2025 |
---|---|
0.0.3 | Jan 9, 2025 |
0.0.2 | Dec 27, 2024 |
0.0.1 | Dec 24, 2024 |
0.0.0 |
|
#829 in Rust patterns
558 downloads per month
175KB
3K
SLoC
portable-io
Traits, helpers, and type definitions for core I/O functionality.
A subset from Rust std::io
functionality supported for no-std
.
MSRV:
- stable:
1.81.0
- nightly:
nightly-2022-08-24
NOTE: unstable configuration --cfg portable_io_unstable_all
in Rust flags is required for Rust nightly
pre-2024-06-09
to enable error_in_core
feature directive (stabilized in June 2024).
Features
alloc
(enabled by default) - mandatory feature - for alloc-related functionalityos-error
(unstable feature) - support raw OS errors - with some KNOWN PANICS due to MISSING FUNCTIONALITYunix-iovec
(unstable feature) - useiovec
fromlibc
for data stored in IoSlice & IoSliceMut
CFG options
portable_io_unstable_all
- enable all unstable option(s):- size hint optimization for Read iterator - uses Rust unstable
min_specialization
feature
- size hint optimization for Read iterator - uses Rust unstable
To enable: use --cfg portable_io_unstable_all
in Rust flags, set RUSTFLAGS
env variable
when running cargo build
or cargo test
for example.
major TODO items
- Resolve doc warnings
- Include updates from newer versions of upstream Rust library code
- Include & adapt some more documentation from upstream Rust library code
- Resolve other TODO items in this code
license
MIT or Apache 2.0 license options
NOTE that this code is adapted from Rust std
library code version 1.59.0
(last release version that did not require unstable macro
feature to build error
module)
Dependencies
~105–255KB