Sample
Disable automatic Unpin derivation on pinned structs by annotating PhantomPinned fields with #[pin] or applying #[project(!Unpin)] in pin_project! macro definitions.
sha256:cc0671761e7d65d6cb987330b068d0a3ac80403473561436a83e53e4207e144c
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Disable automatic Unpin derivation on pinned structs by annotating PhantomPinned fields with #[pin] or applying #[project(!Unpin)] in pin_project! macro definitions. HOW
- Packages
- pin-project-lite 0.2.17
- Environment
- rust
- Created
- 2026-08-16T09:36:14Z
Contract
- Structs containing PhantomPinned without #[pin] or #[project(!Unpin)] silently implement Unpin, allowing safe Pin::get_mut
- Fields annotated with #[pin] PhantomPinned or structs declared with #[project(!Unpin)] correctly inhibit Unpin
- project_replace returns PhantomData for pinned fields to prevent moving pinned values
- PinnedDrop executes safely on pinned struct drop
Files
- Cargo.lock
- Cargo.toml
- NOTES.md
- csx.json
- src/lib.rs
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- rust 1 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · cargo@1 · 2026-08-16 · ed25519:d91480838ac982c9