New submission from Antony Lee <anntzer....@gmail.com>:

Starting from the keyword-arguments example at 
https://docs.python.org/3/extending/extending.html#keyword-parameters-for-extension-functions,
 change the docstring of `parrot` to "parrot(voltage, state, action, 
type=1<<5)\n--\n\n" (yes, the documented default value for type does not 
correspond to the actual implementation, but that's irrelevant here).  
Compiling the extension module and running pydoc on it yields the following 
parsed signature for `parrot`: `parrot(voltage, state, action)` i.e. the `type` 
parameter got silently dropped.  (Note that `1<<5` can legitimately occur, e.g. 
as a bitmask flag, especially given that one currently cannot refer to globals 
in __text_signature__ (https://bugs.python.org/issue37881).)

----------
components: Extension Modules
messages: 385335
nosy: Antony.Lee
priority: normal
severity: normal
status: open
title: __text_signature__ parser silently drops arguments with certain 
unsupported default forms

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42976>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to