Skip to content

Commit

Permalink
Rollup merge of #67394 - matthew-healy:update-libsyntax-ptr-docs, r=D…
Browse files Browse the repository at this point in the history
…ylan-DPC

Remove outdated references to @t from comments

Closes #67341.

This removes all references to `@T` from the comment in libsyntax/ptr.rs.
  • Loading branch information
Centril authored Dec 19, 2019
2 parents 6d60606 + e77a55b commit cfa7581
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions src/libsyntax/ptr.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
//! The AST pointer.
//!
//! Provides `P<T>`, a frozen owned smart pointer, as a replacement for `@T` in
//! the AST.
//! Provides `P<T>`, a frozen owned smart pointer.
//!
//! # Motivations and benefits
//!
//! * **Identity**: sharing AST nodes is problematic for the various analysis
//! passes (e.g., one may be able to bypass the borrow checker with a shared
//! `ExprKind::AddrOf` node taking a mutable borrow). The only reason `@T` in the
//! AST hasn't caused issues is because of inefficient folding passes which
//! would always deduplicate any such shared nodes. Even if the AST were to
//! switch to an arena, this would still hold, i.e., it couldn't use `&'a T`,
//! but rather a wrapper like `P<'a, T>`.
//! `ExprKind::AddrOf` node taking a mutable borrow).
//!
//! * **Immutability**: `P<T>` disallows mutating its inner `T`, unlike `Box<T>`
//! (unless it contains an `Unsafe` interior, but that may be denied later).
Expand Down

0 comments on commit cfa7581

Please sign in to comment.