error[E0308]: `?` operator has incompatible types --> $DIR/issue-51632-try-desugar-incompatible-types.rs:8:5 | LL | missing_discourses()? | ^^^^^^^^^^^^^^^^^^^^^ expected `Result`, found `isize` | = note: `?` operator cannot convert from `isize` to `Result` = note: expected enum `Result` found type `isize` help: try removing this `?` | LL - missing_discourses()? LL + missing_discourses() | help: try wrapping the expression in `Ok` | LL | Ok(missing_discourses()?) | +++ + error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.