File tree 2 files changed +11
-3
lines changed
2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -255,8 +255,12 @@ impl<L: Language> SyntaxNode<L> {
255
255
self . raw . detach ( )
256
256
}
257
257
258
- pub fn splice_children ( & self , to_delete : Range < usize > , to_insert : Vec < SyntaxElement < L > > ) {
259
- let to_insert = to_insert. into_iter ( ) . map ( cursor:: SyntaxElement :: from) . collect :: < Vec < _ > > ( ) ;
258
+ pub fn splice_children < I : IntoIterator < Item = SyntaxElement < L > > > (
259
+ & self ,
260
+ to_delete : Range < usize > ,
261
+ to_insert : I ,
262
+ ) {
263
+ let to_insert = to_insert. into_iter ( ) . map ( cursor:: SyntaxElement :: from) ;
260
264
self . raw . splice_children ( to_delete, to_insert)
261
265
}
262
266
}
Original file line number Diff line number Diff line change @@ -806,7 +806,11 @@ impl SyntaxNode {
806
806
} )
807
807
}
808
808
809
- pub fn splice_children ( & self , to_delete : Range < usize > , to_insert : Vec < SyntaxElement > ) {
809
+ pub fn splice_children < I : IntoIterator < Item = SyntaxElement > > (
810
+ & self ,
811
+ to_delete : Range < usize > ,
812
+ to_insert : I ,
813
+ ) {
810
814
assert ! ( self . data( ) . mutable, "immutable tree: {}" , self ) ;
811
815
for ( i, child) in self . children_with_tokens ( ) . enumerate ( ) {
812
816
if to_delete. contains ( & i) {
You can’t perform that action at this time.
0 commit comments