Added another enum member called None and it's much cleaner. Although members with no type give my C-programmer soul the heebie-jeebies.
Enum conversion is complete for dice.rs. I left the separate usizes on DiceRoll in place though - I couldn't see a way to update it without complicating DiceRoll::total unnecessarily.
Bot has…
After looking at it further, the weird error type is irrelevant. Every possible arm of the match at this point either assigns Drop or Keep, or leaves a default Keep = Count if the parse fails.
This is proving more difficult than I anticipated: it looks like nom is using its own error type? Not sure how to resolve this one, although I agree unwrap is a problem.
error[E0271]: type…
I'll give those changes a stab. While in theory you could have both "drop highest" and "keep highest i.e. drop lowest" on the same roll, I didn't provide a way to enter it, so an enum make sense…