Author: Ronan Lamy <[email protected]>
Branch: py3.5
Changeset: r88325:8dd2ae08247a
Date: 2016-11-11 19:12 +0000
http://bitbucket.org/pypy/pypy/changeset/8dd2ae08247a/
Log: Give correct error message for unicode array initializers and remove
confusing special case
diff --git a/pypy/module/array/interp_array.py
b/pypy/module/array/interp_array.py
--- a/pypy/module/array/interp_array.py
+++ b/pypy/module/array/interp_array.py
@@ -41,6 +41,18 @@
if len(__args__.arguments_w) > 0:
w_initializer = __args__.arguments_w[0]
+ if tc != 'u':
+ if space.isinstance_w(w_initializer, space.w_unicode):
+ raise oefmt(
+ space.w_TypeError,
+ "cannot use a str to initialize an array with "
+ "typecode '%s'", tc)
+ elif (isinstance(w_initializer, W_ArrayBase)
+ and w_initializer.typecode == 'u'):
+ raise oefmt(
+ space.w_TypeError,
+ "cannot use a unicode array to initialize an array with "
+ "typecode '%s'", tc)
if isinstance(w_initializer, W_ArrayBase):
a.extend(w_initializer, True)
elif space.type(w_initializer) is space.w_list:
@@ -719,11 +731,7 @@
except OperationError as e:
if e.async(space):
raise
- if space.isinstance_w(w_item, space.w_unicode):
- msg = ("cannot use a str to initialize an array"
- " with typecode '" + mytype.typecode + "'")
- else:
- msg = "array item must be " + mytype.unwrap[:-2]
+ msg = "array item must be " + mytype.unwrap[:-2]
raise OperationError(space.w_TypeError,
space.wrap(msg))
else:
raise
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit