cpython/Lib
Ken Jin fa674bdea3
[3.9] bpo-41249: Fix postponed annotations for TypedDict (GH-27017) (GH-27205)
This fixes TypedDict to work with get_type_hints and postponed evaluation of annotations across modules.

This is done by adding the module name to ForwardRef at the time the object is created and using that to resolve the globals during the evaluation.

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Germán Méndez Bravo <german.mb@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-07-17 11:36:38 +02:00
..
asyncio bpo-41891: ensure asyncio.wait_for waits for task completion (GH-22461) (#23840) 2020-12-18 11:19:10 -08:00
collections bpo-43102: Set namedtuple __new__'s internal builtins to a dict. (GH-24439) (GH-24452) 2021-02-04 16:12:34 -08:00
concurrent bpo-35930: Raising an exception raised in a "future" instance will create reference cycles (GH-24995) (#25070) 2021-03-29 19:53:54 +02:00
ctypes bpo-32745: Fix a regression in the handling of ctypes' c_wchar_p type (GH-8721) (#25812) 2021-05-02 13:03:10 +02:00
curses
dbm
distutils [3.9] bpo-43568: Relax distutils MACOSX_DEPLOYMENT_TARGET check (GH-25827) (GH-26001) 2021-06-02 20:25:15 -04:00
email bpo-44395: Fix MIMEPart.as_string to pass unixfrom properly (GH-26685) 2021-06-21 07:27:42 -07:00
encodings bpo-30566: Fix IndexError when using punycode codec (GH-18632) 2020-02-25 06:19:03 +03:00
ensurepip [3.9] Update vendored pip to 21.1.3 (GH-26912). (GH-26915) 2021-06-26 18:59:57 +01:00
html bpo-41748: Handles unquoted attributes with commas (GH-24072) 2021-02-01 12:54:43 -08:00
http bpo-43972: Set content-length to 0 for http.server.SimpleHTTPRequestHandler 301s (GH-25705) 2021-05-06 12:50:54 -07:00
idlelib bpo-40128: Fix IDLE autocomplete on macOS (GH-26672) 2021-06-11 19:24:40 -04:00
importlib bpo-44070: No longer eagerly makes import filenames absolute, except for extension modules (GH-26025) 2021-05-10 23:45:50 +01:00
json bpo-39828: Fix json.tool to catch BrokenPipeError (GH-18779) 2020-03-10 08:41:44 +01:00
lib2to3 bpo-36541: Add lib2to3 grammar PEP-570 pos-only arg parsing (GH-23759) 2020-12-14 09:38:03 -08:00
logging [3.9] bpo-43353: Document that logging.getLevelName() accepts string representation of logging level. (GH-24693) (GH-24826) 2021-03-12 00:46:07 -08:00
msilib
multiprocessing bpo-30256: Add manager_owned keyword arg to AutoProxy (GH-16341) (GH-26989) 2021-07-01 21:35:31 -07:00
pydoc_data Python 3.9.6 2021-06-28 10:26:18 +02:00
site-packages
sqlite3 [3.9] sqlite3 test suite now works with SQLITE_DQS=0 (GH-26032). (GH-26128) 2021-05-15 01:50:03 +09:00
test [3.9] bpo-41249: Fix postponed annotations for TypedDict (GH-27017) (GH-27205) 2021-07-17 11:36:38 +02:00
tkinter [3.9] bpo-43655: Tkinter and IDLE dialog windows are now recognized as dialogs by window managers on macOS and X Window (GH-25187). (GH-25588) 2021-04-25 13:49:31 +03:00
turtledemo bpo-44254: On Mac, remove disfunctional colors from turtledemo buttons (GH-26448) 2021-05-29 04:16:34 -04:00
unittest bpo-39101: Fixes BaseException hang in IsolatedAsyncioTestCase. (GH-22654) 2020-12-16 09:56:10 -08:00
urllib [3.9] bpo-43882 Remove the newline, and tab early. From query and fragments. (#25853) 2021-05-03 12:08:59 -07:00
venv bpo-38972: Fix typos in PowerShell Execution Policies links (GH-20383) 2020-05-25 08:13:49 -07:00
wsgiref
xml bpo-43399: Fix ElementTree.extend not working on iterators (GH-24751) 2021-03-30 14:36:25 -07:00
xmlrpc bpo-43433: Preserve query and fragment in the URL of the server in ServerProxy. (GH-25057) 2021-03-29 07:43:02 -07:00
zoneinfo [3.9] fix typo in warning (GH-20620) (#25601) 2021-04-25 12:25:51 -07:00
__future__.py bpo-41314: fixed annotations __future__ version (GH-21616) 2020-07-25 15:00:48 -07:00
__phello__.foo.py
_aix_support.py bpo-43666: Lib/_aix_support.py routines may fail in a WPAR environment (GH-25095) (#25880) 2021-05-04 11:00:47 +02:00
_bootlocale.py
_bootsubprocess.py bpo-40094: Add os.waitstatus_to_exitcode() (GH-19201) 2020-04-01 18:49:29 +02:00
_collections_abc.py bpo-42195: Override _CallableGenericAlias's __getitem__ (GH-23915) 2020-12-23 19:07:51 -08:00
_compat_pickle.py
_compression.py
_markupbase.py
_osx_support.py [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) (GH-23295) 2020-11-22 11:18:40 +01:00
_py_abc.py
_pydecimal.py bpo-39794: Add --without-decimal-contextvar (#18702) 2020-02-29 19:43:42 +01:00
_pyio.py bpo-39674: Revert "bpo-37330: open() no longer accept 'U' in file mode (GH-16959)" (GH-18767) 2020-03-04 18:50:22 +01:00
_sitebuiltins.py
_strptime.py bpo-43295: Fix error handling of datetime.strptime format string '%z' (GH-24627) (#25695) 2021-05-19 20:37:49 -04:00
_threading_local.py
_weakrefset.py bpo-39481: Make weakref and WeakSet generic (GH-19497) 2020-04-13 21:54:40 -07:00
abc.py Clarify the order of a stacked abstractmethod (GH-26892) 2021-06-27 11:50:45 -07:00
aifc.py
antigravity.py bpo-9216: Nobody expects the geohashing FIPS inquisition (GH-19520) 2020-04-14 12:49:11 -07:00
argparse.py bpo-40862: Raise TypeError when const is given to argparse.BooleanOptionalAction (GH-20623) (GH-20664) 2020-06-05 19:31:18 -07:00
ast.py Fix typo in ast.py (GH-25740) (GH-25894) 2021-05-04 06:39:08 -07:00
asynchat.py
asyncore.py
base64.py bpo-39068: Fix race condition in base64 (GH-17627) 2021-01-01 12:42:44 -08:00
bdb.py fix docstring typo in bdb.py (GH-22323) (#26180) 2021-05-17 00:43:26 +01:00
binhex.py [3.9] bpo-29566: binhex.binhex now consitently writes MacOS 9 line endings. (GH-23059) (GH-23071) 2020-11-01 01:39:26 -08:00
bisect.py
bz2.py bpo-44439: BZ2File.write()/LZMAFile.write() handle length correctly (GH-26846) 2021-06-22 16:57:41 +03:00
calendar.py
cgi.py [3.9] bpo-42967: only use '&' as a query string separator (GH-24297) (#24528) 2021-02-15 10:03:31 -08:00
cgitb.py
chunk.py
cmd.py
code.py Fix documentation in code.py (GH-17988) 2020-01-15 01:17:25 +05:30
codecs.py bpo-14014: Clarify StreamWriter.reset() documentation (GH-13716) 2021-01-06 04:27:30 +02:00
codeop.py [3.9] bpo-41520: Fix second codeop regression (GH-21848) 2020-08-13 14:21:32 -04:00
colorsys.py
compileall.py bpo-40495: compileall option to hardlink duplicate pyc files (GH-19901) 2020-05-14 16:17:22 +02:00
configparser.py bpo-41963: document that ConfigParser strips off comments (GH-26197) (GH-26213) 2021-05-18 18:44:48 +02:00
contextlib.py bpo-39481: Implementation for PEP 585 (#18239) 2020-04-07 09:50:06 -07:00
contextvars.py
copy.py bpo-38293: Allow shallow and deep copying of property objects (GH-16438) 2020-01-12 09:41:49 -08:00
copyreg.py [3.9] bpo-41052: Fix pickling heap types implemented in C with protocols 0 and 1 (GH-22870). (GH-22963) 2020-10-25 17:56:17 +02:00
cProfile.py bpo-42005: profile and cProfile catch BrokenPipeError (GH-22643) 2021-01-20 01:19:08 -08:00
crypt.py
csv.py
dataclasses.py Fix dataclass comment typo _eq__ -> __eq__ (GH-26433) (GH-26437) 2021-05-28 21:07:39 -04:00
datetime.py Fix typo (GH-23019) 2021-02-03 13:48:22 -08:00
decimal.py
difflib.py bpo-40394 - difflib.SequenceMatched.find_longest_match default args (GH-19742) 2020-04-29 22:42:45 -05:00
dis.py bpo-41497: Fix potential UnicodeDecodeError in dis CLI (GH-21757) 2020-08-07 20:24:12 -07:00
doctest.py bpo-1812: Fix newline conversion when doctest.testfile loads from a package whose loader has a get_data method (GH-17385) 2020-03-26 10:53:16 -05:00
enum.py [Enum] improve pickle support (#26666) 2021-06-11 01:26:32 -07:00
filecmp.py bpo-39481: PEP 585 for difflib, filecmp, fileinput (#19422) 2020-04-09 21:47:31 -07:00
fileinput.py bpo-39481: PEP 585 for difflib, filecmp, fileinput (#19422) 2020-04-09 21:47:31 -07:00
fnmatch.py bpo-36769: Document that fnmatch.filter supports any kind of iterable (GH-13039) 2020-12-18 11:34:27 -08:00
formatter.py
fractions.py bpo-39350: Fix fractions for int subclasses (GH-18375) 2020-02-07 23:42:51 +01:00
ftplib.py bpo-43285 Make ftplib not trust the PASV response. (GH-24838) 2021-03-15 12:02:45 -07:00
functools.py bpo-17005: Move topological sort functionality to its own module (GH-20558) 2020-05-31 17:01:37 -07:00
genericpath.py
getopt.py
getpass.py update docstring for win_getpass to reflect code changes (GH-24967) 2021-05-04 00:10:32 -07:00
gettext.py bpo-40275: Import locale module lazily in gettext (GH-19905) 2020-05-14 03:22:30 +02:00
glob.py [3.9] bpo-44482: Fix very unlikely resource leak in glob in non-CPython implementations (GH-26843). (GH-26916) 2021-06-27 14:28:24 +03:00
graphlib.py [doc] Fix typo in the graphlib docs (GH-22661) (GH-22669) 2020-10-12 21:27:05 +01:00
gzip.py [3.9] Fix typo in comment (GH-26162) (GH-26165) 2021-05-16 11:08:10 -07:00
hashlib.py [3.9] Improve blake2 comment for Victor (GH-20981) (GH-20982) 2020-07-28 12:29:46 -07:00
heapq.py
hmac.py [3.9] bpo-40791: Use CRYPTO_memcmp() for compare_digest (GH-20456) (GH-20461) 2020-05-28 05:09:38 -07:00
imaplib.py bpo-40375: Implement imaplib.IMAP4.unselect (GH-19712) 2020-04-27 23:52:55 +09:00
imghdr.py [3.9] bpo-41043: Escape literal part of the path for glob(). (GH-20994). (GH-21275) 2020-07-02 10:05:16 +03:00
imp.py bpo-39674: Revert "bpo-37330: open() no longer accept 'U' in file mode (GH-16959)" (GH-18767) 2020-03-04 18:50:22 +01:00
inspect.py bpo-40897:Give priority to using the current class constructor in inspect.signature (GH-27177) (GH-27209) 2021-07-17 10:36:31 +02:00
io.py
ipaddress.py bpo-36384: Leading zeros in IPv4 addresses are no longer tolerated (GH-25099) (GH-25815) 2021-05-02 15:49:03 +02:00
keyword.py [3.9] Include soft keywords in keyword.py (GH-20877). (GH-20880) 2020-06-15 04:31:05 +01:00
linecache.py issue-25872: Fix KeyError using linecache from multiple threads (GH-18007) 2020-05-13 18:41:57 -04:00
locale.py bpo-38536: locale: Remove trailing space in formatted currency (GH-16864) 2020-01-20 12:45:50 +09:00
lzma.py bpo-44439: BZ2File.write()/LZMAFile.write() handle length correctly (GH-26846) 2021-06-22 16:57:41 +03:00
mailbox.py bpo-39481: PEP 585 for dataclasses, mailbox, contextvars (GH-19425) 2020-04-14 16:14:15 -07:00
mailcap.py bpo-40094: mailcap.test() uses waitstatus_to_exitcode() (GH-19287) 2020-04-02 02:00:06 +02:00
mimetypes.py bpo-41048: mimetypes should read the rule file using UTF-8, not the locale encoding (GH-20998) 2020-06-29 05:07:31 -07:00
modulefinder.py bpo-40443: Remove unused imports in the stdlib (GH-19803) 2020-04-30 11:26:33 +02:00
netrc.py
nntplib.py bpo-39305: Update nntplib to merge nntplib.NNTP and nntplib._NNTPBase (GH-19817) 2020-05-16 19:31:54 +09:00
ntpath.py
nturl2path.py bpo-43607: Fix urllib handling of Windows paths with \\?\ prefix (GH-25539) 2021-04-23 10:28:05 -07:00
numbers.py bpo-44072: fix Complex, Integral docs for ** (GH-25986) 2021-05-14 15:25:43 -07:00
opcode.py bpo-39320: Handle unpacking of **values in compiler (GH-18141) 2020-01-27 09:57:45 +00:00
operator.py [3.9] bpo-44558: Match countOf is/== treatment to c (GH-27007). (GH-27055) 2021-07-07 23:55:22 +09:00
optparse.py
os.py bpo-39481: Implementation for PEP 585 (#18239) 2020-04-07 09:50:06 -07:00
pathlib.py bpo-44040: Update broken link in pathlib source (GH-25905) (GH-25911) 2021-05-05 10:53:54 +02:00
pdb.py bpo-34266: [pdb] handle ValueError from shlex.split() (GH-26656) (GH-27005) 2021-07-03 17:05:33 +01:00
pickle.py bpo-42406: Fix whichmodule() with multiprocessing (GH-23403) 2020-11-29 10:47:31 -08:00
pickletools.py
pipes.py
pkgutil.py bpo-44061: Fix pkgutil.iter_modules regression when passed a pathlib.Path object (GH-25964) (GH-26052) 2021-05-12 11:48:50 +02:00
platform.py bpo-44572: On Windows, disconnect STDIN in platform._syscmd_ver() to prevent erroneous STDIN consumption (GH-27092) 2021-07-14 17:17:18 +01:00
plistlib.py bpo-42249: Fix writing binary Plist files larger than 4 GiB. (GH-23121) 2020-11-03 13:32:59 -08:00
poplib.py bpo-39259: poplib now rejects timeout = 0 (GH-17912) 2020-01-10 15:34:05 +01:00
posixpath.py bpo-26329: update os.path.normpath documentation (GH-20138) (#27095) 2021-07-12 17:22:33 +02:00
pprint.py
profile.py bpo-42005: profile and cProfile catch BrokenPipeError (GH-22643) 2021-01-20 01:19:08 -08:00
pstats.py bpo-41811: create SortKey members using first given value (GH-22316) (GH-22325) 2020-09-19 12:56:13 -07:00
pty.py bpo-39184: Add audit events to command execution functions in os and pty modules (GH-17824) 2020-02-05 11:15:00 +11:00
py_compile.py bpo-38731: Fix NameError in command-line interface of py_compile (GH-21617) 2020-07-25 23:43:47 +03:00
pyclbr.py
pydoc.py bpo-42988: Remove the pydoc getfile feature (GH-25015) 2021-03-29 06:08:00 -07:00
queue.py bpo-39481: PEP 585 for a variety of modules (GH-19423) 2020-04-10 07:46:36 -07:00
quopri.py
random.py bpo-44018: random.seed() no longer mutates its inputs (GH-25856) (GH-25864) 2021-05-03 16:36:14 -07:00
re.py bpo-40016: re docstring: Clarify relationship of inline and argument flags (#19078) 2020-03-25 14:44:47 -04:00
reprlib.py
rlcompleter.py
runpy.py bpo-40108: Improve the error message in runpy when importing a module that includes the extension (GH-19239) 2020-03-31 12:23:55 +01:00
sched.py
secrets.py bpo-40286: Add randbytes() method to random.Random (GH-19527) 2020-04-17 19:05:35 +02:00
selectors.py bpo-41182 selector: use DefaultSelector based upon implementation (GH-21257) 2020-07-26 08:32:25 -07:00
shelve.py
shlex.py bpo-33262: Deprecate passing None for s to shlex.split() (GH-6514) 2020-04-01 09:58:55 -04:00
shutil.py [3.9] bpo-43219: shutil.copyfile, raise a less confusing exception instead of IsADirectoryError (GH-27049) (GH-27082) 2021-07-09 21:13:59 -07:00
signal.py
site.py bpo-41193: Ignore OSError in readline write_history() (GH-21279) 2020-07-02 04:02:16 -07:00
smtpd.py
smtplib.py Quick pydoc update to smtplib.py (GH-22292) (GH-25615) 2021-04-25 21:03:54 -07:00
sndhdr.py [3.9] bpo-41043: Escape literal part of the path for glob(). (GH-20994). (GH-21275) 2020-07-02 10:05:16 +03:00
socket.py Fix host in address of socket.create_server example. (GH-17706) 2020-01-11 10:46:30 +05:30
socketserver.py [3.9] bpo-37193: Remove thread objects which finished process its request (GH-23127) (GH-24750) 2021-03-04 08:36:41 -08:00
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py bpo-40443: Remove unused imports in stdlib (GH-19815) 2020-05-01 02:38:00 +02:00
stat.py
statistics.py Some reformatting (suggested by Black) and minor factoring. (GH-20865) (GH-20866) 2020-06-13 19:53:32 -07:00
string.py
stringprep.py
struct.py
subprocess.py [3.9] bpo-43776: Remove list call from args in Popen repr (GH-25338) (GH-26510) 2021-06-02 21:15:26 -07:00
sunau.py
symbol.py bpo-40759: Deprecate the symbol module (GH-20364) 2020-05-31 15:23:29 -07:00
symtable.py [3.9] bpo-41840: Report module-level globals as both local and global in the symtable module (GH-22391). (GH-22528) 2020-10-03 21:23:03 +01:00
sysconfig.py bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a string (GH-24341) (GH-24410) 2021-01-31 23:22:48 -05:00
tabnanny.py
tarfile.py bpo-12800: tarfile: Restore fix from 011525ee9 (GH-21409) 2020-11-25 01:52:51 -08:00
telnetlib.py
tempfile.py bpo-41410: Fix outdated info in mkstemp docs (GH-21701) 2020-08-13 18:53:43 -07:00
textwrap.py
this.py
threading.py bpo-44422: Fix threading.enumerate() reentrant call (GH-26727) (GH-26738) 2021-06-15 18:30:26 +02:00
timeit.py bpo-40419: timeit CLI docs now mention 1,2,5,10,... trials instead of powers of 10 (GH-19752) 2020-05-02 19:12:05 +03:00
token.py
tokenize.py
trace.py bpo-41138: Fix trace CLI for non-UTF-8 files. (GH-21177) 2020-06-28 03:52:26 -07:00
traceback.py [3.9] bpo-43048: RecursionError traceback RecursionError bugfix for cpy3.9 (GH-24460) (#24460) 2021-07-12 17:58:47 +02:00
tracemalloc.py bpo-37961: Fix regression in tracemalloc.Traceback.__repr__ (GH-23805) 2020-12-16 14:01:14 -08:00
tty.py
turtle.py bpo-43935: Fix typo in Turtle.back() docstring (GH-25581) 2021-04-30 15:27:48 -07:00
types.py bpo-39481: Implementation for PEP 585 (#18239) 2020-04-07 09:50:06 -07:00
typing.py [3.9] bpo-41249: Fix postponed annotations for TypedDict (GH-27017) (GH-27205) 2021-07-17 11:36:38 +02:00
uu.py
uuid.py bpo-41364: Reduce import overhead of uuid module (GH-21586) 2020-07-21 17:09:32 -07:00
warnings.py bpo-39056: Fix handling invalid warning category in the -W option. (GH-17618) 2020-01-05 14:15:27 +02:00
wave.py
weakref.py bpo-36144: Add union operators to WeakValueDictionary584 (#19127) 2020-03-24 18:51:29 -07:00
webbrowser.py bpo-41754: Ignore NotADirectoryError in invocation of xdg-settings (GH-23075) 2020-11-08 02:07:44 -08:00
xdrlib.py
zipapp.py
zipfile.py bpo-40105: ZipFile truncate in append mode with shorter comment (GH-19337) 2020-09-28 13:18:47 -07:00
zipimport.py [3.9] bpo-40924: Revert "bpo-39791 native hooks for importlib.resources.files (GH-20576)" (#20760) 2020-06-09 19:50:01 +02:00