summaryrefslogtreecommitdiff
path: root/src/model/str.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/str.rs')
-rw-r--r--src/model/str.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/model/str.rs b/src/model/str.rs
index 8da5b50c..3eee9506 100644
--- a/src/model/str.rs
+++ b/src/model/str.rs
@@ -3,24 +3,26 @@ use std::fmt::{self, Debug, Display, Formatter, Write};
use std::hash::{Hash, Hasher};
use std::ops::{Add, AddAssign, Deref};
+use ecow::EcoString;
use unicode_segmentation::UnicodeSegmentation;
use super::{castable, dict, Array, Dict, Value};
use crate::diag::StrResult;
use crate::geom::GenAlign;
-use crate::util::{format_eco, EcoString};
/// Create a new [`Str`] from a format string.
#[macro_export]
#[doc(hidden)]
macro_rules! __format_str {
($($tts:tt)*) => {{
- $crate::model::Str::from(format_eco!($($tts)*))
+ $crate::model::Str::from($crate::model::format_eco!($($tts)*))
}};
}
#[doc(inline)]
pub use crate::__format_str as format_str;
+#[doc(hidden)]
+pub use ecow::format_eco;
/// An immutable reference counted string.
#[derive(Default, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
@@ -415,11 +417,13 @@ impl From<String> for Str {
Self(s.into())
}
}
+
impl From<Cow<'_, str>> for Str {
fn from(s: Cow<str>) -> Self {
Self(s.into())
}
}
+
impl FromIterator<char> for Str {
fn from_iter<T: IntoIterator<Item = char>>(iter: T) -> Self {
Self(iter.into_iter().collect())