nanvm_lib/vm/string/
to_string.rs1use super::String;
2use crate::vm::{Any, IVm, internal::IContainer};
3
4pub trait ToString {
5 fn try_to_string<A: IVm>(self) -> Result<String<A>, Any<A>>
6 where
7 Self: Sized + IntoIterator<Item = Result<u16, Any<A>>>,
8 {
9 Ok(String(A::InternalString::new((), self)?))
10 }
11 fn to_string<A: IVm>(self) -> String<A>
12 where
13 Self: Sized + IntoIterator<Item = u16>,
14 {
15 self.into_iter().map(Ok).try_to_string().unwrap()
16 }
17}
18
19impl<T> ToString for T {}