diff options
-rw-r--r-- | numpy/core/src/multiarray/scalartypes.c.src | 3 | ||||
-rw-r--r-- | numpy/core/tests/test_regression.py | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/numpy/core/src/multiarray/scalartypes.c.src b/numpy/core/src/multiarray/scalartypes.c.src index dbc65724d..afae70fd5 100644 --- a/numpy/core/src/multiarray/scalartypes.c.src +++ b/numpy/core/src/multiarray/scalartypes.c.src @@ -433,8 +433,7 @@ gentype_format(PyObject *self, PyObject *args) Py_DECREF(dtype); } else { - obj = self; - Py_INCREF(obj); + obj = PyObject_Str(self); } if (obj == NULL) { diff --git a/numpy/core/tests/test_regression.py b/numpy/core/tests/test_regression.py index e6eb0791d..05336ac20 100644 --- a/numpy/core/tests/test_regression.py +++ b/numpy/core/tests/test_regression.py @@ -1945,5 +1945,13 @@ class TestRegression(TestCase): arr.__setitem__(slice(None), [9]) assert_equal(arr, [9, 9, 9]) + def test_format_on_flex_array_element(self): + # Ticket #4369. + dt = np.dtype([('date', '<M8[D]'), ('val', '<f8')]) + arr = np.array([('2000-01-01', 1)], dt) + formatted = '{0}'.format(arr[0]) + assert_equal(formatted, str(arr[0])) + + if __name__ == "__main__": run_module_suite() |