From e0bbe77c687663fef99aaa072e8a47ccef57f6bb Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Sat, 11 Mar 2023 17:33:42 +1000 Subject: [PATCH 1/2] Defer PEP 558 --- pep-0558.rst | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/pep-0558.rst b/pep-0558.rst index c9b22d02c20..eaac863fc40 100644 --- a/pep-0558.rst +++ b/pep-0558.rst @@ -3,14 +3,40 @@ Title: Defined semantics for locals() Author: Nick Coghlan BDFL-Delegate: Nathaniel J. Smith Discussions-To: python-dev@python.org -Status: Draft +Status: Deferred Type: Standards Track Content-Type: text/x-rst Created: 08-Sep-2017 -Python-Version: 3.12 +Python-Version: 3.13 Post-History: 08-Sep-2017, 22-May-2019, 30-May-2019, 30-Dec-2019, 18-Jul-2021, 26-Aug-2021 +PEP Deferral +============ + +While the original reference implementation for this PEP served a useful purpose +in determining that it *is* feasible to solve the known problems with the +semantics of the `locals()` namespace, that implementation itself is no longer +viable as an implementation of the PEP as written. + +This situation came about for two main reasons: + +* first, several keys parts of the original implementation were invalidated when + the semantic improvements arising from the development of :pep:`667` resulted in + the PEP as written diverging from what had previously been implemented +* second, several remaining practical aspects of the original implementation were + invalidated by the frame management changes that formed part of the significant + performance improvements published in the CPython 3.11 release, so the development + branch doesn't even offer a useful starting point for an updated implementation + +As a result, further progress on this PEP requires the development of a new reference +implementation, either for this PEP or for :pep:`667` (the semantics of the two PEPs +are so close together now that an implementation for either would require only a few +relatively small changes to instead implement the other). + +Since the PEP author has no current plans to produce that new reference implementation +themselves, but the semantics proposed by the PEPs seem generally acceptable to the +Python core development team, the most appropriate state for the PEP is "Deferred". Abstract ======== From 7ed9477d2c796350fae922f0ccc62229126447b9 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Sat, 11 Mar 2023 17:42:25 +1000 Subject: [PATCH 2/2] Fix markup --- pep-0558.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pep-0558.rst b/pep-0558.rst index eaac863fc40..07f41e9ffaf 100644 --- a/pep-0558.rst +++ b/pep-0558.rst @@ -16,7 +16,7 @@ PEP Deferral While the original reference implementation for this PEP served a useful purpose in determining that it *is* feasible to solve the known problems with the -semantics of the `locals()` namespace, that implementation itself is no longer +semantics of the ``locals()`` namespace, that implementation itself is no longer viable as an implementation of the PEP as written. This situation came about for two main reasons: