[IronPython] Bug in handling of keyword arguments for __call__
Giles Thomas
giles.thomas at resolversystems.com
Wed Feb 14 19:11:41 CET 2007
Many thanks, Dino. This might be of use when debugging:
----
IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> class F(object):
... def __call__(self, *args, **kwargs):
... print "F.__call__(%s, %s)" % (args, kwargs)
...
>>> print F.__call__
<class '__main__.F'>
>>>
----
Dino Viehland wrote:
> Thanks for the bug report. I've opened bug #8246 to track this (http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246).
>
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Giles Thomas
> Sent: Wednesday, February 14, 2007 7:17 AM
> To: Discussion of IronPython
> Subject: [IronPython] Bug in handling of keyword arguments for __call__
>
> Hi,
>
> It looks like there's a problem with calling a callable object using the
> "**" dictionary-unpacking syntax for keyword arguments. Here's a
> minimal repro.
>
> In CPython:
>
> ------------------------
> Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> class F(object):
> ... def __call__(self, *args, **kwargs):
> ... print args, kwargs
> ...
> >>> f = F()
> >>> f(*(1,), **{'a' : 23})
> (1,) {'a': 23}
> >>>
> ------------------------
>
> In IP 1.0.1 (also checked against 1.1 alpha):
>
> ---------------------
> IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42
> Copyright (c) Microsoft Corporation. All rights reserved.
> >>> class F(object):
> ... def __call__(self, *args, **kwargs):
> ... print args, kwargs
> ...
> >>> f = F()
> >>> f(*(1,), **{'a' : 23})
> Traceback (most recent call last):
> File , line 0, in <stdin>##23
> Exception: this object is not callable with keyword parameters
> ---------------------
>
>
> Regards,
>
> Giles
>
> --
> Giles Thomas
> giles.thomas at resolversystems.com
> +44 (0) 20 7253 6372
>
> Resolver Systems Ltd
> 17a Clerkenwell Road, London EC1M 5RD, UK
> VAT No.: GB 893 5643 79
> Registered in England and Wales as company number 5467329.
> Registered address: 843 Finchley Road, London NW11 8NA, UK
>
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
--
Giles Thomas
giles.thomas at resolversystems.com
+44 (0) 20 7253 6372
Resolver Systems Ltd
17a Clerkenwell Road, London EC1M 5RD, UK
VAT No.: GB 893 5643 79
Registered in England and Wales as company number 5467329.
Registered address: 843 Finchley Road, London NW11 8NA, UK
More information about the Ironpython-users
mailing list