Rollup merge of #88226 - steffahn:an_rc, r=michaelwoerister
Fix typo “a Rc” → “an Rc” (and a few more) After stumbling about it in the dev-guide, I’ve devided to eliminate all mentions of “a Rc”, replacing it with “an Rc”. E.g. ```plain $ rg "(^|[^'])\ba\b[^\w=:]*\bRc" compiler/rustc_data_structures/src/owning_ref/mod.rs 1149:/// Typedef of a owning reference that uses a `Rc` as the owner. library/std/src/ffi/os_str.rs 919: /// Converts a [`OsString`] into a [`Rc`]`<OsStr>` without copying or allocating. library/std/src/ffi/c_str.rs 961: /// Converts a [`CString`] into a [`Rc`]`<CStr>` without copying or allocating. src/doc/rustc-dev-guide/src/query.md 61:are cheaply cloneable; insert a `Rc` if necessary). src/doc/book/src/ch15-06-reference-cycles.md 72:decreases the reference count of the `a` `Rc<List>` instance from 2 to 1 as library/alloc/src/rc.rs 1746: /// Converts a generic type `T` into a `Rc<T>` ``` _(the match in the book is a false positive)_ Since the dev-guide is a submodule, it’s getting a separate PR: rust-lang/rustc-dev-guide#1191 I’ve also gone ahead and done the same search for `RwLock` and hit a few cases in the `OwningRef` adaption. Then, I couldn’t keep the countless cases of “a owning …” or “a owner” unaddressed, which concludes this PR. `@rustbot` label C-cleanup
This commit is contained in:
commit
cc2a1271d4
@ -5,7 +5,7 @@
|
||||
|
||||
This crate provides the _owning reference_ types `OwningRef` and `OwningRefMut`
|
||||
that enables it to bundle a reference together with the owner of the data it points to.
|
||||
This allows moving and dropping of a `OwningRef` without needing to recreate the reference.
|
||||
This allows moving and dropping of an `OwningRef` without needing to recreate the reference.
|
||||
|
||||
This can sometimes be useful because Rust borrowing rules normally prevent
|
||||
moving a type that has been moved from. For example, this kind of code gets rejected:
|
||||
@ -1146,7 +1146,7 @@ unsafe fn to_handle_mut(x: *const Self) -> Self::HandleMut {
|
||||
/// Typedef of an owning reference that uses a `String` as the owner.
|
||||
pub type StringRef = OwningRef<String, str>;
|
||||
|
||||
/// Typedef of an owning reference that uses a `Rc` as the owner.
|
||||
/// Typedef of an owning reference that uses an `Rc` as the owner.
|
||||
pub type RcRef<T, U = T> = OwningRef<Rc<T>, U>;
|
||||
/// Typedef of an owning reference that uses an `Arc` as the owner.
|
||||
pub type ArcRef<T, U = T> = OwningRef<Arc<T>, U>;
|
||||
@ -1157,9 +1157,9 @@ unsafe fn to_handle_mut(x: *const Self) -> Self::HandleMut {
|
||||
pub type RefMutRef<'a, T, U = T> = OwningRef<RefMut<'a, T>, U>;
|
||||
/// Typedef of an owning reference that uses a `MutexGuard` as the owner.
|
||||
pub type MutexGuardRef<'a, T, U = T> = OwningRef<MutexGuard<'a, T>, U>;
|
||||
/// Typedef of an owning reference that uses a `RwLockReadGuard` as the owner.
|
||||
/// Typedef of an owning reference that uses an `RwLockReadGuard` as the owner.
|
||||
pub type RwLockReadGuardRef<'a, T, U = T> = OwningRef<RwLockReadGuard<'a, T>, U>;
|
||||
/// Typedef of an owning reference that uses a `RwLockWriteGuard` as the owner.
|
||||
/// Typedef of an owning reference that uses an `RwLockWriteGuard` as the owner.
|
||||
pub type RwLockWriteGuardRef<'a, T, U = T> = OwningRef<RwLockWriteGuard<'a, T>, U>;
|
||||
|
||||
/// Typedef of a mutable owning reference that uses a `Box` as the owner.
|
||||
@ -1173,7 +1173,7 @@ unsafe fn to_handle_mut(x: *const Self) -> Self::HandleMut {
|
||||
pub type RefMutRefMut<'a, T, U = T> = OwningRefMut<RefMut<'a, T>, U>;
|
||||
/// Typedef of a mutable owning reference that uses a `MutexGuard` as the owner.
|
||||
pub type MutexGuardRefMut<'a, T, U = T> = OwningRefMut<MutexGuard<'a, T>, U>;
|
||||
/// Typedef of a mutable owning reference that uses a `RwLockWriteGuard` as the owner.
|
||||
/// Typedef of a mutable owning reference that uses an `RwLockWriteGuard` as the owner.
|
||||
pub type RwLockWriteGuardRefMut<'a, T, U = T> = OwningRef<RwLockWriteGuard<'a, T>, U>;
|
||||
|
||||
unsafe impl<'a, T: 'a> IntoErased<'a> for Box<T> {
|
||||
|
@ -1745,7 +1745,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "from_for_ptrs", since = "1.6.0")]
|
||||
impl<T> From<T> for Rc<T> {
|
||||
/// Converts a generic type `T` into a `Rc<T>`
|
||||
/// Converts a generic type `T` into an `Rc<T>`
|
||||
///
|
||||
/// The conversion allocates on the heap and moves `t`
|
||||
/// from the stack into it.
|
||||
|
@ -958,7 +958,7 @@ fn from(s: &CStr) -> Arc<CStr> {
|
||||
|
||||
#[stable(feature = "shared_from_slice2", since = "1.24.0")]
|
||||
impl From<CString> for Rc<CStr> {
|
||||
/// Converts a [`CString`] into a [`Rc`]`<CStr>` without copying or allocating.
|
||||
/// Converts a [`CString`] into an [`Rc`]`<CStr>` without copying or allocating.
|
||||
#[inline]
|
||||
fn from(s: CString) -> Rc<CStr> {
|
||||
let rc: Rc<[u8]> = Rc::from(s.into_inner());
|
||||
|
@ -916,7 +916,7 @@ fn from(s: &OsStr) -> Arc<OsStr> {
|
||||
|
||||
#[stable(feature = "shared_from_slice2", since = "1.24.0")]
|
||||
impl From<OsString> for Rc<OsStr> {
|
||||
/// Converts an [`OsString`] into a [`Rc`]`<OsStr>` without copying or allocating.
|
||||
/// Converts an [`OsString`] into an [`Rc`]`<OsStr>` without copying or allocating.
|
||||
#[inline]
|
||||
fn from(s: OsString) -> Rc<OsStr> {
|
||||
let rc = s.inner.into_rc();
|
||||
|
@ -368,7 +368,7 @@ pub fn main() {
|
||||
// We can use refcells if we're single-threaded (as this test is).
|
||||
// If one were to generalize these constructions to a
|
||||
// multi-threaded context, then it might seem like we could choose
|
||||
// between either a RwLock or a Mutex to hold the owned arcs on
|
||||
// between either an RwLock or a Mutex to hold the owned arcs on
|
||||
// each node.
|
||||
//
|
||||
// Part of the point of this test is to actually confirm that the
|
||||
|
Loading…
Reference in New Issue
Block a user