diff --git a/src/string.rs b/src/string.rs index 756cb83..bbf7f3e 100644 --- a/src/string.rs +++ b/src/string.rs @@ -26,9 +26,9 @@ use crate::dynamic::{DynamicVec, InlineVec}; #[clippy::format_args] macro_rules! eco_format { ($($tts:tt)*) => {{ - use ::std::fmt::Write; + use ::core::fmt::Write; let mut s = $crate::EcoString::new(); - ::std::write!(s, $($tts)*).unwrap(); + ::core::write!(s, $($tts)*).unwrap(); s }}; } diff --git a/src/vendor/vec/splice.rs b/src/vendor/vec/splice.rs index 884f89a..29ce8bf 100644 --- a/src/vendor/vec/splice.rs +++ b/src/vendor/vec/splice.rs @@ -5,6 +5,9 @@ use core::ptr; use core::slice; +#[cfg(not(feature = "std"))] +use alloc::vec::Vec; + use crate::EcoVec; use super::Drain; diff --git a/tests/tests.rs b/tests/tests.rs index 79aa890..8ec6d01 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -10,7 +10,7 @@ use std::mem; use std::sync::atomic::{AtomicUsize, Ordering::*}; use ecow::string::ToEcoString; -use ecow::{eco_vec, EcoString, EcoVec}; +use ecow::{eco_format, eco_vec, EcoString, EcoVec}; const ALPH: &str = "abcdefghijklmnopqrstuvwxyz"; const LIMIT: usize = EcoString::INLINE_LIMIT; @@ -371,6 +371,14 @@ fn test_array_from_vec() { assert_eq!(<[String; 0]>::try_from(EcoVec::new()).unwrap(), <[String; 0]>::default()); } +#[test] +fn test_str_macro() { + assert_eq!( + eco_format!("Hello, {}! The secret number is {}.", "world".to_owned(), 42), + "Hello, world! The secret number is 42." + ); +} + #[test] fn test_str_new() { // Test inline strings.