Ensure inner buffer is empty for generic writer
This commit is contained in:
		
							parent
							
								
									0c2768068c
								
							
						
					
					
						commit
						4b47a96acd
					
				@ -11,7 +11,10 @@ impl<T> From<T> for GenericBufferWriter<T>
 | 
			
		||||
	where T: GenericWriteBuffer + GenericReadBuffer
 | 
			
		||||
{
 | 
			
		||||
	fn from(buf: T) -> Self {
 | 
			
		||||
		Self { buf }
 | 
			
		||||
		let mut gen_buf = Self { buf };
 | 
			
		||||
		// Ensure the buffer is empty.
 | 
			
		||||
		gen_buf.clear();
 | 
			
		||||
		gen_buf
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -22,10 +25,6 @@ impl<T> GenericBufferWriter<T>
 | 
			
		||||
        self.buf
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	pub fn clear(&mut self) {
 | 
			
		||||
		self.buf.clear();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    pub fn as_str(&self) -> &str {
 | 
			
		||||
		unsafe { core::str::from_utf8_unchecked(self.buf.as_slice()) }
 | 
			
		||||
	}
 | 
			
		||||
@ -34,6 +33,11 @@ impl<T> GenericBufferWriter<T>
 | 
			
		||||
	pub fn to_string(self) -> String {
 | 
			
		||||
		unsafe { String::from_utf8_unchecked(self.buf.to_vec()) }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	#[inline]
 | 
			
		||||
	pub fn clear(&mut self) {
 | 
			
		||||
		self.buf.clear();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<T> Write for &mut GenericBufferWriter<T>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user