From 5a01aa54e3bd2e7e7ff6a1ba7164a4313a445dbd Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Wed, 2 Aug 2023 00:33:59 +0200 Subject: [PATCH 1/2] impl `Default` for `MutableBuffer` --- arrow-buffer/src/buffer/mutable.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arrow-buffer/src/buffer/mutable.rs b/arrow-buffer/src/buffer/mutable.rs index 3e66e7f23fa2..1237237f442e 100644 --- a/arrow-buffer/src/buffer/mutable.rs +++ b/arrow-buffer/src/buffer/mutable.rs @@ -643,6 +643,12 @@ impl MutableBuffer { } } +impl Default for MutableBuffer { + fn default() -> Self { + Self::with_capacity(0) + } +} + impl std::ops::Deref for MutableBuffer { type Target = [u8]; From 07c262ce2697dc88ebdd1a31a940ba3a7dfee462 Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Wed, 2 Aug 2023 00:36:38 +0200 Subject: [PATCH 2/2] Add a test --- arrow-buffer/src/buffer/mutable.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arrow-buffer/src/buffer/mutable.rs b/arrow-buffer/src/buffer/mutable.rs index 1237237f442e..a512f4ef9662 100644 --- a/arrow-buffer/src/buffer/mutable.rs +++ b/arrow-buffer/src/buffer/mutable.rs @@ -776,6 +776,19 @@ mod tests { assert!(buf.is_empty()); } + #[test] + fn test_mutable_default() { + let buf = MutableBuffer::default(); + assert_eq!(0, buf.capacity()); + assert_eq!(0, buf.len()); + assert!(buf.is_empty()); + + let mut buf = MutableBuffer::default(); + buf.extend_from_slice(b"hello"); + assert_eq!(5, buf.len()); + assert_eq!(b"hello", buf.as_slice()); + } + #[test] fn test_mutable_extend_from_slice() { let mut buf = MutableBuffer::new(100);