@@ -34,11 +34,11 @@ pub fn split_by(f: SigNode, by_scalar: bool, keep_empty: bool, env: &mut Uiua) -
3434 if let Some ( Primitive :: Box ) = f. node . as_primitive ( ) {
3535 let val = haystack. generic_bin_ref (
3636 & delim,
37- |a, b| a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ,
38- |a, b| a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ,
37+ |a, b| Ok ( a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ) ,
38+ |a, b| Ok ( a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ) ,
3939 |_, _| unreachable ! ( "split by complex" ) ,
40- |a, b| a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ,
41- |a, b| a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ,
40+ |a, b| Ok ( a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ) ,
41+ |a, b| Ok ( a. split_by ( b, keep_empty, |data| Boxed ( data. into ( ) ) ) ) ,
4242 |a, b| {
4343 env. error ( format ! (
4444 "Cannot split {} by {}" ,
@@ -51,11 +51,11 @@ pub fn split_by(f: SigNode, by_scalar: bool, keep_empty: bool, env: &mut Uiua) -
5151 } else {
5252 let parts = haystack. generic_bin_ref (
5353 & delim,
54- |a, b| a. split_by ( b, keep_empty, Value :: from) ,
55- |a, b| a. split_by ( b, keep_empty, Value :: from) ,
54+ |a, b| Ok ( a. split_by ( b, keep_empty, Value :: from) ) ,
55+ |a, b| Ok ( a. split_by ( b, keep_empty, Value :: from) ) ,
5656 |_, _| unreachable ! ( "split by complex" ) ,
57- |a, b| a. split_by ( b, keep_empty, Value :: from) ,
58- |a, b| a. split_by ( b, keep_empty, Value :: from) ,
57+ |a, b| Ok ( a. split_by ( b, keep_empty, Value :: from) ) ,
58+ |a, b| Ok ( a. split_by ( b, keep_empty, Value :: from) ) ,
5959 |a, b| {
6060 env. error ( format ! (
6161 "Cannot split {} by {}" ,
@@ -97,11 +97,11 @@ where
9797 delim : & Self ,
9898 keep_empty : bool ,
9999 f : impl Fn ( CowSlice < T > ) -> R ,
100- ) -> UiuaResult < EcoVec < R > > {
100+ ) -> EcoVec < R > {
101101 let haystack = self . data . as_slice ( ) ;
102102 let delim_slice = delim. data . as_slice ( ) ;
103103 if delim_slice. is_empty ( ) {
104- return Ok ( eco_vec ! [ f( self . data. clone( ) ) ] ) ;
104+ return eco_vec ! [ f( self . data. clone( ) ) ] ;
105105 }
106106 let mut curr = 0 ;
107107 let mut data = EcoVec :: new ( ) ;
@@ -136,7 +136,7 @@ where
136136 data. push ( f ( CowSlice :: new ( ) ) ) ;
137137 }
138138 }
139- Ok ( data)
139+ data
140140 }
141141}
142142
0 commit comments