rust-bitcoin-unsafe-fast/io
merge-script 4dd86ad40b
Merge rust-bitcoin/rust-bitcoin#3916: io: Remove the `impl_write` macro
280eb2239a io: Remove the impl_write macro (Tobin C. Harding)

Pull request description:

  We have found calling macros from other crates to be error prone, especially when they involve feature gates. Furthermore the `impl_write` macro is trivial to write, users can just write it in the crate that needs it.

  Lets just remove the macro. While we are at it point users to the examples in `bitcoin/examples/io.rs` for usage of the `io` crate.

  Close: #3872

ACKs for top commit:
  Kixunil:
    ACK 280eb2239a
  apoelstra:
    ACK 280eb2239a2fcaa83a35ae6fb1ce62fe35a1e222; successfully ran local tests

Tree-SHA512: 62766ff6e4b5f3fae2d6214e87bd90c15b3103248effd4399a070ac831473b0288e599eed2377c08d2b7eca263220f172c8399a607756793477f82d3dc8f1b67
2025-03-26 13:49:58 +00:00
..
contrib Invert dependency between io and hashes 2025-02-11 09:17:21 +11:00
src Merge rust-bitcoin/rust-bitcoin#3916: io: Remove the `impl_write` macro 2025-03-26 13:49:58 +00:00
tests Make io::Error Sync 2025-01-21 10:01:30 +11:00
CHANGELOG.md Bump version of bitcoin-io to 0.2.0 2024-10-02 09:47:10 +10:00
Cargo.toml Add hashes to io dev-depencies and require hex 2025-02-14 15:21:41 +00:00
README.md Change all occurrences of "IO" to "I/O" 2025-01-07 12:37:47 +00:00

README.md

Rust-Bitcoin I/O Library

The std::io module is not exposed in no-std Rust so building no-std applications which require reading and writing objects via standard traits is not generally possible. Thus, this library exists to export a minimal version of std::io's traits which we use in rust-bitcoin so that we can support no-std applications.

These traits are not one-for-one drop-ins, but are as close as possible while still implementing std::io's traits without unnecessary complexity.