Author hauntsaninja
Recipients hauntsaninja
Date 2020-01-30.02:11:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1580350307.52.0.118414531826.issue39495@roundup.psfhosted.org>
In-reply-to
Content
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. 
```
History
Date User Action Args
2020-01-30 02:11:47hauntsaninjasetrecipients: + hauntsaninja
2020-01-30 02:11:47hauntsaninjasetmessageid: <1580350307.52.0.118414531826.issue39495@roundup.psfhosted.org>
2020-01-30 02:11:47hauntsaninjalinkissue39495 messages
2020-01-30 02:11:47hauntsaninjacreate