New submission from Shantanu <[email protected]>:
The C accelerated version of `xml.etree.ElementTree.TreeBuilder.start` has a
default value for `attrs`, whereas the pure Python version does not.
```
In [41]: sys.version
Out[41]: '3.8.1 (default, Jan 23 2020, 23:36:06) \n[Clang 11.0.0
(clang-1100.0.33.17)]'
In [42]: import xml.etree.ElementTree
In [43]: inspect.signature(xml.etree.ElementTree.TreeBuilder.start)
Out[43]: <Signature (self, tag, attrs=None, /)>
In [44]: from test.support import import_fresh_module
In [45]: pyElementTree = import_fresh_module('xml.etree.ElementTree',
blocked=['_elementtree'])
In [46]: inspect.signature(pyElementTree.TreeBuilder.start)
Out[46]: <Signature (self, tag, attrs)>
```
>From PEP 399 (https://www.python.org/dev/peps/pep-0399/)
```
Acting as a drop-in replacement also dictates that no public API be provided in
accelerated code that does not exist in the pure Python code. Without this
requirement people could accidentally come to rely on a detail in the
accelerated code which is not made available to other VMs that use the pure
Python implementation.
```
----------
components: Library (Lib)
messages: 361002
nosy: hauntsaninja
priority: normal
severity: normal
status: open
title: xml.etree.ElementTree.TreeBuilder.start differs between pure Python and
C implementations
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue39495>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com