[Docs] intro typo
[Docs] more intro typos
auto merge of #18145 : neilpa/rust/master, r=steveklabnik

Noticed a type while reading through the intro
Do not accept functions in enum patterns past resolve
Overhaul typechecking of patterns

Instead of checking patterns in a top-down fashion with a known
expected type on entry, this changes makes typeck establish
appropriate constraints between a pattern and the expression
it destructures, and lets inference compute the final types
or produce good error messages if it's impossible.
Update tests with the new error messages