But how can you decrement a future dated wish, since you can’t guarantee nothing will happen that prevents the genies ability from executing said wish? E.g. i mean like telling the Genie to do something 5 days from now, not your example which would begin immediately after making said wish.
You decrement the wish counter first, execute the action (which includes waiting those 5 days), and if it fails you increment the counter back. Something like this:
But how can you decrement a future dated wish, since you can’t guarantee nothing will happen that prevents the genies ability from executing said wish? E.g. i mean like telling the Genie to do something 5 days from now, not your example which would begin immediately after making said wish.
You decrement the wish counter first, execute the action (which includes waiting those 5 days), and if it fails you increment the counter back. Something like this:
wishes = wishes - 1; executeWish(wish).unwrap_or_else(|_| { wishes = wishes + 1; })?This way if the action fails in the future, you get a wish back and can ask something else.