| """__future__: Record of phased-in incompatible language changes. |
| |
| Each line is of the form: |
| |
| FeatureName = ReleaseInfo |
| |
| ReleaseInfo is a pair of the form: |
| |
| (OptionalRelease, MandatoryRelease) |
| |
| where, normally, OptionalRelease < MandatoryRelease, and both are 5-tuples |
| of the same form as sys.version_info: |
| |
| (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int |
| PY_MINOR_VERSION, # the 1; an int |
| PY_MICRO_VERSION, # the 0; an int |
| PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string |
| PY_RELEASE_SERIAL # the 3; an int |
| ) |
| |
| OptionalRelease records the first release in which |
| |
| from __future__ import FeatureName |
| |
| was accepted. |
| |
| In the case of MandatoryReleases that have not yet occurred, |
| MandatoryRelease predicts the release in which the feature will become part |
| of the language. |
| |
| Else MandatoryRelease records when the feature became part of the language; |
| in releases at or after that, modules no longer need |
| |
| from __future__ import FeatureName |
| |
| to use the feature in question, but may continue to use such imports. |
| |
| MandatoryRelease may also be None, meaning that a planned feature got |
| dropped. |
| |
| No line is ever to be deleted from this file. |
| """ |
| |
| nested_scopes = (2, 1, 0, "beta", 1), (2, 2, 0, "final", 0) |