Skip to content

Commit 900f32e

Browse files
authored
Defer PEP 558 (defined semantics for locals()) once more (#3050)
1 parent 26f6303 commit 900f32e

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

pep-0558.rst

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,40 @@ Title: Defined semantics for locals()
33
Author: Nick Coghlan <[email protected]>
44
BDFL-Delegate: Nathaniel J. Smith
55
Discussions-To: [email protected]
6-
Status: Draft
6+
Status: Deferred
77
Type: Standards Track
88
Content-Type: text/x-rst
99
Created: 08-Sep-2017
10-
Python-Version: 3.12
10+
Python-Version: 3.13
1111
Post-History: 08-Sep-2017, 22-May-2019, 30-May-2019, 30-Dec-2019, 18-Jul-2021,
1212
26-Aug-2021
1313

14+
PEP Deferral
15+
============
16+
17+
While the original reference implementation for this PEP served a useful purpose
18+
in determining that it *is* feasible to solve the known problems with the
19+
semantics of the ``locals()`` namespace, that implementation itself is no longer
20+
viable as an implementation of the PEP as written.
21+
22+
This situation came about for two main reasons:
23+
24+
* first, several keys parts of the original implementation were invalidated when
25+
the semantic improvements arising from the development of :pep:`667` resulted in
26+
the PEP as written diverging from what had previously been implemented
27+
* second, several remaining practical aspects of the original implementation were
28+
invalidated by the frame management changes that formed part of the significant
29+
performance improvements published in the CPython 3.11 release, so the development
30+
branch doesn't even offer a useful starting point for an updated implementation
31+
32+
As a result, further progress on this PEP requires the development of a new reference
33+
implementation, either for this PEP or for :pep:`667` (the semantics of the two PEPs
34+
are so close together now that an implementation for either would require only a few
35+
relatively small changes to instead implement the other).
36+
37+
Since the PEP author has no current plans to produce that new reference implementation
38+
themselves, but the semantics proposed by the PEPs seem generally acceptable to the
39+
Python core development team, the most appropriate state for the PEP is "Deferred".
1440

1541
Abstract
1642
========

0 commit comments

Comments
 (0)