@@ -23,12 +23,12 @@ impl<'a> TryFrom<Value> for KeyType<'a> {
2323 match value {
2424 Value :: Null => Ok ( Self :: Null ) ,
2525 Value :: String ( s) => Ok ( Self :: String ( Cow :: from ( s) ) ) ,
26- Value :: Number ( n) => Ok ( Self :: Number ( n. as_i64 ( ) . ok_or (
26+ Value :: Number ( n) => Ok ( Self :: Number ( n. as_i64 ( ) . ok_or_else ( || {
2727 Error :: InvalidVariableKey {
2828 value : Value :: Number ( n) ,
2929 reason : "Numeric keys must be valid integers" . into ( ) ,
30- } ,
31- ) ?) ) ,
30+ }
31+ } ) ?) ) ,
3232 _ => Err ( Error :: InvalidVariableKey {
3333 value : value. clone ( ) ,
3434 reason : "Variable keys must be strings, integers, or null" . into ( ) ,
@@ -43,12 +43,12 @@ impl<'a> TryFrom<&'a Value> for KeyType<'a> {
4343 match value {
4444 Value :: Null => Ok ( Self :: Null ) ,
4545 Value :: String ( s) => Ok ( Self :: String ( Cow :: from ( s) ) ) ,
46- Value :: Number ( n) => Ok ( Self :: Number ( n. as_i64 ( ) . ok_or (
46+ Value :: Number ( n) => Ok ( Self :: Number ( n. as_i64 ( ) . ok_or_else ( || {
4747 Error :: InvalidVariableKey {
4848 value : value. clone ( ) ,
4949 reason : "Numeric keys must be valid integers" . into ( ) ,
50- } ,
51- ) ?) ) ,
50+ }
51+ } ) ?) ) ,
5252 _ => Err ( Error :: InvalidVariableKey {
5353 value : value. clone ( ) ,
5454 reason : "Variable keys must be strings, integers, or null" . into ( ) ,
@@ -155,7 +155,7 @@ pub fn missing_some(data: &Value, args: &Vec<&Value>) -> Result<Value, Error> {
155155 Value :: Number ( n) => n. as_u64 ( ) ,
156156 _ => None ,
157157 }
158- . ok_or ( Error :: InvalidArgument {
158+ . ok_or_else ( || Error :: InvalidArgument {
159159 value : threshold_arg. clone ( ) ,
160160 operation : "missing_some" . into ( ) ,
161161 reason : "missing_some threshold must be a valid, positive integer" . into ( ) ,
0 commit comments