summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/suggest-pin-macro.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/suggestions/suggest-pin-macro.rs')
-rw-r--r--tests/ui/suggestions/suggest-pin-macro.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/suggestions/suggest-pin-macro.rs b/tests/ui/suggestions/suggest-pin-macro.rs
new file mode 100644
index 000000000..f5b962159
--- /dev/null
+++ b/tests/ui/suggestions/suggest-pin-macro.rs
@@ -0,0 +1,23 @@
+use std::pin::Pin;
+use std::marker::PhantomPinned;
+
+#[derive(Debug)]
+struct Test {
+ _marker: PhantomPinned,
+}
+impl Test {
+ fn new() -> Self {
+ Test {
+ _marker: PhantomPinned, // This makes our type `!Unpin`
+ }
+ }
+}
+
+fn dummy(_: &mut Test) {}
+
+pub fn main() {
+ let mut test1 = Test::new();
+ let mut test1 = unsafe { Pin::new_unchecked(&mut test1) };
+
+ dummy(test1.get_mut()); //~ ERROR E0277
+}