error: `self` parameter is only allowed in associated functions --> tests/ui/pinned_drop/self.rs:18:26 | 18 | fn f(self: ()) {} //~ ERROR `self` parameter is only allowed in associated functions | ^^^^ not semantically valid as function parameter ... 21 | t!(); | ---- in this macro invocation | = note: associated functions are those in `impl` or `trait` definitions = note: this error originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0434]: can't capture dynamic environment in a fn item --> tests/ui/pinned_drop/self.rs:16:29 | 16 | let _ = self; //~ ERROR E0434 | ^^^^ ... 21 | t!(); | ---- in this macro invocation | = help: use the `|| { ... }` closure form instead = note: this error originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0423]: expected value, found struct `S` --> tests/ui/pinned_drop/self.rs:40:27 | 32 | / pub struct S { 33 | | f: (), 34 | | } | |_____- `S` defined here ... 40 | let _: Self = Self; //~ ERROR E0423 | ^^^^ help: use struct literal syntax instead: `S { f: val }` error[E0308]: mismatched types --> tests/ui/pinned_drop/self.rs:39:25 | 39 | let _: () = self; //~ ERROR E0308 | -- ^^^^ expected `()`, found `Pin<&mut S>` | | | expected due to this | = note: expected unit type `()` found struct `Pin<&mut self_span::S>` error[E0308]: mismatched types --> tests/ui/pinned_drop/self.rs:52:25 | 52 | let _: () = self; //~ ERROR E0308 | -- ^^^^ expected `()`, found `Pin<&mut E>` | | | expected due to this | = note: expected unit type `()` found struct `Pin<&mut E>` error[E0533]: expected value, found struct variant `E::V` --> tests/ui/pinned_drop/self.rs:53:27 | 53 | let _: Self = Self::V; //~ ERROR E0533 | ^^^^^^^ not a value