@@ -469,58 +469,51 @@ macro_rules! update {
469469 #[ allow( unused_imports) ]
470470 use $crate:: backend:: operation:: TaskGuard ;
471471 #[ allow( unused_mut) ]
472- match $update {
473- mut update => $task. update( & $crate:: data:: CachedDataItemKey :: $key $input, |old| {
474- update( old. and_then( |old| {
475- if let $crate:: data:: CachedDataItemValue :: $key { value } = old {
476- Some ( value)
477- } else {
478- None
479- }
480- } ) )
481- . map( |new| $crate:: data:: CachedDataItemValue :: $key { value: new } )
482- } )
483- }
472+ let mut update = $update;
473+ $task. update( & $crate:: data:: CachedDataItemKey :: $key $input, |old| {
474+ update( old. and_then( |old| {
475+ if let $crate:: data:: CachedDataItemValue :: $key { value } = old {
476+ Some ( value)
477+ } else {
478+ None
479+ }
480+ } ) )
481+ . map( |new| $crate:: data:: CachedDataItemValue :: $key { value: new } )
482+ } )
484483 } } ;
485484 ( $task: ident, $key: ident, $update: expr) => {
486485 $crate:: backend:: storage:: update!( $task, $key { } , $update)
487486 } ;
488487}
489488
490489macro_rules! update_ucount_and_get {
491- ( $task: ident, $key: ident $input: tt, -$update: expr) => {
492- match $update {
493- update => {
494- let mut value = 0 ;
495- $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
496- if let Some ( old) = old {
497- value = old - update;
498- ( value != 0 ) . then_some( value)
499- } else {
500- None
501- }
502- } ) ;
503- value
490+ ( $task: ident, $key: ident $input: tt, -$update: expr) => { {
491+ let update = $update;
492+ let mut value = 0 ;
493+ $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
494+ if let Some ( old) = old {
495+ value = old - update;
496+ ( value != 0 ) . then_some( value)
497+ } else {
498+ None
504499 }
505- }
506- } ;
507- ( $task: ident, $key: ident $input: tt, $update: expr) => {
508- match $update {
509- update => {
510- let mut value = 0 ;
511- $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
512- if let Some ( old) = old {
513- value = old + update;
514- ( value != 0 ) . then_some( value)
515- } else {
516- value = update;
517- ( update != 0 ) . then_some( update)
518- }
519- } ) ;
520- value
500+ } ) ;
501+ value
502+ } } ;
503+ ( $task: ident, $key: ident $input: tt, $update: expr) => { {
504+ let update = $update;
505+ let mut value = 0 ;
506+ $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
507+ if let Some ( old) = old {
508+ value = old + update;
509+ ( value != 0 ) . then_some( value)
510+ } else {
511+ value = update;
512+ ( update != 0 ) . then_some( update)
521513 }
522- }
523- } ;
514+ } ) ;
515+ value
516+ } } ;
524517 ( $task: ident, $key: ident, -$update: expr) => {
525518 $crate:: backend:: storage:: update_ucount_and_get!( $task, $key { } , -$update)
526519 } ;
@@ -530,25 +523,22 @@ macro_rules! update_ucount_and_get {
530523}
531524
532525macro_rules! update_count {
533- ( $task: ident, $key: ident $input: tt, -$update: expr) => {
534- match $update {
535- update => {
536- let mut state_change = false ;
537- $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
538- #[ allow( unused_comparisons, reason = "type of update might be unsigned, where update < 0 is always false" ) ]
539- if let Some ( old) = old {
540- let new = old - update;
541- state_change = old <= 0 && new > 0 || old > 0 && new <= 0 ;
542- ( new != 0 ) . then_some( new)
543- } else {
544- state_change = update < 0 ;
545- ( update != 0 ) . then_some( -update)
546- }
547- } ) ;
548- state_change
526+ ( $task: ident, $key: ident $input: tt, -$update: expr) => { {
527+ let update = $update;
528+ let mut state_change = false ;
529+ $crate:: backend:: storage:: update!( $task, $key $input, |old: Option <_>| {
530+ #[ allow( unused_comparisons, reason = "type of update might be unsigned, where update < 0 is always false" ) ]
531+ if let Some ( old) = old {
532+ let new = old - update;
533+ state_change = old <= 0 && new > 0 || old > 0 && new <= 0 ;
534+ ( new != 0 ) . then_some( new)
535+ } else {
536+ state_change = update < 0 ;
537+ ( update != 0 ) . then_some( -update)
549538 }
550- }
551- } ;
539+ } ) ;
540+ state_change
541+ } } ;
552542 ( $task: ident, $key: ident $input: tt, $update: expr) => {
553543 match $update {
554544 update => {
0 commit comments