aboutsummaryrefslogtreecommitdiff
path: root/tests/overwriting_core_crate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/overwriting_core_crate.rs')
-rw-r--r--tests/overwriting_core_crate.rs116
1 files changed, 0 insertions, 116 deletions
diff --git a/tests/overwriting_core_crate.rs b/tests/overwriting_core_crate.rs
deleted file mode 100644
index 121104c..0000000
--- a/tests/overwriting_core_crate.rs
+++ /dev/null
@@ -1,116 +0,0 @@
-#![warn(rust_2018_idioms, single_use_lifetimes)]
-
-// See https://github.com/rust-lang/pin-utils/pull/26#discussion_r344491597
-//
-// Note: If the proc-macro does not depend on its own items, it may be preferable not to
-// support overwriting the name of core/std crate for compatibility with reexport.
-#[allow(unused_extern_crates)]
-extern crate pin_project as core;
-
-// Dummy module to check that the expansion refers to the crate.
-mod pin_project {}
-
-use ::pin_project::{pin_project, pinned_drop, UnsafeUnpin};
-use std::pin::Pin;
-
-#[pin_project]
-pub struct StructDefault<T, U> {
- #[pin]
- pub pinned: T,
- pub unpinned: U,
-}
-
-#[pin_project(PinnedDrop)]
-pub struct StructPinnedDrop<T, U> {
- #[pin]
- pub pinned: T,
- pub unpinned: U,
-}
-
-#[pinned_drop]
-impl<T, U> PinnedDrop for StructPinnedDrop<T, U> {
- fn drop(self: Pin<&mut Self>) {}
-}
-
-#[pin_project(Replace)]
-pub struct StructReplace<T, U> {
- #[pin]
- pub pinned: T,
- pub unpinned: U,
-}
-
-#[pin_project(UnsafeUnpin)]
-pub struct StructUnsafeUnpin<T, U> {
- #[pin]
- pub pinned: T,
- pub unpinned: U,
-}
-
-unsafe impl<T: Unpin, U> UnsafeUnpin for StructUnsafeUnpin<T, U> {}
-
-#[pin_project(!Unpin)]
-pub struct StructNotUnpin<T, U> {
- #[pin]
- pub pinned: T,
- pub unpinned: U,
-}
-
-#[pin_project]
-pub enum EnumDefault<T, U> {
- Struct {
- #[pin]
- pinned: T,
- unpinned: U,
- },
- Tuple(#[pin] T, U),
-}
-
-#[pin_project(PinnedDrop)]
-pub enum EnumPinnedDrop<T, U> {
- Struct {
- #[pin]
- pinned: T,
- unpinned: U,
- },
- Tuple(#[pin] T, U),
-}
-
-#[pinned_drop]
-impl<T, U> PinnedDrop for EnumPinnedDrop<T, U> {
- fn drop(self: Pin<&mut Self>) {}
-}
-
-#[pin_project(Replace)]
-pub enum EnumReplace<T, U> {
- Struct {
- #[pin]
- pinned: T,
- unpinned: U,
- },
- Tuple(#[pin] T, U),
-}
-
-#[pin_project(UnsafeUnpin)]
-pub enum EnumUnsafeUnpin<T, U> {
- Struct {
- #[pin]
- pinned: T,
- unpinned: U,
- },
- Tuple(#[pin] T, U),
-}
-
-unsafe impl<T: Unpin, U> UnsafeUnpin for EnumUnsafeUnpin<T, U> {}
-
-#[pin_project(!Unpin)]
-pub enum EnumNotUnpin<T, U> {
- Struct {
- #[pin]
- pinned: T,
- unpinned: U,
- },
- Tuple(#[pin] T, U),
-}
-
-#[test]
-fn test() {}