rust/library/std/src/io
bors e50ff9b452 Auto merge of #95241 - Gankra:cleaned-provenance, r=workingjubilee
Strict Provenance MVP

This patch series examines the question: how bad would it be if we adopted
an extremely strict pointer provenance model that completely banished all
int<->ptr casts.

The key insight to making this approach even *vaguely* pallatable is the

ptr.with_addr(addr) -> ptr

function, which takes a pointer and an address and creates a new pointer
with that address and the provenance of the input pointer. In this way
the "chain of custody" is completely and dynamically restored, making the
model suitable even for dynamic checkers like CHERI and Miri.

This is not a formal model, but lots of the docs discussing the model
have been updated to try to the *concept* of this design in the hopes
that it can be iterated on.

See #95228
2022-03-30 10:09:10 +00:00
..
buffered Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
cursor impl Write for Cursor<[u8; N]> 2022-01-19 15:57:40 -08:00
error cleanup some of the less terrifying library code 2022-03-29 20:18:27 -04:00
impls std: move "mod tests/benches" to separate files 2020-08-31 02:56:59 +00:00
readbuf implement review suggestions 2021-11-02 22:47:28 -07:00
stdio Make default stdio lock() return 'static handles 2022-02-13 10:23:16 -05:00
util read_buf 2021-11-02 22:47:20 -07:00
copy.rs Warn that platform-specific behavior may change 2022-03-29 19:49:15 -07:00
cursor.rs Rollup merge of #92663 - cuviper:generic-write-cursor, r=dtolnay 2022-03-19 02:02:00 +01:00
error.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
impls.rs Hide Repr details from io::Error, and rework io::Error::new_const. 2022-02-04 18:47:29 -08:00
mod.rs changed wording 2022-03-16 03:04:40 +01:00
prelude.rs Use heading for std::prelude and not io::prelude 2021-01-05 17:52:24 -08:00
readbuf.rs fix typo: intialized -> initialized 2021-12-26 18:37:11 -08:00
stdio.rs Rollup merge of #93263 - sunfishcode:sunfishcode/detatched-console-handle, r=dtolnay 2022-03-19 02:02:01 +01:00
tests.rs Hide Repr details from io::Error, and rework io::Error::new_const. 2022-02-04 18:47:29 -08:00
util.rs add safety comments 2021-11-02 22:47:26 -07:00