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 <emil.ernerfe...@gmail.com>
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,

Reply via email to