It seems that upstream has fixed line numbers in some of the expections
in Python 3.10.0rc1, so update the tests accordingly. This means that
test_non_async_in_async() gets the correct line again,
and test_default_except_error_postition() no longer suffers from
the apparent off-by-one problem.
This doesn't fix tests entirely with Python 3.10 but it's a step
forward.
- Properly check for starred expression deletion
- Check for starred expressions not in tuple/list/set (when not in assignment)
- Fix a bug that considered starred expression assignment `[*x] = 1` as invalid
- Enhance test cases for valid and invalid `del` statements and starred expressions
Thanks to [bpo-32489](https://bugs.python.org/issue32489) and sadly
for rejection of my [PEP 601](https://www.python.org/dev/peps/pep-0601/)
finally in continue is supported in 3.8+. I checked the blame and looks
like there was already a commit for the same subject, but that only
changes the test and not actually changes the checker (dfe7fba08e)
PEP 563 brought a new `__future__` import for post-poning evaluation
of annotations that introduced in 3.7. This patch adds support for
that future feature, and removes 'all_feature_names' from that list
since it is not valid a syntax
(`from __future__ import all_feature_names`). Also it fixes a bug
related usage of `ALLOWED_FUTURES` (global and version independant
flags) instead of `allowed_futures` (extended version of the previ
ous flag that has some version specific flags, probably unnoticed)
* Revision on assignment expression errors
* added rule for __debug__ (should be a keyword)
* reviewed error messages
* added new failing samples
* Adjustment upon Dave's review
* rewind several changes in assignment errors
* patched is_definition: command not found for assignment expressions
* patched Python 2 inconsistent error messages in test_python_errors.py: command not found