@@ -402,7 +402,7 @@ impl<'a> Extractor<'a> {
402402 }
403403 }
404404
405- fn needs_index ( & self , key : & JsonPath , inferred : & Vec < PayloadFieldSchema > ) -> bool {
405+ fn needs_index ( & self , key : & JsonPath , inferred : & [ PayloadFieldSchema ] ) -> bool {
406406 match self . payload_schema . get ( key) {
407407 Some ( index_info) => {
408408 let index_info_kind = index_info. kind ( ) ;
@@ -456,7 +456,7 @@ impl<'a> Extractor<'a> {
456456 }
457457 }
458458 ExpressionInternal :: Condition ( condition) => {
459- self . update_from_condition ( None , & * condition) ;
459+ self . update_from_condition ( None , condition) ;
460460 return ;
461461 }
462462 ExpressionInternal :: GeoDistance { origin : _, to } => {
@@ -470,52 +470,52 @@ impl<'a> Extractor<'a> {
470470 }
471471 ExpressionInternal :: Mult ( expression_internals) => {
472472 for expr in expression_internals {
473- self . update_from_expression ( & * expr) ;
473+ self . update_from_expression ( expr) ;
474474 }
475475 return ;
476476 }
477477 ExpressionInternal :: Sum ( expression_internals) => {
478478 for expr in expression_internals {
479- self . update_from_expression ( & * expr) ;
479+ self . update_from_expression ( expr) ;
480480 }
481481 return ;
482482 }
483483 ExpressionInternal :: Neg ( expression_internal) => {
484- self . update_from_expression ( & * expression_internal) ;
484+ self . update_from_expression ( expression_internal) ;
485485 return ;
486486 }
487487 ExpressionInternal :: Div {
488488 left,
489489 right,
490490 by_zero_default : _,
491491 } => {
492- self . update_from_expression ( & * left) ;
493- self . update_from_expression ( & * right) ;
492+ self . update_from_expression ( left) ;
493+ self . update_from_expression ( right) ;
494494 return ;
495495 }
496496 ExpressionInternal :: Sqrt ( expression_internal) => {
497- self . update_from_expression ( & * expression_internal) ;
497+ self . update_from_expression ( expression_internal) ;
498498 return ;
499499 }
500500 ExpressionInternal :: Pow { base, exponent } => {
501- self . update_from_expression ( & * base) ;
502- self . update_from_expression ( & * exponent) ;
501+ self . update_from_expression ( base) ;
502+ self . update_from_expression ( exponent) ;
503503 return ;
504504 }
505505 ExpressionInternal :: Exp ( expression_internal) => {
506- self . update_from_expression ( & * expression_internal) ;
506+ self . update_from_expression ( expression_internal) ;
507507 return ;
508508 }
509509 ExpressionInternal :: Log10 ( expression_internal) => {
510- self . update_from_expression ( & * expression_internal) ;
510+ self . update_from_expression ( expression_internal) ;
511511 return ;
512512 }
513513 ExpressionInternal :: Ln ( expression_internal) => {
514- self . update_from_expression ( & * expression_internal) ;
514+ self . update_from_expression ( expression_internal) ;
515515 return ;
516516 }
517517 ExpressionInternal :: Abs ( expression_internal) => {
518- self . update_from_expression ( & * expression_internal) ;
518+ self . update_from_expression ( expression_internal) ;
519519 return ;
520520 }
521521 ExpressionInternal :: Decay {
@@ -525,8 +525,10 @@ impl<'a> Extractor<'a> {
525525 midpoint : _,
526526 scale : _,
527527 } => {
528- self . update_from_expression ( & * x) ;
529- target. as_ref ( ) . map ( |t| self . update_from_expression ( & * t) ) ;
528+ self . update_from_expression ( x) ;
529+ if let Some ( t) = target. as_ref ( ) {
530+ self . update_from_expression ( t)
531+ } ;
530532 return ;
531533 }
532534 }
0 commit comments