// 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; }