PhantomPinned
Definition
// Copyright 2026 Google LLC
// SPDX-License-Identifier: Apache-2.0
pub struct PhantomPinned;
impl !Unpin for PhantomPinned {}
Usage
// Copyright 2026 Google LLC // SPDX-License-Identifier: Apache-2.0 pub struct DynamicBuffer { data: Vec<u8>, cursor: std::ptr::NonNull<u8>, _pin: std::marker::PhantomPinned, }
This slide should take about 5 minutes.
PhantomPinned is a marker type.
If a type contains a PhantomPinned, it will not implement Unpin by default.
This has the effect of enforcing pinning when DynamicBuffer is wrapped by
Pin.