| // See #130494 | |
| #![feature(pin_ergonomics)] | |
| #![allow(incomplete_features)] | |
| fn f(x: &pin const i32) {} | |
| fn g<'a>(x: &'a pin const i32) {} | |
| fn h<'a>(x: &'a pin mut i32) {} | |
| fn i(x: &pin mut i32) {} | |
| struct Foo; | |
| impl Foo { | |
| fn f(&pin const self) {} | |
| fn g<'a>(&'a pin const self) {} | |
| fn h<'a>(&'a pin mut self) {} | |
| fn i(&pin mut self) {} | |
| } | |
| fn borrows() { | |
| let mut foo = 0_i32; | |
| let x: Pin<&mut _> = &pin mut foo; | |
| let x: Pin<&_> = &pin const foo; | |
| } |