From 7eb43b7c708e210821208a9a52f57f8879d7c8fc Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 14 Sep 2009 14:08:54 +0000 Subject: #6574: list the future features in a table. --- Doc/library/__future__.rst | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/Doc/library/__future__.rst b/Doc/library/__future__.rst index 29f3109..8945c5d 100644 --- a/Doc/library/__future__.rst +++ b/Doc/library/__future__.rst @@ -10,9 +10,9 @@ * To avoid confusing existing tools that analyze import statements and expect to find the modules they're importing. -* To ensure that future_statements run under releases prior to 2.1 at least - yield runtime exceptions (the import of :mod:`__future__` will fail, because - there was no module of that name prior to 2.1). +* To ensure that :ref:`future statements ` run under releases prior to + 2.1 at least yield runtime exceptions (the import of :mod:`__future__` will + fail, because there was no module of that name prior to 2.1). * To document when incompatible changes were introduced, and when they will be --- or were --- made mandatory. This is a form of executable documentation, and @@ -56,7 +56,34 @@ argument to the built-in function :func:`compile` to enable the feature in dynamically compiled code. This flag is stored in the :attr:`compiler_flag` attribute on :class:`_Feature` instances. -No feature description will ever be deleted from :mod:`__future__`. +No feature description will ever be deleted from :mod:`__future__`. Since its +introduction in Python 2.1 the following features have found their way into the +language using this mechanism: + ++------------------+-------------+--------------+---------------------------------------------+ +| feature | optional in | mandatory in | effect | ++==================+=============+==============+=============================================+ +| nested_scopes | 2.1.0b1 | 2.2 | :pep:`227`: | +| | | | *Statically Nested Scopes* | ++------------------+-------------+--------------+---------------------------------------------+ +| generators | 2.2.0a1 | 2.3 | :pep:`255`: | +| | | | *Simple Generators* | ++------------------+-------------+--------------+---------------------------------------------+ +| division | 2.2.0a2 | 3.0 | :pep:`238`: | +| | | | *Changing the Division Operator* | ++------------------+-------------+--------------+---------------------------------------------+ +| absolute_import | 2.5.0a1 | 2.7 | :pep:`328`: | +| | | | *Imports: Multi-Line and Absolute/Relative* | ++------------------+-------------+--------------+---------------------------------------------+ +| with_statement | 2.5.0a1 | 2.6 | :pep:`343`: | +| | | | *The "with" Statement* | ++------------------+-------------+--------------+---------------------------------------------+ +| print_function | 2.6.0a2 | 3.0 | :pep:`3105`: | +| | | | *Make print a function* | ++------------------+-------------+--------------+---------------------------------------------+ +| unicode_literals | 2.6.0a2 | 3.0 | :pep:`3112`: | +| | | | *Bytes literals in Python 3000* | ++------------------+-------------+--------------+---------------------------------------------+ .. seealso:: -- cgit v0.12