about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-06-18 10:02:56 +0000
committerbors <bors@rust-lang.org>2023-06-18 10:02:56 +0000
commit76fb0e38087cb8fcc6de5fe2ce347e939dfdb0bd (patch)
tree275264ac3e2c5b1ebed184ca58def3c7b8e6a8e6 /library/std/src
parent0c2c243342ec2a2427f0624fac5ac59f0ee6fbcd (diff)
parent3436069c3430b15bb10e660d0e66f599dccd068b (diff)
downloadrust-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.rs11
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
     ///