         guard self.shape.contiguousSize == newShape.contiguousSize else {
             return nil
         }
-        return Tensor(shape: newShape, items: items)
+        return Tensor(shape: newShape, items: _items)
     }
     
 }

                     "Item count does not match element shape")
        self.itemCountPerElement = elementShape == nil ? 0 : elementContiguousSize
        self.elementShape = elementShape
        self.items = items
    }

    /// Initialize a tensor using an existing slice of elements in row-major order

public extension Tensor where ItemType : Equatable {

    public func elementsEqual(_ other: Tensor<ItemType>) -> Bool {
        return shape.elementsEqual(other.shape) && _items.elementsEqual(other._items)
    }

    public func itemsEqual(_ other: Tensor<ItemType>) -> Bool {
        return _items.elementsEqual(other._items)
    }

}
