This is an automated email from the ASF dual-hosted git repository.
jayzhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/main by this push:
new 3ed9aedabc Implement `Default` for `Buffer` & `ScalarBuffer` (#7413)
3ed9aedabc is described below
commit 3ed9aedabc9e5a90170e43ff818f24a29eafb35b
Author: Emil Ernerfeldt <[email protected]>
AuthorDate: Tue Apr 15 03:06:40 2025 +0200
Implement `Default` for `Buffer` & `ScalarBuffer` (#7413)
* Implement `Default` for `ScalarBuffer`
* `impl Default for Buffer`
* Auto-derive Default
---
arrow-buffer/src/buffer/immutable.rs | 7 +++++++
arrow-buffer/src/buffer/scalar.rs | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/arrow-buffer/src/buffer/immutable.rs
b/arrow-buffer/src/buffer/immutable.rs
index fd145ce230..5d229a4967 100644
--- a/arrow-buffer/src/buffer/immutable.rs
+++ b/arrow-buffer/src/buffer/immutable.rs
@@ -82,6 +82,13 @@ pub struct Buffer {
length: usize,
}
+impl Default for Buffer {
+ #[inline]
+ fn default() -> Self {
+ MutableBuffer::default().into()
+ }
+}
+
impl PartialEq for Buffer {
fn eq(&self, other: &Self) -> bool {
self.as_slice().eq(other.as_slice())
diff --git a/arrow-buffer/src/buffer/scalar.rs
b/arrow-buffer/src/buffer/scalar.rs
index 36ee15718b..6c66060fb9 100644
--- a/arrow-buffer/src/buffer/scalar.rs
+++ b/arrow-buffer/src/buffer/scalar.rs
@@ -41,7 +41,7 @@ use std::ops::Deref;
/// let sliced = buffer.slice(1, 2);
/// assert_eq!(&sliced, &[2, 3]);
/// ```
-#[derive(Clone)]
+#[derive(Clone, Default)]
pub struct ScalarBuffer<T: ArrowNativeType> {
/// Underlying data buffer
buffer: Buffer,