Merge branch 'plugins'

This commit is contained in:
Stephen Chung
2020-06-16 09:36:47 +08:00
10 changed files with 325 additions and 23 deletions

View File

@@ -15,6 +15,7 @@ use crate::stdlib::{
fmt::Display,
format,
string::{String, ToString},
vec::Vec,
};
fn prepend<T: Display>(x: T, y: ImmutableString) -> FuncReturn<ImmutableString> {
@@ -293,4 +294,12 @@ def_package!(crate:MoreStringPackage:"Additional string utilities, including str
Ok(())
},
);
// Register string iterator
lib.set_iter(
TypeId::of::<ImmutableString>(),
|arr| Box::new(
arr.cast::<ImmutableString>().chars().collect::<Vec<_>>().into_iter().map(Into::into)
) as Box<dyn Iterator<Item = Dynamic>>,
);
});