[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-20 Thread STINNER Victor

STINNER Victor added the comment:

bpo-30473 has been marked as a duplicate of this bug.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

STINNER Victor added the comment:

Sorry for the regression, sadly, it wasn't catch before by any test. I added a 
lot of new tests, so we should cover more cases. Oh, and the bug has been fixed 
in 3.6 :-)

--
resolution:  -> fixed
stage: needs patch -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

STINNER Victor added the comment:


New changeset b7577456c430283f8b7ec4e914b701cb943cc69b by Victor Stinner in 
branch '3.6':
bpo-30524: Write unit tests for FASTCALL (#2022) (#2030)
https://github.com/python/cpython/commit/b7577456c430283f8b7ec4e914b701cb943cc69b


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +2096

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

STINNER Victor added the comment:


New changeset 3b5cf85edc188345668f987c824a2acb338a7816 by Victor Stinner in 
branch 'master':
bpo-30524: Write unit tests for FASTCALL (#2022)
https://github.com/python/cpython/commit/3b5cf85edc188345668f987c824a2acb338a7816


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

STINNER Victor added the comment:


New changeset f0ff849adc6b4a01f9d1f08d9ad0f1511ff84541 by Victor Stinner in 
branch '3.6':
bpo-30524: Fix _PyStack_UnpackDict() (#1886)
https://github.com/python/cpython/commit/f0ff849adc6b4a01f9d1f08d9ad0f1511ff84541


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-06-09 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +2088

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

next(iter(datetime.now, None)) can be turned into a nice test.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Raymond Hettinger

Changes by Raymond Hettinger :


--
priority: normal -> high

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread STINNER Victor

STINNER Victor added the comment:

Oh, it's my fault: it's a bug coming from FASTCALL optimizations. The strange 
thing is that the bug wasn't catched by the giant Python test suite :-(

I knew that _PyStack_UnpackDict() has a bug in Python 3.6, but I completely 
forgot to fix it :-(

https://github.com/python/cpython/pull/1886 fixes the bug, but has not test yet.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +1962

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

It works in 3.5 and 3.7, but raises a StopIteration in 3.6.

--
components: +Interpreter Core
keywords: +3.6regression
versions:  -Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Emanuel Barry

Changes by Emanuel Barry :


--
nosy: +haypo, serhiy.storchaka
stage:  -> needs patch
type:  -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Martijn Pieters

Martijn Pieters added the comment:

Forgot to addthis: this bug was found via 
https://stackoverflow.com/questions/44283540/iter-not-working-with-datetime-now

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30524] iter(classmethod, sentinel) broken for Argument Clinic class methods?

2017-05-31 Thread Martijn Pieters

New submission from Martijn Pieters:

I'm not sure where exactly the error lies, but issue 27128 broke iter() for 
Argument Clinic class methods. The following works in Python 3.5, but not in 
Python 3.6:

from datetime import datetime
from asyncio import Task

next(iter(datetime.now, None))
next(iter(Task.all_tasks, None))

In 3.6 StopIteration is raised:

>>> next(iter(datetime.now, None))
Traceback (most recent call last):
  File "", line 1, in 
StopIteration
>>> next(iter(Task.all_tasks, None))
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

(In 3.5 a `datetime.datetime` and `set` object are produced, respectively)

The only thing these two methods have in common is that they are class methods 
with no arguments, parsed out by the Argument Clinic generated code (so using 
_PyArg_Parser).

What appears to have changed is that iter() was switched from using 
PyObject_Call to _PyObject_FastCall, see 
https://github.com/python/cpython/commit/99ee9c70a73ec2f3db68785821a9f2867c3f637f

--
messages: 294835
nosy: mjpieters
priority: normal
severity: normal
status: open
title: iter(classmethod, sentinel) broken for Argument Clinic class methods?
versions: Python 3.6, Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com