error[E0308]: mismatched types --> $DIR/self-span.rs:17:21 | 17 | let _: () = self; | -- ^^^^ expected `()`, found struct `S` | | | expected due to this error: the `Self` constructor can only be used with tuple or unit structs --> $DIR/self-span.rs:18:23 | 18 | let _: Self = Self; | ^^^^ help: use curly brackets: `Self { /* fields */ }` error[E0308]: mismatched types --> $DIR/self-span.rs:25:21 | 25 | let _: () = self; | -- ^^^^ expected `()`, found enum `E` | | | expected due to this error[E0533]: expected unit struct, unit variant or constant, found struct variant `Self::V` --> $DIR/self-span.rs:26:23 | 26 | let _: Self = Self::V; | ^^^^^^^