Armin Rigo, 03.12.2012 19:01:
> On Sun, Dec 2, 2012 at 4:09 PM, Joe Hillenbrand wrote:
>> (...)
>>         response=response, request=request, spider=spider)
>> (...)
>>         return receiver(*arguments, **named)
>>     exceptions.TypeError: response_received() got 4 unexpected keyword 
>> arguments
> 
> No real clue, but it looks like keyword arguments are passed around as
> keyword arguments on PyPy, whereas CPython converts them to positional
> arguments somewhere along the call chain (which is long and goes via
> deferreds).

I noticed that PyPy validates keyword arguments at a different stage than
CPython, at least at the cpyext level. PyPy does it at call time, whereas
CPython leaves it to the callee. Leads to this difference for the argument
unpacking code in Cython implemented functions:

https://github.com/cython/cython/blob/1cc172882ff754840f025ce81b2ed3183dfea93f/Cython/Utility/FunctionArguments.c#L123

Stefan


_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to