@@ -23,12 +23,12 @@ impl<'a> TryFrom<Value> for KeyType<'a> {
23
23
match value {
24
24
Value :: Null => Ok ( Self :: Null ) ,
25
25
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 ( || {
27
27
Error :: InvalidVariableKey {
28
28
value : Value :: Number ( n) ,
29
29
reason : "Numeric keys must be valid integers" . into ( ) ,
30
- } ,
31
- ) ?) ) ,
30
+ }
31
+ } ) ?) ) ,
32
32
_ => Err ( Error :: InvalidVariableKey {
33
33
value : value. clone ( ) ,
34
34
reason : "Variable keys must be strings, integers, or null" . into ( ) ,
@@ -43,12 +43,12 @@ impl<'a> TryFrom<&'a Value> for KeyType<'a> {
43
43
match value {
44
44
Value :: Null => Ok ( Self :: Null ) ,
45
45
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 ( || {
47
47
Error :: InvalidVariableKey {
48
48
value : value. clone ( ) ,
49
49
reason : "Numeric keys must be valid integers" . into ( ) ,
50
- } ,
51
- ) ?) ) ,
50
+ }
51
+ } ) ?) ) ,
52
52
_ => Err ( Error :: InvalidVariableKey {
53
53
value : value. clone ( ) ,
54
54
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> {
155
155
Value :: Number ( n) => n. as_u64 ( ) ,
156
156
_ => None ,
157
157
}
158
- . ok_or ( Error :: InvalidArgument {
158
+ . ok_or_else ( || Error :: InvalidArgument {
159
159
value : threshold_arg. clone ( ) ,
160
160
operation : "missing_some" . into ( ) ,
161
161
reason : "missing_some threshold must be a valid, positive integer" . into ( ) ,
0 commit comments