Author: Armin Rigo <[email protected]>
Branch: kill-someobject
Changeset: r58062:be3ce3c9720d
Date: 2012-10-12 17:05 +0200
http://bitbucket.org/pypy/pypy/changeset/be3ce3c9720d/

Log:    Fix for SomeChar in enforceargs()

diff --git a/pypy/rlib/objectmodel.py b/pypy/rlib/objectmodel.py
--- a/pypy/rlib/objectmodel.py
+++ b/pypy/rlib/objectmodel.py
@@ -149,7 +149,7 @@
             else:
                 return type(arg)
         def typecheck(*args):
-            from pypy.annotation.model import SomeList, SomeDict
+            from pypy.annotation.model import SomeList, SomeDict, SomeChar
             for i, (expected_type, arg) in enumerate(zip(types, args)):
                 if expected_type is None:
                     continue
@@ -160,6 +160,9 @@
                     continue
                 if isinstance(s_expected, SomeDict) and arg == {}:
                     continue
+                if isinstance(s_expected, SomeChar) and (
+                        isinstance(arg, str) and len(arg) == 1):   # a char
+                    continue
                 #
                 s_argtype = get_annotation(get_type_descr_of_argument(arg))
                 if not s_expected.contains(s_argtype):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to