49 lines
799 B
Rust
49 lines
799 B
Rust
// 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,
|
|
) {}
|