[Python-Dev] PEP 590: vectorcall without tp_call (original) (raw)
Jeroen Demeyer J.Demeyer at UGent.be
Wed May 29 08:25:25 EDT 2019
- Previous message (by thread): [Python-Dev] Accepting PEP 590 (Vectorcall)
- Next message (by thread): [Python-Dev] PEP 590: vectorcall without tp_call
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello,
I have one implementation question about vectorcall which is not specified in PEP 590: what should happen if a type implements vectorcall (i.e. _Py_TPFLAGS_HAVE_VECTORCALL is set) but doesn't set tp_call (i.e. tp_call == NULL)? I see the following possibilities:
Ignore this problem/assume that it won't happen. This would be bad, since callable(obj) would be False even though obj() would succeed.
Raise SystemError.
Automatically set tp_call to PyVectorcall_Call.
I would vote for 3 since it's the most user-friendly option. There is also no way how it could be wrong: it ensures that tp_call and vectorcall are consistent.
Any opinions?
Jeroen.
- Previous message (by thread): [Python-Dev] Accepting PEP 590 (Vectorcall)
- Next message (by thread): [Python-Dev] PEP 590: vectorcall without tp_call
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]