Skip to content

Commit f6fb2df

Browse files
committed
Fix cast shape check
1 parent 1d1ad95 commit f6fb2df

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/memoryview/MemoryViewBuiltins.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,11 @@ private IntrinsifiedPMemoryView doCast(IntrinsifiedPMemoryView self, String form
399399
if (self.getLength() % itemsize != 0) {
400400
throw raise(TypeError, ErrorMessages.MEMORYVIEW_LENGTH_NOT_MULTIPLE_OF_ITEMSIZE);
401401
}
402-
for (int i = 0; i < self.getDimensions(); i++) {
403-
if (self.getBufferShape()[i] == 0) {
404-
throw raise(TypeError, ErrorMessages.MEMORYVIEW_CANNOT_CAST_VIEW_WITH_ZEROS_IN_SHAPE_OR_STRIDES);
402+
if (shape != null || self.getDimensions() != 1) {
403+
for (int i = 0; i < self.getDimensions(); i++) {
404+
if (self.getBufferShape()[i] == 0) {
405+
throw raise(TypeError, ErrorMessages.MEMORYVIEW_CANNOT_CAST_VIEW_WITH_ZEROS_IN_SHAPE_OR_STRIDES);
406+
}
405407
}
406408
}
407409
int[] newShape;

0 commit comments

Comments
 (0)