#core #no-std #io #read #write

nightly no-std core_io

This is a copy of libstd::io with all the parts that don’t work in core removed. Most importantly, it provides the Read and Write traits. This crate is (mostly) automatically generated from the rust git source. The version of the source that corresponds to your compiler version will be selected automatically by the build script.

10 releases

Uses old Rust 2015

0.1.20210325 Mar 30, 2021
0.1.20190701 Jul 1, 2019
0.1.20190427 Apr 28, 2019
0.1.20180307 Mar 8, 2018
0.1.20160710 Jul 10, 2016

#10 in #core

Download history 95/week @ 2021-08-10 106/week @ 2021-08-17 109/week @ 2021-08-24 58/week @ 2021-08-31 73/week @ 2021-09-07 84/week @ 2021-09-14 87/week @ 2021-09-21 57/week @ 2021-09-28 61/week @ 2021-10-05 57/week @ 2021-10-12 30/week @ 2021-10-19 25/week @ 2021-10-26 67/week @ 2021-11-02 41/week @ 2021-11-09 62/week @ 2021-11-16 50/week @ 2021-11-23

222 downloads per month
Used in 11 crates (9 directly)

MIT/Apache

45MB
660K SLoC

core_io

Build Status

std::io with all the parts that don't work in core removed.

Adding new nightly versions

First, make sure the commit you want to add is fetch in the git tree at /your/rust/dir/.git. Then, import the right source files:

$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./build-src.sh

Instead of echoing in the commit IDs, you might pipe in rustc-commit-db list-valid.

The build-src script will prompt you to create patches for new commits. You will be dropped in a shell prompt with a temporary new, clean, git repository just for this patch. Make any changes necessary to make it build. Don't commit any changes! When exiting the shell and the script will use the working tree diff as the patch. The temporary git repository will be deleted. Before dropping into the shell, the script will show you nearby commits, you can try to apply $PATCH_DIR/that_commit.patch and see if it works for you.

Publishing

$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./build-src.sh publish

Again, instead of echoing in the commit IDs, you might pipe in rustc-commit-db list-valid.

Editing patches

To edit all patches, again make a checkout of the rust source. Then, run:

$ GIT_DIR=/your/rust/dir/.git ./edit-patches.sh

The script will prompt you to make changes. You will be dropped in a shell prompt with a temporary new, clean, git repository just for this patch edit. The original patch will be the HEAD commit in the repository. Make any changes you want. Don't commit any changes! When exiting the shell and the script will use the diff between the working tree and the root commit as the patch. The temporary git repository will be deleted. When editing further commits, the previous patch changes will already be applied to the working tree (if succesful).

No runtime deps