@@ -812,15 +812,17 @@ impl Engine {
812812 )
813813 } ) ?;
814814
815- let (
816- is_anon,
817- FnPtr {
818- name,
819- curry,
820- env,
821- typ,
822- } ,
823- ) = ( fn_ptr. is_anonymous ( ) , fn_ptr) ;
815+ let _is_anon = false ;
816+ #[ cfg( not( feature = "no_function" ) ) ]
817+ let _is_anon = fn_ptr. is_anonymous ( ) ;
818+
819+ let FnPtr {
820+ name,
821+ curry,
822+ #[ cfg( not( feature = "no_function" ) ) ]
823+ env,
824+ typ,
825+ } = fn_ptr;
824826
825827 // Adding the curried arguments and the remaining arguments
826828 let mut curry = curry. into_iter ( ) . collect :: < FnArgsVec < _ > > ( ) ;
@@ -871,7 +873,7 @@ impl Engine {
871873 // Recalculate hash
872874 let num_args = args. len ( ) ;
873875
874- let new_hash = if !is_anon && !is_valid_function_name ( & name) {
876+ let new_hash = if !_is_anon && !is_valid_function_name ( & name) {
875877 FnCallHashes :: from_native_only ( calc_fn_hash ( None , & name, num_args) )
876878 } else {
877879 #[ cfg( not( feature = "no_function" ) ) ]
@@ -954,7 +956,17 @@ impl Engine {
954956 _linked = Some ( ( Some ( fn_def. clone ( ) ) , None , fn_ptr. env . clone ( ) ) )
955957 }
956958 FnPtrType :: Native ( ref func) => {
957- _linked = Some ( ( None , Some ( func. clone ( ) ) , fn_ptr. env . clone ( ) ) )
959+ _linked = Some ( (
960+ #[ cfg( not( feature = "no_function" ) ) ]
961+ None ,
962+ #[ cfg ( feature = "no_function" ) ]
963+ Option :: < ( ) > :: None ,
964+ Some ( func. clone ( ) ) ,
965+ #[ cfg ( not ( feature = "no_function" ) ) ]
966+ fn_ptr. env . clone ( ) ,
967+ #[ cfg ( feature = "no_function" ) ]
968+ Option :: < ( ) > :: None ,
969+ ) )
958970 }
959971 _ => {
960972 let _is_anon = false ;
@@ -1086,15 +1098,17 @@ impl Engine {
10861098 )
10871099 } ) ?;
10881100
1089- let (
1090- is_anon,
1091- FnPtr {
1092- name,
1093- curry : extra_curry,
1094- env,
1095- typ,
1096- } ,
1097- ) = ( fn_ptr. is_anonymous ( ) , fn_ptr) ;
1101+ let _is_anon = false ;
1102+ #[ cfg( not( feature = "no_function" ) ) ]
1103+ let _is_anon = fn_ptr. is_anonymous ( ) ;
1104+
1105+ let FnPtr {
1106+ name,
1107+ curry : extra_curry,
1108+ #[ cfg( not( feature = "no_function" ) ) ]
1109+ env,
1110+ typ,
1111+ } = fn_ptr;
10981112
10991113 curry. extend ( extra_curry) ;
11001114
@@ -1164,7 +1178,7 @@ impl Engine {
11641178 // Recalculate hash
11651179 let args_len = num_args + curry. len ( ) ;
11661180
1167- hashes = if !is_anon && !is_valid_function_name ( fn_name) {
1181+ hashes = if !_is_anon && !is_valid_function_name ( fn_name) {
11681182 FnCallHashes :: from_native_only ( calc_fn_hash ( None , fn_name, args_len) )
11691183 } else {
11701184 FnCallHashes :: from_hash ( calc_fn_hash ( None , fn_name, args_len) )
0 commit comments