Allow disabling of ergonomic features on a per-crate basis?

I’ve already run into situations once or twice where the match ergonomics have introduced references I didn’t know about, and for that to bite me later on when I modified the code. It’s awkward to reason about values that may or may not be references.

Furthermore, my argument was to allow only ergonomic features to be disabled, either via lints or whatever. They are the only opinionated syntactic sugar I can think of that has been added recently.

Even the ? operator is totally optional. impl Trait is optional (although very useful, obviously).

Match ergonomics are forced, everywhere, even in places you wouldn’t expect like in structure destructuring.

5 Likes