diff --git a/library/core/src/pin.rs b/library/core/src/pin.rs index 450ff752dab..90f4a5390e7 100644 --- a/library/core/src/pin.rs +++ b/library/core/src/pin.rs @@ -910,8 +910,9 @@ impl CoerceUnsized> for Pin

where P: CoerceUnsized {} #[stable(feature = "pin", since = "1.33.0")] impl DispatchFromDyn> for Pin

where P: DispatchFromDyn {} -/// Constructs a [Pin]<[&mut] T>, by pinning[^1] a `value: T` _locally_[^2] -/// (≠ [in the heap][`Box::pin`]). +/// Constructs a [Pin]<[&mut] T>, by pinning[^1] a `value: T` _locally_[^2]. +/// +/// Unlike [`Box::pin`], this does not involve a heap allocation. /// /// [^1]: If the (type `T` of the) given value does not implement [`Unpin`], then this /// effectively pins the `value` in memory, where it will be unable to be moved. @@ -1043,8 +1044,7 @@ impl DispatchFromDyn> for Pin

where P: DispatchFromDyn {} /// ///

Error message /// -/// ```rust -/// # const _IGNORE: &str = stringify! { +/// ```console /// error[E0716]: temporary value dropped while borrowed /// --> src/main.rs:9:28 /// | @@ -1056,8 +1056,7 @@ impl DispatchFromDyn> for Pin

where P: DispatchFromDyn {} /// 11 | }; // <- Foo is dropped /// | - temporary value is freed at the end of this statement /// | -/// = note: consider using a let binding to create a longer lived value -/// # }; +/// = note: consider using a `let` binding to create a longer lived value /// ``` /// ///