Rollup merge of #122276 - RalfJung:io-read, r=Nilstrieb
io::Read trait: make it more clear when we are adressing implementations vs callers Inspired by [this](https://github.com/rust-lang/rust/issues/72186#issuecomment-1987076295) comment. For some reason we only have that `buf` warning in `read` and `read_exact`, even though it affects a bunch of other functions of this trait as well. It doesn't seem worth copy-pasting the same text everywhere though so I did not change this.
This commit is contained in:
commit
0c73b2db41
1 changed files with 7 additions and 10 deletions
|
@ -692,10 +692,9 @@ pub trait Read {
|
|||
/// Callers have to ensure that no unchecked out-of-bounds accesses are possible even if
|
||||
/// `n > buf.len()`.
|
||||
///
|
||||
/// No guarantees are provided about the contents of `buf` when this
|
||||
/// function is called, so implementations cannot rely on any property of the
|
||||
/// contents of `buf` being true. It is recommended that *implementations*
|
||||
/// only write data to `buf` instead of reading its contents.
|
||||
/// *Implementations* of this method can make no assumptions about the contents of `buf` when
|
||||
/// this function is called. It is recommended that implementations only write data to `buf`
|
||||
/// instead of reading its contents.
|
||||
///
|
||||
/// Correspondingly, however, *callers* of this method in unsafe code must not assume
|
||||
/// any guarantees about how the implementation uses `buf`. The trait is safe to implement,
|
||||
|
@ -901,12 +900,10 @@ pub trait Read {
|
|||
/// This function reads as many bytes as necessary to completely fill the
|
||||
/// specified buffer `buf`.
|
||||
///
|
||||
/// No guarantees are provided about the contents of `buf` when this
|
||||
/// function is called, so implementations cannot rely on any property of the
|
||||
/// contents of `buf` being true. It is recommended that implementations
|
||||
/// only write data to `buf` instead of reading its contents. The
|
||||
/// documentation on [`read`] has a more detailed explanation on this
|
||||
/// subject.
|
||||
/// *Implementations* of this method can make no assumptions about the contents of `buf` when
|
||||
/// this function is called. It is recommended that implementations only write data to `buf`
|
||||
/// instead of reading its contents. The documentation on [`read`] has a more detailed
|
||||
/// explanation of this subject.
|
||||
///
|
||||
/// # Errors
|
||||
///
|
||||
|
|
Loading…
Add table
Reference in a new issue