Rollup merge of #45639 - LaurentMazare:master, r=petrochenkov
Add a nicer error message for missing in for loop, fixes #40782.
As suggested by @estebank in issue #40782, this works in the same way as #42578: if the in keyword is missing, we continue parsing the expression and if this works correctly an adapted error message is produced. Otherwise we return the old error.
A specific test case has also been added.
This is my first PR on rust-lang/rust so any feedback is very welcome.