about summary refs log tree commit diff
path: root/src/libstd/io
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2020-01-28 17:22:38 -0800
committerJosh Triplett <josh@joshtriplett.org>2020-01-28 17:22:38 -0800
commit9bb2a50e04460fff646830502d575b82dbf17055 (patch)
tree7102f5b437768adfcc18ab2b0c16fa7a5ce18c3a /src/libstd/io
parent3761dcd3467441f78939ccb3b341b03b6a7558d7 (diff)
downloadrust-9bb2a50e04460fff646830502d575b82dbf17055.tar.gz
rust-9bb2a50e04460fff646830502d575b82dbf17055.zip
Document that write_all will not call write if given an empty buffer
Some types of Write instances have a semantic meaning associated with
writing an empty buffer, such as sending an empty packet. This works
when calling `write` directly, and supplying an empty buffer. However,
calling `write_all` on an empty buffer will simply never call `write`,
because `write_all` assumes it has no work to do.

Document this behavior, to help prospective users of
datagram-packet-style Write instances.
Diffstat (limited to 'src/libstd/io')
-rw-r--r--src/libstd/io/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs
index 95c8934b3d6..67b382c7a84 100644
--- a/src/libstd/io/mod.rs
+++ b/src/libstd/io/mod.rs
@@ -1327,6 +1327,8 @@ pub trait Write {
     /// not of [`ErrorKind::Interrupted`] kind generated from this method will be
     /// returned.
     ///
+    /// If the buffer contains no data, this will never call [`write`].
+    ///
     /// # Errors
     ///
     /// This function will return the first error of