Document when types have OS-dependent sizes
As per issue #43601, types that can change size depending on the target operating system should say so in their documentation. I used this template when adding doc comments: The size of a(n) <name> struct may vary depending on the target operating system, and may change between Rust releases. For enums, I used "instance" instead of "struct".
This commit is contained in:
@@ -30,18 +30,27 @@ thread_local! {
|
|||||||
///
|
///
|
||||||
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
||||||
/// the `std::io::stdio::stdin_raw` function.
|
/// the `std::io::stdio::stdin_raw` function.
|
||||||
|
///
|
||||||
|
/// The size of a StdinRaw struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
struct StdinRaw(stdio::Stdin);
|
struct StdinRaw(stdio::Stdin);
|
||||||
|
|
||||||
/// A handle to a raw instance of the standard output stream of this process.
|
/// A handle to a raw instance of the standard output stream of this process.
|
||||||
///
|
///
|
||||||
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
||||||
/// the `std::io::stdio::stdout_raw` function.
|
/// the `std::io::stdio::stdout_raw` function.
|
||||||
|
///
|
||||||
|
/// The size of a StdoutRaw struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
struct StdoutRaw(stdio::Stdout);
|
struct StdoutRaw(stdio::Stdout);
|
||||||
|
|
||||||
/// A handle to a raw instance of the standard output stream of this process.
|
/// A handle to a raw instance of the standard output stream of this process.
|
||||||
///
|
///
|
||||||
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
/// This handle is not synchronized or buffered in any fashion. Constructed via
|
||||||
/// the `std::io::stdio::stderr_raw` function.
|
/// the `std::io::stdio::stderr_raw` function.
|
||||||
|
///
|
||||||
|
/// The size of a StderrRaw struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
struct StderrRaw(stdio::Stderr);
|
struct StderrRaw(stdio::Stderr);
|
||||||
|
|
||||||
/// Constructs a new raw handle to the standard input of this process.
|
/// Constructs a new raw handle to the standard input of this process.
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ use slice;
|
|||||||
/// as possibly some version-dependent additional information. See [`SocketAddrV4`]'s and
|
/// as possibly some version-dependent additional information. See [`SocketAddrV4`]'s and
|
||||||
/// [`SocketAddrV6`]'s respective documentation for more details.
|
/// [`SocketAddrV6`]'s respective documentation for more details.
|
||||||
///
|
///
|
||||||
|
/// The size of a SocketAddr instance may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [IP address]: ../../std/net/enum.IpAddr.html
|
/// [IP address]: ../../std/net/enum.IpAddr.html
|
||||||
/// [`SocketAddrV4`]: ../../std/net/struct.SocketAddrV4.html
|
/// [`SocketAddrV4`]: ../../std/net/struct.SocketAddrV4.html
|
||||||
/// [`SocketAddrV6`]: ../../std/net/struct.SocketAddrV6.html
|
/// [`SocketAddrV6`]: ../../std/net/struct.SocketAddrV6.html
|
||||||
@@ -61,6 +64,9 @@ pub enum SocketAddr {
|
|||||||
///
|
///
|
||||||
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
|
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
|
||||||
///
|
///
|
||||||
|
/// The size of a SocketAddrV4 struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [IETF RFC 793]: https://tools.ietf.org/html/rfc793
|
/// [IETF RFC 793]: https://tools.ietf.org/html/rfc793
|
||||||
/// [IPv4 address]: ../../std/net/struct.Ipv4Addr.html
|
/// [IPv4 address]: ../../std/net/struct.Ipv4Addr.html
|
||||||
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
|
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
|
||||||
@@ -88,6 +94,9 @@ pub struct SocketAddrV4 { inner: c::sockaddr_in }
|
|||||||
///
|
///
|
||||||
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
|
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
|
||||||
///
|
///
|
||||||
|
/// The size of a SocketAddrV6 struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [IETF RFC 2553, Section 3.3]: https://tools.ietf.org/html/rfc2553#section-3.3
|
/// [IETF RFC 2553, Section 3.3]: https://tools.ietf.org/html/rfc2553#section-3.3
|
||||||
/// [IPv6 address]: ../../std/net/struct.Ipv6Addr.html
|
/// [IPv6 address]: ../../std/net/struct.Ipv6Addr.html
|
||||||
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
|
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ use sys_common::{AsInner, FromInner};
|
|||||||
/// This enum can contain either an [`Ipv4Addr`] or an [`Ipv6Addr`], see their
|
/// This enum can contain either an [`Ipv4Addr`] or an [`Ipv6Addr`], see their
|
||||||
/// respective documentation for more details.
|
/// respective documentation for more details.
|
||||||
///
|
///
|
||||||
|
/// The size of an IpAddr instance may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [`Ipv4Addr`]: ../../std/net/struct.Ipv4Addr.html
|
/// [`Ipv4Addr`]: ../../std/net/struct.Ipv4Addr.html
|
||||||
/// [`Ipv6Addr`]: ../../std/net/struct.Ipv6Addr.html
|
/// [`Ipv6Addr`]: ../../std/net/struct.Ipv6Addr.html
|
||||||
///
|
///
|
||||||
@@ -61,6 +64,9 @@ pub enum IpAddr {
|
|||||||
///
|
///
|
||||||
/// See [`IpAddr`] for a type encompassing both IPv4 and IPv6 addresses.
|
/// See [`IpAddr`] for a type encompassing both IPv4 and IPv6 addresses.
|
||||||
///
|
///
|
||||||
|
/// The size of an Ipv4Addr struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [IETF RFC 791]: https://tools.ietf.org/html/rfc791
|
/// [IETF RFC 791]: https://tools.ietf.org/html/rfc791
|
||||||
/// [`IpAddr`]: ../../std/net/enum.IpAddr.html
|
/// [`IpAddr`]: ../../std/net/enum.IpAddr.html
|
||||||
///
|
///
|
||||||
@@ -93,6 +99,9 @@ pub struct Ipv4Addr {
|
|||||||
///
|
///
|
||||||
/// See [`IpAddr`] for a type encompassing both IPv4 and IPv6 addresses.
|
/// See [`IpAddr`] for a type encompassing both IPv4 and IPv6 addresses.
|
||||||
///
|
///
|
||||||
|
/// The size of an Ipv6Addr struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [IETF RFC 4291]: https://tools.ietf.org/html/rfc4291
|
/// [IETF RFC 4291]: https://tools.ietf.org/html/rfc4291
|
||||||
/// [`IpAddr`]: ../../std/net/enum.IpAddr.html
|
/// [`IpAddr`]: ../../std/net/enum.IpAddr.html
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ pub use core::time::Duration;
|
|||||||
/// allows measuring the duration between two instants (or comparing two
|
/// allows measuring the duration between two instants (or comparing two
|
||||||
/// instants).
|
/// instants).
|
||||||
///
|
///
|
||||||
|
/// The size of an Instant struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// Example:
|
/// Example:
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
@@ -88,6 +91,9 @@ pub struct Instant(time::Instant);
|
|||||||
/// fixed point in time, a `SystemTime` can be converted to a human-readable time,
|
/// fixed point in time, a `SystemTime` can be converted to a human-readable time,
|
||||||
/// or perhaps some other string representation.
|
/// or perhaps some other string representation.
|
||||||
///
|
///
|
||||||
|
/// The size of a SystemTime struct may vary depending on the target operating
|
||||||
|
/// system, and may change between Rust releases.
|
||||||
|
///
|
||||||
/// [`Instant`]: ../../std/time/struct.Instant.html
|
/// [`Instant`]: ../../std/time/struct.Instant.html
|
||||||
/// [`Result`]: ../../std/result/enum.Result.html
|
/// [`Result`]: ../../std/result/enum.Result.html
|
||||||
/// [`Duration`]: ../../std/time/struct.Duration.html
|
/// [`Duration`]: ../../std/time/struct.Duration.html
|
||||||
|
|||||||
Reference in New Issue
Block a user