mirror of
https://github.com/rust-embedded/heapless.git
synced 2025-10-02 14:54:30 +00:00
Implement core::fmt::Write for heapless::Vec<u8, N>
This commit is contained in:
parent
1d6c207917
commit
64e891330c
20
src/vec.rs
20
src/vec.rs
@ -365,6 +365,18 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<N> fmt::Write for Vec<u8, N>
|
||||||
|
where
|
||||||
|
N: ArrayLength<u8>,
|
||||||
|
{
|
||||||
|
fn write_str(&mut self, s: &str) -> fmt::Result {
|
||||||
|
match self.extend_from_slice(s.as_bytes()) {
|
||||||
|
Ok(()) => Ok(()),
|
||||||
|
Err(_) => Err(fmt::Error),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T, N> Drop for Vec<T, N>
|
impl<T, N> Drop for Vec<T, N>
|
||||||
where
|
where
|
||||||
N: ArrayLength<T>,
|
N: ArrayLength<T>,
|
||||||
@ -645,6 +657,7 @@ where
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::{consts::*, Vec};
|
use crate::{consts::*, Vec};
|
||||||
|
use core::fmt::Write;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn static_new() {
|
fn static_new() {
|
||||||
@ -911,4 +924,11 @@ mod tests {
|
|||||||
v.resize_default(1).unwrap();
|
v.resize_default(1).unwrap();
|
||||||
assert_eq!(v[0], 0);
|
assert_eq!(v[0], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn write() {
|
||||||
|
let mut v: Vec<u8, U4> = Vec::new();
|
||||||
|
write!(v, "{:x}", 1234).unwrap();
|
||||||
|
assert_eq!(&v[..], b"4d2")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user