22//! immutable, all function here return a fresh copy of the tree, instead of
33//! doing an in-place modification.
44use std:: {
5- fmt, iter,
5+ array , fmt, iter,
66 ops:: { self , RangeInclusive } ,
77} ;
88
@@ -32,7 +32,7 @@ impl ast::BinExpr {
3232impl ast:: Fn {
3333 #[ must_use]
3434 pub fn with_body ( & self , body : ast:: BlockExpr ) -> ast:: Fn {
35- let mut to_insert: ArrayVec < [ SyntaxElement ; 2 ] > = ArrayVec :: new ( ) ;
35+ let mut to_insert: ArrayVec < SyntaxElement , 2 > = ArrayVec :: new ( ) ;
3636 let old_body_or_semi: SyntaxElement = if let Some ( old_body) = self . body ( ) {
3737 old_body. syntax ( ) . clone ( ) . into ( )
3838 } else if let Some ( semi) = self . semicolon_token ( ) {
@@ -55,9 +55,8 @@ impl ast::Fn {
5555
5656 let anchor = self . name ( ) . expect ( "The function must have a name" ) . syntax ( ) . clone ( ) ;
5757
58- let mut to_insert: ArrayVec < [ SyntaxElement ; 1 ] > = ArrayVec :: new ( ) ;
59- to_insert. push ( generic_args. syntax ( ) . clone ( ) . into ( ) ) ;
60- self . insert_children ( InsertPosition :: After ( anchor. into ( ) ) , to_insert)
58+ let to_insert = [ generic_args. syntax ( ) . clone ( ) . into ( ) ] ;
59+ self . insert_children ( InsertPosition :: After ( anchor. into ( ) ) , array:: IntoIter :: new ( to_insert) )
6160 }
6261}
6362
9695impl ast:: Impl {
9796 #[ must_use]
9897 pub fn with_assoc_item_list ( & self , items : ast:: AssocItemList ) -> ast:: Impl {
99- let mut to_insert: ArrayVec < [ SyntaxElement ; 2 ] > = ArrayVec :: new ( ) ;
98+ let mut to_insert: ArrayVec < SyntaxElement , 2 > = ArrayVec :: new ( ) ;
10099 if let Some ( old_items) = self . assoc_item_list ( ) {
101100 let to_replace: SyntaxElement = old_items. syntax ( ) . clone ( ) . into ( ) ;
102101 to_insert. push ( items. syntax ( ) . clone ( ) . into ( ) ) ;
@@ -141,7 +140,7 @@ impl ast::AssocItemList {
141140 } ,
142141 } ;
143142 let ws = tokens:: WsBuilder :: new ( & format ! ( "{}{}" , whitespace, indent) ) ;
144- let to_insert: ArrayVec < [ SyntaxElement ; 2 ] > =
143+ let to_insert: ArrayVec < SyntaxElement , 2 > =
145144 [ ws. ws ( ) . into ( ) , item. syntax ( ) . clone ( ) . into ( ) ] . into ( ) ;
146145 self . insert_children ( position, to_insert)
147146 }
@@ -192,7 +191,7 @@ impl ast::RecordExprFieldList {
192191 tokens:: single_space ( )
193192 } ;
194193
195- let mut to_insert: ArrayVec < [ SyntaxElement ; 4 ] > = ArrayVec :: new ( ) ;
194+ let mut to_insert: ArrayVec < SyntaxElement , 4 > = ArrayVec :: new ( ) ;
196195 to_insert. push ( space. into ( ) ) ;
197196 to_insert. push ( field. syntax ( ) . clone ( ) . into ( ) ) ;
198197 to_insert. push ( make:: token ( T ! [ , ] ) . into ( ) ) ;
@@ -305,7 +304,7 @@ impl ast::PathSegment {
305304 iter:: once ( type_args. syntax ( ) . clone ( ) . into ( ) ) ,
306305 ) ;
307306 }
308- let mut to_insert: ArrayVec < [ SyntaxElement ; 2 ] > = ArrayVec :: new ( ) ;
307+ let mut to_insert: ArrayVec < SyntaxElement , 2 > = ArrayVec :: new ( ) ;
309308 if turbo {
310309 to_insert. push ( make:: token ( T ! [ :: ] ) . into ( ) ) ;
311310 }
@@ -444,7 +443,7 @@ impl ast::MatchArmList {
444443 let arm_ws = tokens:: WsBuilder :: new ( " " ) ;
445444 let match_indent = & leading_indent ( self . syntax ( ) ) . unwrap_or_default ( ) ;
446445 let match_ws = tokens:: WsBuilder :: new ( & format ! ( "\n {}" , match_indent) ) ;
447- let to_insert: ArrayVec < [ SyntaxElement ; 3 ] > =
446+ let to_insert: ArrayVec < SyntaxElement , 3 > =
448447 [ arm_ws. ws ( ) . into ( ) , item. syntax ( ) . clone ( ) . into ( ) , match_ws. ws ( ) . into ( ) ] . into ( ) ;
449448 self . insert_children ( position, to_insert)
450449 }
@@ -465,7 +464,7 @@ impl ast::GenericParamList {
465464 pub fn append_param ( & self , item : ast:: GenericParam ) -> ast:: GenericParamList {
466465 let space = tokens:: single_space ( ) ;
467466
468- let mut to_insert: ArrayVec < [ SyntaxElement ; 4 ] > = ArrayVec :: new ( ) ;
467+ let mut to_insert: ArrayVec < SyntaxElement , 4 > = ArrayVec :: new ( ) ;
469468 if self . generic_params ( ) . next ( ) . is_some ( ) {
470469 to_insert. push ( space. into ( ) ) ;
471470 }
0 commit comments