Correct. If/else doesn't. let does. When you destruct something with a let statement today, you are doing some form of pattern matching with let. So nothing will be changed.
What is reality? Do you know that if let construct removed from compiler and it is currently implemented with let expressions? And these changes are implemented but explicitly rejected. If reality is what is implemented in the compiler, then this mental model is closer to reality.
From feedback I got from you all, I understand that replacing matches! isn't enough motivation for a new RFC. So I put the incremental approach away and combine all of features in a single RFC. The draft of RFC is here. It isn't complete yet and unfortunately my English is very bad (I'm not native English speaker and learned it from internet) so ideas and helps, specially help in fixing English grammar errors are welcome.