bpo-39435: Make the first argument of pickle.loads() positional-only. (GH-19846)
It was positional-only de facto: documentation and two implementations used three different name.
This commit is contained in:
parent
d2baff4301
commit
531d1e5412
|
@ -252,7 +252,7 @@ process more convenient:
|
||||||
.. versionchanged:: 3.8
|
.. versionchanged:: 3.8
|
||||||
The *buffers* argument was added.
|
The *buffers* argument was added.
|
||||||
|
|
||||||
.. function:: loads(data, \*, fix_imports=True, encoding="ASCII", errors="strict", buffers=None)
|
.. function:: loads(data, /, \*, fix_imports=True, encoding="ASCII", errors="strict", buffers=None)
|
||||||
|
|
||||||
Return the reconstituted object hierarchy of the pickled representation
|
Return the reconstituted object hierarchy of the pickled representation
|
||||||
*data* of an object. *data* must be a :term:`bytes-like object`.
|
*data* of an object. *data* must be a :term:`bytes-like object`.
|
||||||
|
|
|
@ -13,7 +13,7 @@ Functions:
|
||||||
dump(object, file)
|
dump(object, file)
|
||||||
dumps(object) -> string
|
dumps(object) -> string
|
||||||
load(file) -> object
|
load(file) -> object
|
||||||
loads(string) -> object
|
loads(bytes) -> object
|
||||||
|
|
||||||
Misc variables:
|
Misc variables:
|
||||||
|
|
||||||
|
@ -1761,7 +1761,7 @@ def _load(file, *, fix_imports=True, encoding="ASCII", errors="strict",
|
||||||
return _Unpickler(file, fix_imports=fix_imports, buffers=buffers,
|
return _Unpickler(file, fix_imports=fix_imports, buffers=buffers,
|
||||||
encoding=encoding, errors=errors).load()
|
encoding=encoding, errors=errors).load()
|
||||||
|
|
||||||
def _loads(s, *, fix_imports=True, encoding="ASCII", errors="strict",
|
def _loads(s, /, *, fix_imports=True, encoding="ASCII", errors="strict",
|
||||||
buffers=None):
|
buffers=None):
|
||||||
if isinstance(s, str):
|
if isinstance(s, str):
|
||||||
raise TypeError("Can't load pickle from unicode string")
|
raise TypeError("Can't load pickle from unicode string")
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
The first argument of :func:`pickle.loads` is now positional-only.
|
|
@ -7873,6 +7873,7 @@ _pickle_load_impl(PyObject *module, PyObject *file, int fix_imports,
|
||||||
_pickle.loads
|
_pickle.loads
|
||||||
|
|
||||||
data: object
|
data: object
|
||||||
|
/
|
||||||
*
|
*
|
||||||
fix_imports: bool = True
|
fix_imports: bool = True
|
||||||
encoding: str = 'ASCII'
|
encoding: str = 'ASCII'
|
||||||
|
@ -7899,7 +7900,7 @@ static PyObject *
|
||||||
_pickle_loads_impl(PyObject *module, PyObject *data, int fix_imports,
|
_pickle_loads_impl(PyObject *module, PyObject *data, int fix_imports,
|
||||||
const char *encoding, const char *errors,
|
const char *encoding, const char *errors,
|
||||||
PyObject *buffers)
|
PyObject *buffers)
|
||||||
/*[clinic end generated code: output=82ac1e6b588e6d02 input=9c2ab6a0960185ea]*/
|
/*[clinic end generated code: output=82ac1e6b588e6d02 input=b3615540d0535087]*/
|
||||||
{
|
{
|
||||||
PyObject *result;
|
PyObject *result;
|
||||||
UnpicklerObject *unpickler = _Unpickler_New();
|
UnpicklerObject *unpickler = _Unpickler_New();
|
||||||
|
|
|
@ -735,7 +735,7 @@ exit:
|
||||||
}
|
}
|
||||||
|
|
||||||
PyDoc_STRVAR(_pickle_loads__doc__,
|
PyDoc_STRVAR(_pickle_loads__doc__,
|
||||||
"loads($module, /, data, *, fix_imports=True, encoding=\'ASCII\',\n"
|
"loads($module, data, /, *, fix_imports=True, encoding=\'ASCII\',\n"
|
||||||
" errors=\'strict\', buffers=())\n"
|
" errors=\'strict\', buffers=())\n"
|
||||||
"--\n"
|
"--\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -766,7 +766,7 @@ static PyObject *
|
||||||
_pickle_loads(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
|
_pickle_loads(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
|
||||||
{
|
{
|
||||||
PyObject *return_value = NULL;
|
PyObject *return_value = NULL;
|
||||||
static const char * const _keywords[] = {"data", "fix_imports", "encoding", "errors", "buffers", NULL};
|
static const char * const _keywords[] = {"", "fix_imports", "encoding", "errors", "buffers", NULL};
|
||||||
static _PyArg_Parser _parser = {NULL, _keywords, "loads", 0};
|
static _PyArg_Parser _parser = {NULL, _keywords, "loads", 0};
|
||||||
PyObject *argsbuf[5];
|
PyObject *argsbuf[5];
|
||||||
Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1;
|
Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1;
|
||||||
|
@ -836,4 +836,4 @@ skip_optional_kwonly:
|
||||||
exit:
|
exit:
|
||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
/*[clinic end generated code: output=e2506823be1960c5 input=a9049054013a1b77]*/
|
/*[clinic end generated code: output=324aad69644beda2 input=a9049054013a1b77]*/
|
||||||
|
|
Loading…
Reference in New Issue