Different behavior for functiools.partial between inspect.isfunction() and other inspect.is*function()
Open
Nobody has claimed this yet.
3.10
stdlib
type-bug
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
| BPO | 46722 |
|---|---|
| Nosy | @IliyaZinoviev |
| Files |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2022-02-11.15:26:49.488>
labels = ['type-bug', 'library', '3.10']
title = 'Different behavior for functiools.partial between inspect.isfunction() and other inspect.is*function()'
updated_at = <Date 2022-02-12.13:23:19.287>
user = 'https://github.com/IliyaZinoviev'
bugs.python.org fields:
activity = <Date 2022-02-12.13:23:19.287>
actor = 'IliyaZinoviev'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2022-02-11.15:26:49.488>
creator = 'IliyaZinoviev'
dependencies = []
files = ['50621']
hgrepos = []
issue_num = 46722
keywords = []
message_count = 4.0
messages = ['413077', '413111', '413127', '413128']
nosy_count = 2.0
nosy_names = ['Kevin Shweh', 'IliyaZinoviev']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue46722'
versions = ['Python 3.10']
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the attached isfuncs_behavior.py reproducer and compare its results for functools.partial with inspect.isfunction() and the other inspect.is*function() predicates. Read the relevant inspect behavior and existing tests, then establish the intended consistency and add coverage; done means the discrepancy is resolved and the regression test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100