mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-43693 Get rid of CO_NOFREE -- it's unused (GH-26839)
All uses of this flag are either setting it or in doc or tests for it. So we should be able to get rid of it completely.
This commit is contained in:
parent
34356a0a4b
commit
769d7d0c66
10 changed files with 239 additions and 260 deletions
|
@ -49,7 +49,7 @@ varnames: ('x', 'y', 'a', 'b', 'c')
|
|||
cellvars: ()
|
||||
freevars: ()
|
||||
nlocals: 5
|
||||
flags: 67
|
||||
flags: 3
|
||||
consts: ('None',)
|
||||
|
||||
>>> def attrs(obj):
|
||||
|
@ -67,7 +67,7 @@ varnames: ('obj',)
|
|||
cellvars: ()
|
||||
freevars: ()
|
||||
nlocals: 1
|
||||
flags: 67
|
||||
flags: 3
|
||||
consts: ('None',)
|
||||
|
||||
>>> def optimize_away():
|
||||
|
@ -86,7 +86,7 @@ varnames: ()
|
|||
cellvars: ()
|
||||
freevars: ()
|
||||
nlocals: 0
|
||||
flags: 67
|
||||
flags: 3
|
||||
consts: ("'doc string'", 'None')
|
||||
|
||||
>>> def keywordonly_args(a,b,*,k1):
|
||||
|
@ -103,7 +103,7 @@ varnames: ('a', 'b', 'k1')
|
|||
cellvars: ()
|
||||
freevars: ()
|
||||
nlocals: 3
|
||||
flags: 67
|
||||
flags: 3
|
||||
consts: ('None',)
|
||||
|
||||
>>> def posonly_args(a,b,/,c):
|
||||
|
@ -120,7 +120,7 @@ varnames: ('a', 'b', 'c')
|
|||
cellvars: ()
|
||||
freevars: ()
|
||||
nlocals: 3
|
||||
flags: 67
|
||||
flags: 3
|
||||
consts: ('None',)
|
||||
|
||||
"""
|
||||
|
@ -199,10 +199,6 @@ class CodeTest(unittest.TestCase):
|
|||
class_ref = function.__closure__[0].cell_contents
|
||||
self.assertIs(class_ref, List)
|
||||
|
||||
# Ensure the code correctly indicates it accesses a free variable
|
||||
self.assertFalse(function.__code__.co_flags & inspect.CO_NOFREE,
|
||||
hex(function.__code__.co_flags))
|
||||
|
||||
# Ensure the zero-arg super() call in the injected method works
|
||||
obj = List([1, 2, 3])
|
||||
self.assertEqual(obj[0], "Foreign getitem: 1")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue