error[E0308]: match arms have incompatible types --> $DIR/issue-17728.rs:110:5 | LL | / match to_parse { //~ ERROR match arms have incompatible types LL | | "w" | "west" => RoomDirection::West, LL | | "e" | "east" => RoomDirection::East, LL | | "n" | "north" => RoomDirection::North, ... | LL | | _ => None | | ---- match arm with an incompatible type LL | | } | |_____^ expected enum `RoomDirection`, found enum `std::option::Option` | = note: expected type `RoomDirection` found type `std::option::Option<_>` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.