Rollup merge of #125342 - tbu-:pr_doc_write, r=ChrisDenton · model-checking/verify-rust-std@8883bcf (original) (raw)
`@@ -767,11 +767,33 @@ fn buffer_capacity_required(mut file: &File) -> Option {
`
767
767
``
768
768
`#[stable(feature = "rust1", since = "1.0.0")]
`
769
769
`impl Read for &File {
`
``
770
`+
/// Read some bytes from the file.
`
``
771
`+
///
`
``
772
`` +
/// See [Read::read
] docs for more info.
``
``
773
`+
///
`
``
774
`+
/// # Platform-specific behavior
`
``
775
`+
///
`
``
776
`` +
/// This function currently corresponds to the read
function on Unix and
``
``
777
`` +
/// the NtReadFile
function on Windows. Note that this [may change in
``
``
778
`+
/// the future][changes].
`
``
779
`+
///
`
``
780
`+
/// [changes]: io#platform-specific-behavior
`
770
781
`#[inline]
`
771
782
`fn read(&mut self, buf: &mut [u8]) -> io::Result {
`
772
783
`self.inner.read(buf)
`
773
784
`}
`
774
785
``
``
786
`` +
/// Like read
, except that it reads into a slice of buffers.
``
``
787
`+
///
`
``
788
`` +
/// See [Read::read_vectored
] docs for more info.
``
``
789
`+
///
`
``
790
`+
/// # Platform-specific behavior
`
``
791
`+
///
`
``
792
`` +
/// This function currently corresponds to the readv
function on Unix and
``
``
793
`` +
/// falls back to the read
implementation on Windows. Note that this
``
``
794
`+
/// [may change in the future][changes].
`
``
795
`+
///
`
``
796
`+
/// [changes]: io#platform-specific-behavior
`
775
797
`#[inline]
`
776
798
`fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> io::Result {
`
777
799
`self.inner.read_vectored(bufs)
`
`@@ -782,6 +804,16 @@ impl Read for &File {
`
782
804
`self.inner.read_buf(cursor)
`
783
805
`}
`
784
806
``
``
807
`` +
/// Determines if File
has an efficient read_vectored
implementation.
``
``
808
`+
///
`
``
809
`` +
/// See [Read::is_read_vectored
] docs for more info.
``
``
810
`+
///
`
``
811
`+
/// # Platform-specific behavior
`
``
812
`+
///
`
``
813
`` +
/// This function currently returns true
on Unix an false
on Windows.
``
``
814
`+
/// Note that this [may change in the future][changes].
`
``
815
`+
///
`
``
816
`+
/// [changes]: io#platform-specific-behavior
`
785
817
`#[inline]
`
786
818
`fn is_read_vectored(&self) -> bool {
`
787
819
`self.inner.is_read_vectored()
`
`@@ -803,19 +835,63 @@ impl Read for &File {
`
803
835
`}
`
804
836
`#[stable(feature = "rust1", since = "1.0.0")]
`
805
837
`impl Write for &File {
`
``
838
`+
/// Write some bytes from the file.
`
``
839
`+
///
`
``
840
`` +
/// See [Write::write
] docs for more info.
``
``
841
`+
///
`
``
842
`+
/// # Platform-specific behavior
`
``
843
`+
///
`
``
844
`` +
/// This function currently corresponds to the write
function on Unix and
``
``
845
`` +
/// the NtWriteFile
function on Windows. Note that this [may change in
``
``
846
`+
/// the future][changes].
`
``
847
`+
///
`
``
848
`+
/// [changes]: io#platform-specific-behavior
`
806
849
`fn write(&mut self, buf: &[u8]) -> io::Result {
`
807
850
`self.inner.write(buf)
`
808
851
`}
`
809
852
``
``
853
`` +
/// Like write
, except that it writes into a slice of buffers.
``
``
854
`+
///
`
``
855
`` +
/// See [Write::write_vectored
] docs for more info.
``
``
856
`+
///
`
``
857
`+
/// # Platform-specific behavior
`
``
858
`+
///
`
``
859
`` +
/// This function currently corresponds to the writev
function on Unix
``
``
860
`` +
/// and falls back to the write
implementation on Windows. Note that this
``
``
861
`+
/// [may change in the future][changes].
`
``
862
`+
///
`
``
863
`+
/// [changes]: io#platform-specific-behavior
`
810
864
`fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> io::Result {
`
811
865
`self.inner.write_vectored(bufs)
`
812
866
`}
`
813
867
``
``
868
`` +
/// Determines if File
has an efficient write_vectored
implementation.
``
``
869
`+
///
`
``
870
`` +
/// See [Write::is_write_vectored
] docs for more info.
``
``
871
`+
///
`
``
872
`+
/// # Platform-specific behavior
`
``
873
`+
///
`
``
874
`` +
/// This function currently returns true
on Unix an false
on Windows.
``
``
875
`+
/// Note that this [may change in the future][changes].
`
``
876
`+
///
`
``
877
`+
/// [changes]: io#platform-specific-behavior
`
814
878
`#[inline]
`
815
879
`fn is_write_vectored(&self) -> bool {
`
816
880
`self.inner.is_write_vectored()
`
817
881
`}
`
818
882
``
``
883
`+
/// Flushes the file, ensuring that all intermediately buffered contents
`
``
884
`+
/// reach their destination.
`
``
885
`+
///
`
``
886
`` +
/// See [Write::flush
] docs for more info.
``
``
887
`+
///
`
``
888
`+
/// # Platform-specific behavior
`
``
889
`+
///
`
``
890
`` +
/// Since a File
structure doesn't contain any buffers, this function is
``
``
891
`+
/// currently a no-op on Unix and Windows. Note that this [may change in
`
``
892
`+
/// the future][changes].
`
``
893
`+
///
`
``
894
`+
/// [changes]: io#platform-specific-behavior
`
819
895
`#[inline]
`
820
896
`fn flush(&mut self) -> io::Result<()> {
`
821
897
`self.inner.flush()
`