aboutsummaryrefslogtreecommitdiff
path: root/tests/ui/pinned_drop/invalid-self.rs
blob: 73d3b43e47a43719beede0e92d6b97be6c177f76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// by-ref binding `ref (mut) self` and sub-patterns `@` are not allowed in receivers (rejected by rustc).

use std::pin::Pin;

struct Struct {}

impl Struct {
    fn take_ref_self(ref self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`
    fn take_ref_mut_self(ref mut self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`

    fn self_subpat(self @ Struct {}: Self) {} //~ ERROR expected one of `)`, `,`, or `:`, found `@`
}

fn main() {}