|  | error[E0308]: mismatched types | 
|  | --> tests/ui/self-span.rs:17:21 | 
|  | | | 
|  | 17 |         let _: () = self; | 
|  | |                --   ^^^^ expected `()`, found `S` | 
|  | |                | | 
|  | |                expected due to this | 
|  |  | 
|  | error: the `Self` constructor can only be used with tuple or unit structs | 
|  | --> tests/ui/self-span.rs:18:23 | 
|  | | | 
|  | 18 |         let _: Self = Self; | 
|  | |                       ^^^^ help: use curly brackets: `Self { /* fields */ }` | 
|  |  | 
|  | error[E0308]: mismatched types | 
|  | --> tests/ui/self-span.rs:25:21 | 
|  | | | 
|  | 25 |         let _: () = self; | 
|  | |                --   ^^^^ expected `()`, found `E` | 
|  | |                | | 
|  | |                expected due to this | 
|  |  | 
|  | error[E0533]: expected value, found struct variant `Self::V` | 
|  | --> tests/ui/self-span.rs:26:23 | 
|  | | | 
|  | 26 |         let _: Self = Self::V; | 
|  | |                       ^^^^^^^ not a value | 
|  | | | 
|  | help: you might have meant to create a new value of the struct | 
|  | | | 
|  | 26 |         let _: Self = Self::V {}; | 
|  | |                               ++ |