[3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)

Turn deprecation warnings added in 3.8 into TypeError.
This commit is contained in:
Serhiy Storchaka 2019-06-05 18:22:31 +03:00 committed by GitHub
parent 6c01ebcc0d
commit 142566c028
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 45 additions and 330 deletions

View file

@ -103,28 +103,12 @@ class Profile(_lsprof.Profiler):
return self
# This method is more useful to profile a single function call.
def runcall(*args, **kw):
if len(args) >= 2:
self, func, *args = args
elif not args:
raise TypeError("descriptor 'runcall' of 'Profile' object "
"needs an argument")
elif 'func' in kw:
func = kw.pop('func')
self, *args = args
import warnings
warnings.warn("Passing 'func' as keyword argument is deprecated",
DeprecationWarning, stacklevel=2)
else:
raise TypeError('runcall expected at least 1 positional argument, '
'got %d' % (len(args)-1))
def runcall(self, func, /, *args, **kw):
self.enable()
try:
return func(*args, **kw)
finally:
self.disable()
runcall.__text_signature__ = '($self, func, /, *args, **kw)'
def __enter__(self):
self.enable()