In addition, all future_statments must appear near the top of the module. The only lines that can appear before a future_statement are:
- The module docstring (if any).
- Blank lines.
- Other future_statements.
I would like to add another restriction:
A future_statement must appear on a line by itself. It is not legal to combine a future_statement without any other statement using a semicolon.
It would be a bear to implement error handling for cases like this:
from __future__ import a; import b; from __future__ import c
Will the error be unclear for the user or there's another problem?
In jython I get from parser an abstract syntax tree, so it is difficult to distringuish the ; from true newlines ;)