Rust 1.40 adds a feature that stops consumers matching on structs or enums exhaustively, so extending them is not a breaking change! There's a cute todo!() macro too. https://blog.rust-lang.org/2019/12/19/Rust-1.40.0.html