@@ -102,11 +102,11 @@ impl Rule for PreferNativeCoercionFunctions {
102102 }
103103}
104104
105- fn check_function (
106- arg : & FormalParameters ,
107- function_body : & FunctionBody ,
105+ fn check_function < ' a > (
106+ arg : & ' a FormalParameters ,
107+ function_body : & ' a FunctionBody ,
108108 is_arrow : bool ,
109- ) -> Option < & ' static str > {
109+ ) -> Option < & ' a str > {
110110 let first_parameter_name = get_first_parameter_name ( arg) ?;
111111
112112 if function_body. statements . len ( ) != 1 {
@@ -160,10 +160,10 @@ fn get_returned_ident<'a>(stmt: &'a Statement, is_arrow: bool) -> Option<&'a str
160160 None
161161}
162162
163- fn is_matching_native_coercion_function_call (
164- expr : & Expression ,
165- first_arg_name : & str ,
166- ) -> Option < & ' static str > {
163+ fn is_matching_native_coercion_function_call < ' a > (
164+ expr : & ' a Expression ,
165+ first_arg_name : & ' a str ,
166+ ) -> Option < & ' a str > {
167167 let Expression :: CallExpression ( call_expr) = expr else {
168168 return None ;
169169 } ;
@@ -176,7 +176,11 @@ fn is_matching_native_coercion_function_call(
176176 return None ;
177177 } ;
178178
179- let fn_name = NATIVE_COERCION_FUNCTION_NAMES . get_key ( callee_ident. name . as_str ( ) ) ?;
179+ let fn_name = callee_ident. name . as_str ( ) ;
180+
181+ if NATIVE_COERCION_FUNCTION_NAMES . binary_search ( & fn_name) . is_err ( ) {
182+ return None ;
183+ }
180184
181185 let Argument :: Identifier ( arg_ident) = & call_expr. arguments [ 0 ] else {
182186 return None ;
@@ -224,7 +228,7 @@ fn check_array_callback_methods(
224228 let Some ( method_name) = callee_member_expr. static_property_name ( ) else {
225229 return false ;
226230 } ;
227- if ! ARRAY_METHODS_WITH_BOOLEAN_CALLBACK . contains ( method_name) {
231+ if ARRAY_METHODS_WITH_BOOLEAN_CALLBACK . binary_search ( & method_name) . is_err ( ) {
228232 return false ;
229233 }
230234
@@ -243,23 +247,11 @@ fn check_array_callback_methods(
243247 first_param_name == returned_ident
244248}
245249
246- const NATIVE_COERCION_FUNCTION_NAMES : phf:: Set < & ' static str > = phf:: phf_set! {
247- "String" ,
248- "Number" ,
249- "BigInt" ,
250- "Boolean" ,
251- "Symbol"
252- } ;
250+ const NATIVE_COERCION_FUNCTION_NAMES : [ & str ; 5 ] =
251+ [ "BigInt" , "Boolean" , "Number" , "String" , "Symbol" ] ;
253252
254- const ARRAY_METHODS_WITH_BOOLEAN_CALLBACK : phf:: Set < & ' static str > = phf:: phf_set! {
255- "every" ,
256- "filter" ,
257- "find" ,
258- "findLast" ,
259- "findIndex" ,
260- "findLastIndex" ,
261- "some"
262- } ;
253+ const ARRAY_METHODS_WITH_BOOLEAN_CALLBACK : [ & str ; 7 ] =
254+ [ "every" , "filter" , "find" , "findIndex" , "findLast" , "findLastIndex" , "some" ] ;
263255
264256#[ test]
265257fn test ( ) {
0 commit comments