Auto merge of #76235 - jyn514:std-intra-links, r=poliorcetics

Convert many files to intra-doc links

Helps with https://github.com/rust-lang/rust/issues/75080
r? @poliorcetics
I recommend reviewing one commit at a time, but the diff is small enough you can do it all at once if you like :)
This commit is contained in:
bors 2020-09-03 05:53:48 +00:00
commit 08deb863bd
10 changed files with 34 additions and 79 deletions

View File

@ -217,7 +217,7 @@ pub fn new_uninit() -> Box<mem::MaybeUninit<T>> {
/// assert_eq!(*zero, 0)
/// ```
///
/// [zeroed]: ../../std/mem/union.MaybeUninit.html#method.zeroed
/// [zeroed]: mem::MaybeUninit::zeroed
#[unstable(feature = "new_uninit", issue = "63291")]
pub fn new_zeroed() -> Box<mem::MaybeUninit<T>> {
let layout = alloc::Layout::new::<mem::MaybeUninit<T>>();
@ -289,7 +289,7 @@ pub fn new_uninit_slice(len: usize) -> Box<[mem::MaybeUninit<T>]> {
/// assert_eq!(*values, [0, 0, 0])
/// ```
///
/// [zeroed]: ../../std/mem/union.MaybeUninit.html#method.zeroed
/// [zeroed]: mem::MaybeUninit::zeroed
#[unstable(feature = "new_uninit", issue = "63291")]
pub fn new_zeroed_slice(len: usize) -> Box<[mem::MaybeUninit<T>]> {
unsafe { RawVec::with_capacity_zeroed(len).into_box(len) }
@ -307,7 +307,7 @@ impl<T> Box<mem::MaybeUninit<T>> {
/// Calling this when the content is not yet fully initialized
/// causes immediate undefined behavior.
///
/// [`MaybeUninit::assume_init`]: ../../std/mem/union.MaybeUninit.html#method.assume_init
/// [`MaybeUninit::assume_init`]: mem::MaybeUninit::assume_init
///
/// # Examples
///
@ -343,7 +343,7 @@ impl<T> Box<[mem::MaybeUninit<T>]> {
/// Calling this when the content is not yet fully initialized
/// causes immediate undefined behavior.
///
/// [`MaybeUninit::assume_init`]: ../../std/mem/union.MaybeUninit.html#method.assume_init
/// [`MaybeUninit::assume_init`]: mem::MaybeUninit::assume_init
///
/// # Examples
///

View File

@ -376,7 +376,7 @@ pub fn new_uninit() -> Rc<mem::MaybeUninit<T>> {
/// assert_eq!(*zero, 0)
/// ```
///
/// [zeroed]: ../../std/mem/union.MaybeUninit.html#method.zeroed
/// [zeroed]: mem::MaybeUninit::zeroed
#[unstable(feature = "new_uninit", issue = "63291")]
pub fn new_zeroed() -> Rc<mem::MaybeUninit<T>> {
unsafe {
@ -484,7 +484,7 @@ pub fn new_uninit_slice(len: usize) -> Rc<[mem::MaybeUninit<T>]> {
/// assert_eq!(*values, [0, 0, 0])
/// ```
///
/// [zeroed]: ../../std/mem/union.MaybeUninit.html#method.zeroed
/// [zeroed]: mem::MaybeUninit::zeroed
#[unstable(feature = "new_uninit", issue = "63291")]
pub fn new_zeroed_slice(len: usize) -> Rc<[mem::MaybeUninit<T>]> {
unsafe {
@ -511,7 +511,7 @@ impl<T> Rc<mem::MaybeUninit<T>> {
/// Calling this when the content is not yet fully initialized
/// causes immediate undefined behavior.
///
/// [`MaybeUninit::assume_init`]: ../../std/mem/union.MaybeUninit.html#method.assume_init
/// [`MaybeUninit::assume_init`]: mem::MaybeUninit::assume_init
///
/// # Examples
///
@ -550,7 +550,7 @@ impl<T> Rc<[mem::MaybeUninit<T>]> {
/// Calling this when the content is not yet fully initialized
/// causes immediate undefined behavior.
///
/// [`MaybeUninit::assume_init`]: ../../std/mem/union.MaybeUninit.html#method.assume_init
/// [`MaybeUninit::assume_init`]: mem::MaybeUninit::assume_init
///
/// # Examples
///

View File

@ -152,7 +152,7 @@ macro_rules! acquire {
/// [upgrade]: Weak::upgrade
/// [`RefCell<T>`]: core::cell::RefCell
/// [`std::sync`]: ../../std/sync/index.html
/// [`Arc::clone(&from)`]: #method.clone
/// [`Arc::clone(&from)`]: Arc::clone
///
/// # Examples
///
@ -201,7 +201,7 @@ macro_rules! acquire {
/// See the [`rc` documentation][rc_examples] for more examples of reference
/// counting in general.
///
/// [rc_examples]: ../../std/rc/index.html#examples
/// [rc_examples]: crate::rc#examples
#[cfg_attr(not(test), rustc_diagnostic_item = "Arc")]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Arc<T: ?Sized> {

View File

@ -661,7 +661,7 @@ impl<'a, T: ?Sized> Pin<&'a T> {
/// because it is one of the fields of that value), and also that you do
/// not move out of the argument you receive to the interior function.
///
/// [`pin` module]: ../../std/pin/index.html#projections-and-structural-pinning
/// [`pin` module]: self#projections-and-structural-pinning
#[stable(feature = "pin", since = "1.33.0")]
pub unsafe fn map_unchecked<U, F>(self, func: F) -> Pin<&'a U>
where
@ -692,7 +692,7 @@ pub unsafe fn map_unchecked<U, F>(self, func: F) -> Pin<&'a U>
/// the `Pin` itself. This method allows turning the `Pin` into a reference
/// with the same lifetime as the original `Pin`.
///
/// ["pinning projections"]: ../../std/pin/index.html#projections-and-structural-pinning
/// ["pinning projections"]: self#projections-and-structural-pinning
#[stable(feature = "pin", since = "1.33.0")]
#[inline(always)]
pub fn get_ref(self) -> &'a T {
@ -756,7 +756,7 @@ pub unsafe fn get_unchecked_mut(self) -> &'a mut T {
/// because it is one of the fields of that value), and also that you do
/// not move out of the argument you receive to the interior function.
///
/// [`pin` module]: ../../std/pin/index.html#projections-and-structural-pinning
/// [`pin` module]: self#projections-and-structural-pinning
#[stable(feature = "pin", since = "1.33.0")]
pub unsafe fn map_unchecked_mut<U, F>(self, func: F) -> Pin<&'a mut U>
where

View File

@ -70,7 +70,6 @@ pub trait AsciiExt {
/// inherent methods on `u8`, `char`, `[u8]` and `str`.
///
/// [`make_ascii_uppercase`]: AsciiExt::make_ascii_uppercase
/// [`str::to_uppercase`]: ../primitive.str.html#method.to_uppercase
#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
fn to_ascii_uppercase(&self) -> Self::Owned;
@ -91,7 +90,6 @@ pub trait AsciiExt {
/// inherent methods on `u8`, `char`, `[u8]` and `str`.
///
/// [`make_ascii_lowercase`]: AsciiExt::make_ascii_lowercase
/// [`str::to_lowercase`]: ../primitive.str.html#method.to_lowercase
#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
fn to_ascii_lowercase(&self) -> Self::Owned;

View File

@ -553,7 +553,7 @@ pub fn try_clone(&self) -> io::Result<File> {
/// the `SetFileInformationByHandle` function on Windows. Note that, this
/// [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1503,7 +1503,7 @@ fn as_inner(&self) -> &fs_imp::DirEntry {
/// and the `DeleteFile` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1541,7 +1541,7 @@ pub fn remove_file<P: AsRef<Path>>(path: P) -> io::Result<()> {
/// and the `GetFileAttributesEx` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1575,7 +1575,7 @@ pub fn metadata<P: AsRef<Path>>(path: P) -> io::Result<Metadata> {
/// and the `GetFileAttributesEx` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1618,7 +1618,7 @@ pub fn symlink_metadata<P: AsRef<Path>>(path: P) -> io::Result<Metadata> {
///
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1669,7 +1669,7 @@ pub fn rename<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> io::Result<()>
/// `fcopyfile`.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1707,7 +1707,7 @@ pub fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> io::Result<u64> {
/// and the `CreateHardLink` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1772,7 +1772,7 @@ pub fn soft_link<P: AsRef<Path>, Q: AsRef<Path>>(src: P, dst: Q) -> io::Result<(
/// `FILE_FLAG_BACKUP_SEMANTICS` flags on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1812,7 +1812,7 @@ pub fn read_link<P: AsRef<Path>>(path: P) -> io::Result<PathBuf> {
/// with other applications (if passed to the application on the command-line,
/// or written to a file another application may read).
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
/// [path]: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
///
/// # Errors
@ -1846,7 +1846,7 @@ pub fn canonicalize<P: AsRef<Path>>(path: P) -> io::Result<PathBuf> {
/// and the `CreateDirectory` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// **NOTE**: If a parent of the given path doesn't exist, this function will
/// return an error. To create a directory and all its missing parents at the
@ -1887,7 +1887,7 @@ pub fn create_dir<P: AsRef<Path>>(path: P) -> io::Result<()> {
/// and the `CreateDirectory` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1930,7 +1930,7 @@ pub fn create_dir_all<P: AsRef<Path>>(path: P) -> io::Result<()> {
/// and the `RemoveDirectory` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -1970,7 +1970,7 @@ pub fn remove_dir<P: AsRef<Path>>(path: P) -> io::Result<()> {
/// on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///
@ -2006,7 +2006,7 @@ pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> io::Result<()> {
/// currently corresponds to `readdir` on Unix and `FindNextFile` on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// The order in which this iterator returns entries is platform and filesystem
/// dependent.
@ -2075,7 +2075,7 @@ pub fn read_dir<P: AsRef<Path>>(path: P) -> io::Result<ReadDir> {
/// and the `SetFileAttributes` function on Windows.
/// Note that, this [may change in the future][changes].
///
/// [changes]: ../io/index.html#platform-specific-behavior
/// [changes]: io#platform-specific-behavior
///
/// # Errors
///

View File

@ -213,8 +213,6 @@ pub fn set_port(&mut self, new_port: u16) {
///
/// [IP address]: IpAddr
/// [`IPv4` address]: IpAddr::V4
/// [`false`]: ../../std/primitive.bool.html
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
@ -235,8 +233,6 @@ pub fn is_ipv4(&self) -> bool {
///
/// [IP address]: IpAddr
/// [`IPv6` address]: IpAddr::V6
/// [`false`]: ../../std/primitive.bool.html
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///

View File

@ -140,8 +140,6 @@ impl IpAddr {
/// See the documentation for [`Ipv4Addr::is_unspecified()`] and
/// [`Ipv6Addr::is_unspecified()`] for more details.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -163,8 +161,6 @@ pub fn is_unspecified(&self) -> bool {
/// See the documentation for [`Ipv4Addr::is_loopback()`] and
/// [`Ipv6Addr::is_loopback()`] for more details.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -186,8 +182,6 @@ pub fn is_loopback(&self) -> bool {
/// See the documentation for [`Ipv4Addr::is_global()`] and
/// [`Ipv6Addr::is_global()`] for more details.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -210,8 +204,6 @@ pub fn is_global(&self) -> bool {
/// See the documentation for [`Ipv4Addr::is_multicast()`] and
/// [`Ipv6Addr::is_multicast()`] for more details.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -233,8 +225,6 @@ pub fn is_multicast(&self) -> bool {
/// See the documentation for [`Ipv4Addr::is_documentation()`] and
/// [`Ipv6Addr::is_documentation()`] for more details.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -258,8 +248,6 @@ pub fn is_documentation(&self) -> bool {
/// Returns [`true`] if this address is an [`IPv4` address], and [`false`]
/// otherwise.
///
/// [`true`]: ../../std/primitive.bool.html
/// [`false`]: ../../std/primitive.bool.html
/// [`IPv4` address]: IpAddr::V4
///
/// # Examples
@ -278,8 +266,6 @@ pub fn is_ipv4(&self) -> bool {
/// Returns [`true`] if this address is an [`IPv6` address], and [`false`]
/// otherwise.
///
/// [`true`]: ../../std/primitive.bool.html
/// [`false`]: ../../std/primitive.bool.html
/// [`IPv6` address]: IpAddr::V6
///
/// # Examples
@ -377,7 +363,6 @@ pub const fn new(a: u8, b: u8, c: u8, d: u8) -> Ipv4Addr {
/// This property is defined in _UNIX Network Programming, Second Edition_,
/// W. Richard Stevens, p. 891; see also [ip7].
///
/// [`true`]: ../../std/primitive.bool.html
/// [ip7]: http://man7.org/linux/man-pages/man7/ip.7.html
///
/// # Examples
@ -398,7 +383,6 @@ pub const fn is_unspecified(&self) -> bool {
///
/// This property is defined by [IETF RFC 1122].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 1122]: https://tools.ietf.org/html/rfc1122
///
/// # Examples
@ -423,7 +407,6 @@ pub const fn is_loopback(&self) -> bool {
/// - 172.16.0.0/12
/// - 192.168.0.0/16
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 1918]: https://tools.ietf.org/html/rfc1918
///
/// # Examples
@ -454,7 +437,6 @@ pub const fn is_private(&self) -> bool {
///
/// This property is defined by [IETF RFC 3927].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 3927]: https://tools.ietf.org/html/rfc3927
///
/// # Examples
@ -494,8 +476,6 @@ pub const fn is_link_local(&self) -> bool {
/// - addresses reserved for networking devices benchmarking (see
/// [`Ipv4Addr::is_benchmarking()`])
///
/// [`true`]: ../../std/primitive.bool.html
/// [`false`]: ../../std/primitive.bool.html
/// [ipv4-sr]: https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
///
/// # Examples
@ -571,7 +551,6 @@ pub const fn is_global(&self) -> bool {
/// Returns [`true`] if this address is part of the Shared Address Space defined in
/// [IETF RFC 6598] (`100.64.0.0/10`).
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 6598]: https://tools.ietf.org/html/rfc6598
///
/// # Examples
@ -598,7 +577,6 @@ pub const fn is_shared(&self) -> bool {
/// - `192.0.0.9/32` is the "Port Control Protocol Anycast" (see [IETF RFC 7723])
/// - `192.0.0.10/32` is used for NAT traversal (see [IETF RFC 8155])
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 6890]: https://tools.ietf.org/html/rfc6890
/// [IETF RFC 7600]: https://tools.ietf.org/html/rfc7600
/// [IETF RFC 7723]: https://tools.ietf.org/html/rfc7723
@ -626,7 +604,6 @@ pub const fn is_ietf_protocol_assignment(&self) -> bool {
/// network devices benchmarking. This range is defined in [IETF RFC 2544] as `192.18.0.0`
/// through `198.19.255.255` but [errata 423] corrects it to `198.18.0.0/15`.
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 2544]: https://tools.ietf.org/html/rfc2544
/// [errata 423]: https://www.rfc-editor.org/errata/eid423
///
@ -651,7 +628,6 @@ pub const fn is_benchmarking(&self) -> bool {
/// broadcast address `255.255.255.255`, but this implementation explicitly excludes it, since
/// it is obviously not reserved for future use.
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 1112]: https://tools.ietf.org/html/rfc1112
///
/// # Warning
@ -684,7 +660,6 @@ pub const fn is_reserved(&self) -> bool {
/// Multicast addresses have a most significant octet between 224 and 239,
/// and is defined by [IETF RFC 5771].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 5771]: https://tools.ietf.org/html/rfc5771
///
/// # Examples
@ -706,7 +681,6 @@ pub const fn is_multicast(&self) -> bool {
///
/// A broadcast address has all octets set to 255 as defined in [IETF RFC 919].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 919]: https://tools.ietf.org/html/rfc919
///
/// # Examples
@ -731,7 +705,6 @@ pub const fn is_broadcast(&self) -> bool {
/// - 198.51.100.0/24 (TEST-NET-2)
/// - 203.0.113.0/24 (TEST-NET-3)
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 5737]: https://tools.ietf.org/html/rfc5737
///
/// # Examples
@ -1148,7 +1121,6 @@ pub const fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16)
///
/// This property is defined in [IETF RFC 4291].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 4291]: https://tools.ietf.org/html/rfc4291
///
/// # Examples
@ -1169,7 +1141,6 @@ pub const fn is_unspecified(&self) -> bool {
///
/// This property is defined in [IETF RFC 4291].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 4291]: https://tools.ietf.org/html/rfc4291
///
/// # Examples
@ -1194,9 +1165,6 @@ pub const fn is_loopback(&self) -> bool {
/// - link-local and unique local unicast addresses
/// - interface-, link-, realm-, admin- and site-local multicast addresses
///
/// [`true`]: ../../std/primitive.bool.html
/// [`false`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -1223,8 +1191,6 @@ pub const fn is_global(&self) -> bool {
///
/// [IETF RFC 4193]: https://tools.ietf.org/html/rfc4193
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -1257,8 +1223,6 @@ pub const fn is_unique_local(&self) -> bool {
/// addresses such as `fe80:0:0:1::` or `fe81::` as unicast link-local addresses for example.
/// If you need a less strict validation use [`Ipv6Addr::is_unicast_link_local()`] instead.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -1317,8 +1281,6 @@ pub const fn is_unicast_link_local_strict(&self) -> bool {
/// If you need a strict validation fully compliant with the RFC, use
/// [`Ipv6Addr::is_unicast_link_local_strict()`] instead.
///
/// [`true`]: ../../std/primitive.bool.html
///
/// # Examples
///
/// ```
@ -1365,7 +1327,6 @@ pub const fn is_unicast_link_local(&self) -> bool {
/// +----------+-------------------------+----------------------------+
/// ```
///
/// [`true`]: ../../std/primitive.bool.html
/// [RFC 4291 section 2.5.7]: https://tools.ietf.org/html/rfc4291#section-2.5.7
///
/// # Examples
@ -1399,7 +1360,6 @@ pub const fn is_unicast_site_local(&self) -> bool {
///
/// This property is defined in [IETF RFC 3849].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 3849]: https://tools.ietf.org/html/rfc3849
///
/// # Examples
@ -1435,7 +1395,6 @@ pub const fn is_documentation(&self) -> bool {
/// Global Unicast).
/// ```
///
/// [`true`]: ../../std/primitive.bool.html
/// [RFC 4291 section 2.5.7]: https://tools.ietf.org/html/rfc4291#section-2.5.7
///
/// # Examples
@ -1495,7 +1454,6 @@ pub const fn multicast_scope(&self) -> Option<Ipv6MulticastScope> {
///
/// This property is defined by [IETF RFC 4291].
///
/// [`true`]: ../../std/primitive.bool.html
/// [IETF RFC 4291]: https://tools.ietf.org/html/rfc4291
///
/// # Examples

View File

@ -75,7 +75,7 @@
//! [`std::result`]: crate::result
//! [`std::slice`]: crate::slice
//! [`std::string`]: crate::string
//! [`std::vec`]: ../vec/index.html
//! [`std::vec`]: mod@crate::vec
//! [`to_owned`]: crate::borrow::ToOwned::to_owned
//! [book-closures]: ../../book/ch13-01-closures.html
//! [book-dtor]: ../../book/ch15-03-drop.html

View File

@ -8,6 +8,9 @@
use crate::sys;
use crate::sys::platform::fs::MetadataExt as UnixMetadataExt;
use crate::sys_common::{AsInner, AsInnerMut, FromInner};
// Used for `File::read` on intra-doc links
#[allow(unused_imports)]
use io::{Read, Write};
/// Unix-specific extensions to [`fs::File`].
#[stable(feature = "file_offset", since = "1.15.0")]
@ -24,7 +27,7 @@ pub trait FileExt {
/// Note that similar to [`File::read`], it is not an error to return with a
/// short read.
///
/// [`File::read`]: ../../../../std/fs/struct.File.html#method.read
/// [`File::read`]: fs::File::read
///
/// # Examples
///
@ -127,7 +130,7 @@ fn read_exact_at(&self, mut buf: &mut [u8], mut offset: u64) -> io::Result<()> {
/// Note that similar to [`File::write`], it is not an error to return a
/// short write.
///
/// [`File::write`]: ../../../../std/fs/struct.File.html#method.write
/// [`File::write`]: fs::File::write
///
/// # Examples
///