aboutsummaryrefslogtreecommitdiff
path: root/tests/ui/unstable-features/marker_trait_attr.rs
blob: d6eab212e7152bcb92f33ecd240dc1aada40f04b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Note: If you change this test, change 'marker_trait_attr-feature-gate.rs' at the same time.

// marker_trait_attr
// Tracking issue: https://github.com/rust-lang/rust/issues/29864
#![feature(marker_trait_attr)]

// See https://github.com/taiki-e/pin-project/issues/105#issuecomment-535355974

use pin_project::pin_project;
use std::marker::PhantomPinned;

#[pin_project] //~ ERROR E0119
struct Struct<T> {
    #[pin]
    f: T,
}

// unsound Unpin impl
impl<T> Unpin for Struct<T> {}

fn is_unpin<T: Unpin>() {}

fn main() {
    is_unpin::<Struct<PhantomPinned>>()
}