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