diff -urB Python-3.6.3/Lib/test/test_genexps.py Python-3.6.3-mod/Lib/test/test_genexps.py --- Python-3.6.3/Lib/test/test_genexps.py 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Lib/test/test_genexps.py 2017-12-10 21:43:16.167114146 +0100 @@ -109,7 +109,7 @@ Traceback (most recent call last): File "", line 1, in -toplevel- (i for i in 6) - TypeError: 'int' object is not iterable + TypeError: 'int' object is not iterable/unpackable Verify late binding for the outermost if-expression diff -urB Python-3.6.3/Lib/test/test_unpack_ex.py Python-3.6.3-mod/Lib/test/test_unpack_ex.py --- Python-3.6.3/Lib/test/test_unpack_ex.py 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Lib/test/test_unpack_ex.py 2017-12-10 21:44:06.526447177 +0100 @@ -89,7 +89,7 @@ >>> {1, *1, 0, 4} Traceback (most recent call last): ... - TypeError: 'int' object is not iterable + TypeError: 'int' object is not iterable/unpackable Dict display element unpacking @@ -263,7 +263,7 @@ >>> a, *b = 7 Traceback (most recent call last): ... - TypeError: 'int' object is not iterable + TypeError: 'int' object is not iterable/unpackable Unpacking sequence too short diff -urB Python-3.6.3/Lib/test/test_unpack.py Python-3.6.3-mod/Lib/test/test_unpack.py --- Python-3.6.3/Lib/test/test_unpack.py 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Lib/test/test_unpack.py 2017-12-10 21:45:05.461666508 +0100 @@ -55,7 +55,7 @@ >>> a, b, c = 7 Traceback (most recent call last): ... - TypeError: 'int' object is not iterable + TypeError: 'int' object is not iterable/unpackable Unpacking tuple of wrong size @@ -129,7 +129,7 @@ >>> () = 42 Traceback (most recent call last): ... - TypeError: 'int' object is not iterable + TypeError: 'int' object is not iterable/unpackable Unpacking to an empty iterable should raise ValueError diff -urB Python-3.6.3/Objects/abstract.c Python-3.6.3-mod/Objects/abstract.c --- Python-3.6.3/Objects/abstract.c 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Objects/abstract.c 2017-12-10 21:42:12.719954320 +0100 @@ -3132,7 +3132,7 @@ if (f == NULL) { if (PySequence_Check(o)) return PySeqIter_New(o); - return type_error("'%.200s' object is not iterable", o); + return type_error("'%.200s' object is not iterable/unpackable", o); } else { PyObject *res = (*f)(o); diff -urB Python-3.6.3/Objects/object.c Python-3.6.3-mod/Objects/object.c --- Python-3.6.3/Objects/object.c 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Objects/object.c 2017-12-10 22:05:38.073250813 +0100 @@ -1020,7 +1020,7 @@ _PyObject_NextNotImplemented(PyObject *self) { PyErr_Format(PyExc_TypeError, - "'%.200s' object is not iterable", + "'%.200s' object is not iterable/unpackable", Py_TYPE(self)->tp_name); return NULL; } diff -urB Python-3.6.3/Objects/typeobject.c Python-3.6.3-mod/Objects/typeobject.c --- Python-3.6.3/Objects/typeobject.c 2017-10-03 07:52:02.000000000 +0200 +++ Python-3.6.3-mod/Objects/typeobject.c 2017-12-10 22:44:27.846333800 +0100 @@ -6326,7 +6326,7 @@ if (func == Py_None) { Py_DECREF(func); PyErr_Format(PyExc_TypeError, - "'%.200s' object is not iterable", + "'%.200s' object is not iterable/unpackable", Py_TYPE(self)->tp_name); return NULL; } @@ -6341,7 +6341,7 @@ func = lookup_method(self, &PyId___getitem__); if (func == NULL) { PyErr_Format(PyExc_TypeError, - "'%.200s' object is not iterable", + "'%.200s' object is not iterable/unpackable", Py_TYPE(self)->tp_name); return NULL; }