File tree Expand file tree Collapse file tree 1 file changed +14
-23
lines changed Expand file tree Collapse file tree 1 file changed +14
-23
lines changed Original file line number Diff line number Diff line change @@ -170,31 +170,22 @@ impl<T> PathTree<T> {
170
170
pub fn insert ( & mut self , path : & str , value : T ) -> usize {
171
171
let mut node = & mut self . node ;
172
172
173
- if path. is_empty ( ) {
174
- return if let Some ( id) = node. value {
175
- self . routes [ id] . 0 = value;
176
- id
177
- } else {
178
- self . routes . push ( ( value, Vec :: new ( ) ) ) ;
179
- let id = self . id ;
180
- node. value = Some ( id) ;
181
- self . id += 1 ;
182
- id
183
- } ;
184
- }
185
-
186
- let pieces = Parser :: new ( path) . collect :: < Vec < _ > > ( ) ;
187
-
188
- for piece in & pieces {
189
- match piece {
190
- Piece :: String ( s) => {
191
- node = node. insert_bytes ( & s[ ..] ) ;
192
- }
193
- Piece :: Parameter ( _, k) => {
194
- node = node. insert_parameter ( * k) ;
173
+ let pieces = if path. is_empty ( ) {
174
+ Vec :: new ( )
175
+ } else {
176
+ let pieces = Parser :: new ( path) . collect :: < Vec < _ > > ( ) ;
177
+ for piece in & pieces {
178
+ match piece {
179
+ Piece :: String ( s) => {
180
+ node = node. insert_bytes ( & s[ ..] ) ;
181
+ }
182
+ Piece :: Parameter ( _, k) => {
183
+ node = node. insert_parameter ( * k) ;
184
+ }
195
185
}
196
186
}
197
- }
187
+ pieces
188
+ } ;
198
189
199
190
if let Some ( id) = node. value {
200
191
self . routes [ id] . 0 = value;
You can’t perform that action at this time.
0 commit comments