diff options
| author | bors <bors@rust-lang.org> | 2023-06-18 10:02:56 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-06-18 10:02:56 +0000 |
| commit | 76fb0e38087cb8fcc6de5fe2ce347e939dfdb0bd (patch) | |
| tree | 275264ac3e2c5b1ebed184ca58def3c7b8e6a8e6 /library/std/src | |
| parent | 0c2c243342ec2a2427f0624fac5ac59f0ee6fbcd (diff) | |
| parent | 3436069c3430b15bb10e660d0e66f599dccd068b (diff) | |
| download | rust-76fb0e38087cb8fcc6de5fe2ce347e939dfdb0bd.tar.gz rust-76fb0e38087cb8fcc6de5fe2ce347e939dfdb0bd.zip | |
Auto merge of #112755 - matthiaskrgr:rollup-e4bhbgn, r=matthiaskrgr
Rollup of 5 pull requests Successful merges: - #107200 (io: soften ‘at most one write attempt’ requirement in io::Write::write) - #112667 (Move WF/ConstEvaluatable goal to clause) - #112685 (std: only depend on dlmalloc for wasm*-unknown) - #112722 (bootstrap: check for dry run when copying env vars for msvc) - #112734 (Make `Bound::predicates` use `Clause`) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library/std/src')
| -rw-r--r-- | library/std/src/io/mod.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs index 173233d7150..5c1d2d8f46c 100644 --- a/library/std/src/io/mod.rs +++ b/library/std/src/io/mod.rs @@ -1416,17 +1416,18 @@ pub trait Write { /// /// This function will attempt to write the entire contents of `buf`, but /// the entire write might not succeed, or the write may also generate an - /// error. A call to `write` represents *at most one* attempt to write to + /// error. Typically, a call to `write` represents one attempt to write to /// any wrapped object. /// /// Calls to `write` are not guaranteed to block waiting for data to be /// written, and a write which would otherwise block can be indicated through /// an [`Err`] variant. /// - /// If the return value is [`Ok(n)`] then it must be guaranteed that - /// `n <= buf.len()`. A return value of `0` typically means that the - /// underlying object is no longer able to accept bytes and will likely not - /// be able to in the future as well, or that the buffer provided is empty. + /// If this method consumed `n > 0` bytes of `buf` it must return [`Ok(n)`]. + /// If the return value is `Ok(n)` then `n` must satisfy `n <= buf.len()`. + /// Unless `buf` is empty, this function shouldn’t return `Ok(0)` since the + /// caller may interpret that as an error. To indicate lack of space, + /// implementors should return [`ErrorKind::StorageFull`] error instead. /// /// # Errors /// |
