diff options
author | Batuhan Taskaya <batuhanosmantaskaya@gmail.com> | 2020-10-06 23:03:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-06 13:03:02 -0700 |
commit | 044a1048ca93d466965afc027b91a5a9eb9ce23c (patch) | |
tree | 94ef2bca072693d83448edef4009dc840c58a3e2 /Python/future.c | |
parent | bef7d299eb911086ea5a7ccf7a9da337e38a8491 (diff) | |
download | cpython-git-044a1048ca93d466965afc027b91a5a9eb9ce23c.tar.gz |
bpo-38605: Make 'from __future__ import annotations' the default (GH-20434)
The hard part was making all the tests pass; there are some subtle issues here, because apparently the future import wasn't tested very thoroughly in previous Python versions.
For example, `inspect.signature()` returned type objects normally (except for forward references), but strings with the future import. We changed it to try and return type objects by calling `typing.get_type_hints()`, but fall back on returning strings if that function fails (which it may do if there are future references in the annotations that require passing in a specific namespace to resolve).
Diffstat (limited to 'Python/future.c')
-rw-r--r-- | Python/future.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Python/future.c b/Python/future.c index 3cea4fee78..4b73eb6412 100644 --- a/Python/future.c +++ b/Python/future.c @@ -41,7 +41,7 @@ future_check_features(PyFutureFeatures *ff, stmt_ty s, PyObject *filename) } else if (strcmp(feature, FUTURE_GENERATOR_STOP) == 0) { continue; } else if (strcmp(feature, FUTURE_ANNOTATIONS) == 0) { - ff->ff_features |= CO_FUTURE_ANNOTATIONS; + continue; } else if (strcmp(feature, "braces") == 0) { PyErr_SetString(PyExc_SyntaxError, "not a chance"); |