error[E0308]: mismatched types --> $DIR/issue-108470.rs:14:9 | LL | t | ^ expected `Thing`, found `&Thing` | help: consider using clone here | LL | t: t.clone() | +++++++++++ error[E0308]: mismatched types --> $DIR/issue-108470.rs:25:9 | LL | t | ^ expected `bool`, found `Option` | = note: expected type `bool` found enum `Option` help: use `Option::is_some` to test if the `Option` has a value | LL | t: t.is_some() | +++++++++++++ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.