diff options
| author | bors <bors@rust-lang.org> | 2018-10-12 15:00:24 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-10-12 15:00:24 +0000 |
| commit | 945372d26818f93d6f5cded7b751749e280b67bf (patch) | |
| tree | 434e524cba2dee5a76b2aca15ef28c1f3229ff8e /src/libstd | |
| parent | e9e27e6a6258b3adf00a5dd35d2676656224880d (diff) | |
| parent | d64c77a671390a7ce9072e550ffa57837892a4fe (diff) | |
| download | rust-945372d26818f93d6f5cded7b751749e280b67bf.tar.gz rust-945372d26818f93d6f5cded7b751749e280b67bf.zip | |
Auto merge of #55012 - kennytm:rollup, r=kennytm
Rollup of 16 pull requests
Successful merges:
- #54755 (Documents reference equality by address (#54197))
- #54811 (During rustc bootstrap, make default for `optimize` independent of `debug`)
- #54825 (NLL says "borrowed content" instead of more precise "dereference of raw pointer")
- #54860 (Add doc comments about safest way to initialize a vector of zeros)
- #54869 (Fix mobile docs)
- #54891 (Fix tracking issue for Once::is_completed)
- #54913 (doc fix: it's auto traits that make for automatic implementations)
- #54920 (Fix handling of #[must_use] on unit and uninhabited types)
- #54932 (A handful of random string-related improvements)
- #54936 (impl Eq+Hash for TyLayout)
- #54950 (std: Synchronize global allocator on wasm32)
- #54956 ("(using ..." doesn't have the matching ")")
- #54958 (add a macro for static (compile-time) assertions)
- #54967 (Remove incorrect span for second label inner macro invocation)
- #54983 (Fix slice's benchmarks)
- #54989 (Fix spelling in the documentation to htmldocck.py)
Failed merges:
r? @ghost
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/fs.rs | 2 | ||||
| -rw-r--r-- | src/libstd/panic.rs | 2 | ||||
| -rw-r--r-- | src/libstd/primitive_docs.rs | 25 | ||||
| -rw-r--r-- | src/libstd/sync/once.rs | 2 |
4 files changed, 28 insertions, 3 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index f14d55cb2d3..017949291bc 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -726,7 +726,7 @@ impl OpenOptions { /// If a file is opened with both read and append access, beware that after /// opening, and after every write, the position for reading may be set at the /// end of the file. So, before writing, save the current position (using - /// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`, and restore it before the next read. + /// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. /// /// ## Note /// diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index 48a9b2f4a93..5c87035d8e9 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -79,7 +79,7 @@ pub use core::panic::{PanicInfo, Location}; /// /// Simply put, a type `T` implements `UnwindSafe` if it cannot easily allow /// witnessing a broken invariant through the use of `catch_unwind` (catching a -/// panic). This trait is a marker trait, so it is automatically implemented for +/// panic). This trait is an auto trait, so it is automatically implemented for /// many types, and it is also structurally composed (e.g. a struct is unwind /// safe if all of its components are unwind safe). /// diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs index 8d54728a75f..3b432d05132 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs @@ -908,11 +908,36 @@ mod prim_usize { } /// `&mut T` references can be freely coerced into `&T` references with the same referent type, and /// references with longer lifetimes can be freely coerced into references with shorter ones. /// +/// Reference equality by address, instead of comparing the values pointed to, is accomplished via +/// implicit reference-pointer coercion and raw pointer equality via [`ptr::eq`], while +/// [`PartialEq`] compares values. +/// +/// [`ptr::eq`]: ptr/fn.eq.html +/// [`PartialEq`]: cmp/trait.PartialEq.html +/// +/// ``` +/// use std::ptr; +/// +/// let five = 5; +/// let other_five = 5; +/// let five_ref = &five; +/// let same_five_ref = &five; +/// let other_five_ref = &other_five; +/// +/// assert!(five_ref == same_five_ref); +/// assert!(five_ref == other_five_ref); +/// +/// assert!(ptr::eq(five_ref, same_five_ref)); +/// assert!(!ptr::eq(five_ref, other_five_ref)); +/// ``` +/// /// For more information on how to use references, see [the book's section on "References and /// Borrowing"][book-refs]. /// /// [book-refs]: ../book/second-edition/ch04-02-references-and-borrowing.html /// +/// # Trait implementations +/// /// The following traits are implemented for all `&T`, regardless of the type of its referent: /// /// * [`Copy`] diff --git a/src/libstd/sync/once.rs b/src/libstd/sync/once.rs index 17cb614ba11..98845e457b2 100644 --- a/src/libstd/sync/once.rs +++ b/src/libstd/sync/once.rs @@ -329,7 +329,7 @@ impl Once { /// assert!(handle.join().is_err()); /// assert_eq!(INIT.is_completed(), false); /// ``` - #[unstable(feature = "once_is_completed", issue = "42")] + #[unstable(feature = "once_is_completed", issue = "54890")] #[inline] pub fn is_completed(&self) -> bool { // An `Acquire` load is enough because that makes all the initialization |
