Skip to content

Tracking Issue for ManuallyDrop<T>::pinned_* #157268

@asder8215

Description

@asder8215

Feature gate: #![feature(manually_drop_pinned)]

This is a tracking issue for rust-langs/libs-team#580. It introduces a few methods to ManuallyDrop<T> for the purpose of constructing a new mutable/immutable Pin over T out of Pin<&mut ManuallyDrop<T>> and Pin<&ManuallyDrop<T>> as well as be able to drop pinned contained values.

Public API

// use core::mem::ManuallyDrop;

impl<T> ManuallyDrop<T> {
    fn pinned_deref_mut(pinned: Pin<&mut ManuallyDrop<T>>) -> Pin<&mut T> { ... }

    fn pinned_deref(pinned: Pin<&ManuallyDrop<T>>) -> Pin<&T> { ... }
}

impl<T: ?Sized> ManuallyDrop<T> {
    pub unsafe fn pinned_drop(pinned: Pin<&mut ManuallyDrop<T>>) { ... }
}

Steps / History

(Remember to update the S-tracking-* label when checking boxes.)

Unresolved Questions

  • None yet.

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions