diff --git a/src/buffer/mod.rs b/src/buffer/mod.rs index 30839f0..3967341 100644 --- a/src/buffer/mod.rs +++ b/src/buffer/mod.rs @@ -1,17 +1,30 @@ -use core::str; +use core::{mem, str}; use pretty; +#[derive(Copy, Clone)] pub struct Buffer { bytes: [u8; 24], } impl Buffer { - pub fn write(&mut self, f: F) -> &str { + pub fn new() -> Self { + Buffer { + bytes: unsafe { mem::uninitialized() }, + } + } + + pub fn format(&mut self, f: F) -> &str { f.write_to_ryu_buffer(self) } } +impl Default for Buffer { + fn default() -> Self { + Buffer::new() + } +} + pub trait Float: Sealed { #[doc(hidden)] fn write_to_ryu_buffer(self, buffer: &mut Buffer) -> &str;