|  | error[E0307]: invalid `self` parameter type: `T` | 
|  | --> $DIR/issue-66312.rs:4:22 | 
|  | | | 
|  | LL |     fn is_some(self: T); | 
|  | |                      ^ | 
|  | | | 
|  | = note: type of `self` must be `Self` or a type that dereferences to it | 
|  | = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`) | 
|  |  | 
|  | error[E0308]: mismatched types | 
|  | --> $DIR/issue-66312.rs:9:8 | 
|  | | | 
|  | LL |     if x.is_some() { | 
|  | |        ^^^^^^^^^^^ expected `bool`, found `()` | 
|  |  | 
|  | error: aborting due to 2 previous errors | 
|  |  | 
|  | Some errors have detailed explanations: E0307, E0308. | 
|  | For more information about an error, try `rustc --explain E0307`. |