25 lines
442 B
Rust
25 lines
442 B
Rust
|
//@ check-pass
|
||
|
//@ignore-test
|
||
|
|
||
|
// Currently ignored due to self reborrowing not being implemented for Pin
|
||
|
|
||
|
#![feature(pin_ergonomics)]
|
||
|
#![allow(incomplete_features)]
|
||
|
|
||
|
use std::pin::Pin;
|
||
|
|
||
|
struct Foo;
|
||
|
|
||
|
impl Foo {
|
||
|
fn foo(self: Pin<&mut Self>) {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn bar(x: Pin<&mut Foo>) {
|
||
|
x.foo();
|
||
|
x.foo(); // for this to work we need to automatically reborrow,
|
||
|
// as if the user had written `x.as_mut().foo()`.
|
||
|
}
|
||
|
|
||
|
fn main() {}
|