| // 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, |
| ) {} |