mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-14 21:16:50 +00:00
update various stdlib docs
This commit is contained in:
parent
57b7d55591
commit
d7b3f5c6ae
@ -43,8 +43,8 @@
|
||||
//!
|
||||
//! `Rc<T>` automatically dereferences to `T` (via the [`Deref`] trait),
|
||||
//! so you can call `T`'s methods on a value of type [`Rc<T>`][`Rc`]. To avoid name
|
||||
//! clashes with `T`'s methods, the methods of [`Rc<T>`][`Rc`] itself are [associated
|
||||
//! functions][assoc], called using function-like syntax:
|
||||
//! clashes with `T`'s methods, the methods of [`Rc<T>`][`Rc`] itself are associated
|
||||
//! functions, called using function-like syntax:
|
||||
//!
|
||||
//! ```
|
||||
//! use std::rc::Rc;
|
||||
@ -234,7 +234,6 @@
|
||||
//! [downgrade]: struct.Rc.html#method.downgrade
|
||||
//! [upgrade]: struct.Weak.html#method.upgrade
|
||||
//! [`None`]: ../../std/option/enum.Option.html#variant.None
|
||||
//! [assoc]: ../../book/first-edition/method-syntax.html#associated-functions
|
||||
//! [mutability]: ../../std/cell/index.html#introducing-mutability-inside-of-something-immutable
|
||||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
@ -120,8 +120,8 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
|
||||
///
|
||||
/// `Arc<T>` automatically dereferences to `T` (via the [`Deref`][deref] trait),
|
||||
/// so you can call `T`'s methods on a value of type `Arc<T>`. To avoid name
|
||||
/// clashes with `T`'s methods, the methods of `Arc<T>` itself are [associated
|
||||
/// functions][assoc], called using function-like syntax:
|
||||
/// clashes with `T`'s methods, the methods of `Arc<T>` itself are associated
|
||||
/// functions, called using function-like syntax:
|
||||
///
|
||||
/// ```
|
||||
/// use std::sync::Arc;
|
||||
@ -146,7 +146,6 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
|
||||
/// [downgrade]: struct.Arc.html#method.downgrade
|
||||
/// [upgrade]: struct.Weak.html#method.upgrade
|
||||
/// [`None`]: ../../std/option/enum.Option.html#variant.None
|
||||
/// [assoc]: ../../book/first-edition/method-syntax.html#associated-functions
|
||||
/// [`RefCell<T>`]: ../../std/cell/struct.RefCell.html
|
||||
/// [`std::sync`]: ../../std/sync/index.html
|
||||
/// [`Arc::clone(&from)`]: #method.clone
|
||||
|
@ -19,7 +19,7 @@ use super::MAX;
|
||||
/// Converts a `u32` to a `char`.
|
||||
///
|
||||
/// Note that all [`char`]s are valid [`u32`]s, and can be cast to one with
|
||||
/// [`as`]:
|
||||
/// `as`:
|
||||
///
|
||||
/// ```
|
||||
/// let c = '💯';
|
||||
@ -34,7 +34,6 @@ use super::MAX;
|
||||
///
|
||||
/// [`char`]: ../../std/primitive.char.html
|
||||
/// [`u32`]: ../../std/primitive.u32.html
|
||||
/// [`as`]: ../../book/first-edition/casting-between-types.html#as
|
||||
///
|
||||
/// For an unsafe version of this function which ignores these checks, see
|
||||
/// [`from_u32_unchecked`].
|
||||
@ -71,7 +70,7 @@ pub fn from_u32(i: u32) -> Option<char> {
|
||||
/// Converts a `u32` to a `char`, ignoring validity.
|
||||
///
|
||||
/// Note that all [`char`]s are valid [`u32`]s, and can be cast to one with
|
||||
/// [`as`]:
|
||||
/// `as`:
|
||||
///
|
||||
/// ```
|
||||
/// let c = '💯';
|
||||
@ -86,7 +85,6 @@ pub fn from_u32(i: u32) -> Option<char> {
|
||||
///
|
||||
/// [`char`]: ../../std/primitive.char.html
|
||||
/// [`u32`]: ../../std/primitive.u32.html
|
||||
/// [`as`]: ../../book/first-edition/casting-between-types.html#as
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
|
@ -132,7 +132,6 @@ pub use intrinsics::transmute;
|
||||
/// [uninit]: fn.uninitialized.html
|
||||
/// [clone]: ../clone/trait.Clone.html
|
||||
/// [swap]: fn.swap.html
|
||||
/// [FFI]: ../../book/first-edition/ffi.html
|
||||
/// [box]: ../../std/boxed/struct.Box.html
|
||||
/// [leak]: ../../std/boxed/struct.Box.html#method.leak
|
||||
/// [into_raw]: ../../std/boxed/struct.Box.html#method.into_raw
|
||||
@ -479,7 +478,7 @@ pub const fn needs_drop<T>() -> bool {
|
||||
///
|
||||
/// This has the same effect as allocating space with
|
||||
/// [`mem::uninitialized`][uninit] and then zeroing it out. It is useful for
|
||||
/// [FFI] sometimes, but should generally be avoided.
|
||||
/// FFI sometimes, but should generally be avoided.
|
||||
///
|
||||
/// There is no guarantee that an all-zero byte-pattern represents a valid value of
|
||||
/// some type `T`. If `T` has a destructor and the value is destroyed (due to
|
||||
@ -490,7 +489,6 @@ pub const fn needs_drop<T>() -> bool {
|
||||
/// many of the same caveats.
|
||||
///
|
||||
/// [uninit]: fn.uninitialized.html
|
||||
/// [FFI]: ../../book/first-edition/ffi.html
|
||||
/// [ub]: ../../reference/behavior-considered-undefined.html
|
||||
///
|
||||
/// # Examples
|
||||
@ -514,11 +512,9 @@ pub unsafe fn zeroed<T>() -> T {
|
||||
/// **This is incredibly dangerous and should not be done lightly. Deeply
|
||||
/// consider initializing your memory with a default value instead.**
|
||||
///
|
||||
/// This is useful for [FFI] functions and initializing arrays sometimes,
|
||||
/// This is useful for FFI functions and initializing arrays sometimes,
|
||||
/// but should generally be avoided.
|
||||
///
|
||||
/// [FFI]: ../../book/first-edition/ffi.html
|
||||
///
|
||||
/// # Undefined behavior
|
||||
///
|
||||
/// It is [undefined behavior][ub] to read uninitialized memory, even just an
|
||||
@ -689,10 +685,9 @@ pub fn replace<T>(dest: &mut T, mut src: T) -> T {
|
||||
/// While this does call the argument's implementation of [`Drop`][drop],
|
||||
/// it will not release any borrows, as borrows are based on lexical scope.
|
||||
///
|
||||
/// This effectively does nothing for
|
||||
/// [types which implement `Copy`](../../book/first-edition/ownership.html#copy-types),
|
||||
/// e.g. integers. Such values are copied and _then_ moved into the function,
|
||||
/// so the value persists after this function call.
|
||||
/// This effectively does nothing for types which implement `Copy`, e.g.
|
||||
/// integers. Such values are copied and _then_ moved into the function, so the
|
||||
/// value persists after this function call.
|
||||
///
|
||||
/// This function is not magic; it is literally defined as
|
||||
///
|
||||
|
@ -58,7 +58,7 @@
|
||||
//! [`NonNull::dangling`] in such cases.
|
||||
//!
|
||||
//! [aliasing]: ../../nomicon/aliasing.html
|
||||
//! [book]: ../../book/second-edition/ch19-01-unsafe-rust.html#dereferencing-a-raw-pointer
|
||||
//! [book]: ../../book/ch19-01-unsafe-rust.html#dereferencing-a-raw-pointer
|
||||
//! [ub]: ../../reference/behavior-considered-undefined.html
|
||||
//! [null]: ./fn.null.html
|
||||
//! [zst]: ../../nomicon/exotic-sizes.html#zero-sized-types-zsts
|
||||
|
@ -21,11 +21,7 @@
|
||||
/// The representation of a trait object like `&SomeTrait`.
|
||||
///
|
||||
/// This struct has the same layout as types like `&SomeTrait` and
|
||||
/// `Box<AnotherTrait>`. The [Trait Objects chapter of the
|
||||
/// Book][moreinfo] contains more details about the precise nature of
|
||||
/// these internals.
|
||||
///
|
||||
/// [moreinfo]: ../../book/first-edition/trait-objects.html#representation
|
||||
/// `Box<AnotherTrait>`.
|
||||
///
|
||||
/// `TraitObject` is guaranteed to match layouts, but it is not the
|
||||
/// type of trait objects (e.g. the fields are not directly accessible
|
||||
|
@ -185,7 +185,7 @@
|
||||
//! [slice]: primitive.slice.html
|
||||
//! [`atomic`]: sync/atomic/index.html
|
||||
//! [`collections`]: collections/index.html
|
||||
/// [`for`]: ../../book/ch03-05-control-flow.html#looping-through-a-collection-with-for
|
||||
//! [`for`]: ../book/ch03-05-control-flow.html#looping-through-a-collection-with-for
|
||||
//! [`format!`]: macro.format.html
|
||||
//! [`fs`]: fs/index.html
|
||||
//! [`io`]: io/index.html
|
||||
@ -200,7 +200,7 @@
|
||||
//! [`sync`]: sync/index.html
|
||||
//! [`thread`]: thread/index.html
|
||||
//! [`use std::env`]: env/index.html
|
||||
//! [`use`]: ../book/ch07-02-modules-and-use-to-control-scope-and-privacy.html#use-to-bring-paths-into-scope
|
||||
//! [`use`]: ../book/ch07-02-modules-and-use-to-control-scope-and-privacy.html#the-use-keyword-to-bring-paths-into-a-scope
|
||||
//! [crate root]: ../book/ch07-01-packages-and-crates-for-making-libraries-and-executables.html
|
||||
//! [crates.io]: https://crates.io
|
||||
//! [deref-coercions]: ../book/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods
|
||||
|
@ -32,7 +32,7 @@
|
||||
///
|
||||
/// [`Result`] enum is often a better solution for recovering from errors than
|
||||
/// using the `panic!` macro. This macro should be used to avoid proceeding using
|
||||
/// incorrect values, such as from external sources. Detailed information about
|
||||
/// incorrect values, such as from external sources. Detailed information about
|
||||
/// error handling is found in the [book].
|
||||
///
|
||||
/// The multi-argument form of this macro panics with a string and has the
|
||||
@ -45,7 +45,7 @@
|
||||
/// [`Result`]: ../std/result/enum.Result.html
|
||||
/// [`format!`]: ../std/macro.format.html
|
||||
/// [`compile_error!`]: ../std/macro.compile_error.html
|
||||
/// [book]: ../book/second-edition/ch09-01-unrecoverable-errors-with-panic.html
|
||||
/// [book]: ../book/ch09-00-error-handling.html
|
||||
///
|
||||
/// # Current implementation
|
||||
///
|
||||
@ -839,8 +839,8 @@ mod builtin {
|
||||
/// boolean expression evaluation of configuration flags. This frequently
|
||||
/// leads to less duplicated code.
|
||||
///
|
||||
/// The syntax given to this macro is the same syntax as [the `cfg`
|
||||
/// attribute](../book/first-edition/conditional-compilation.html).
|
||||
/// The syntax given to this macro is the same syntax as the `cfg`
|
||||
/// attribute.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
@ -915,7 +915,7 @@ mod builtin {
|
||||
/// Unsafe code relies on `assert!` to enforce run-time invariants that, if
|
||||
/// violated could lead to unsafety.
|
||||
///
|
||||
/// Other use-cases of `assert!` include [testing] and enforcing run-time
|
||||
/// Other use-cases of `assert!` include testing and enforcing run-time
|
||||
/// invariants in safe code (whose violation cannot result in unsafety).
|
||||
///
|
||||
/// # Custom Messages
|
||||
@ -926,7 +926,6 @@ mod builtin {
|
||||
///
|
||||
/// [`panic!`]: macro.panic.html
|
||||
/// [`debug_assert!`]: macro.debug_assert.html
|
||||
/// [testing]: ../book/second-edition/ch11-01-writing-tests.html#checking-results-with-the-assert-macro
|
||||
/// [`std::fmt`]: ../std/fmt/index.html
|
||||
///
|
||||
/// # Examples
|
||||
|
@ -22,7 +22,7 @@
|
||||
/// `bool` implements various traits, such as [`BitAnd`], [`BitOr`], [`Not`], etc.,
|
||||
/// which allow us to perform boolean operations using `&`, `|` and `!`.
|
||||
///
|
||||
/// [`if`] always demands a `bool` value. [`assert!`], being an important macro in testing,
|
||||
/// `if` always demands a `bool` value. [`assert!`], being an important macro in testing,
|
||||
/// checks whether an expression returns `true`.
|
||||
///
|
||||
/// ```
|
||||
@ -31,7 +31,6 @@
|
||||
/// ```
|
||||
///
|
||||
/// [`assert!`]: macro.assert.html
|
||||
/// [`if`]: ../book/first-edition/if.html
|
||||
/// [`BitAnd`]: ops/trait.BitAnd.html
|
||||
/// [`BitOr`]: ops/trait.BitOr.html
|
||||
/// [`Not`]: ops/trait.Not.html
|
||||
@ -695,7 +694,7 @@ mod prim_str { }
|
||||
/// assert_eq!(tuple.2, 'c');
|
||||
/// ```
|
||||
///
|
||||
/// For more about tuples, see [the book](../book/first-edition/primitive-types.html#tuples).
|
||||
/// For more about tuples, see [the book](../book/ch03-02-data-types.html#the-tuple-type).
|
||||
///
|
||||
/// # Trait implementations
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user