| // 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; |
| } |
| |
| fn patterns<'a>( |
| &pin mut x: &pin mut i32, |
| &pin const y: &'a pin const i32, |
| ref pin mut z: i32, |
| mut ref pin const w: i32, |
| ) { |
| } |