No implementation of function Function(<built-in function array>) found for signature:

Hi there ! I am new to numba. Facing “No implementation of function Function() found for signature:” error while compiling the below function -

from numba import jit, uint16, complex128, prange , bool_ , uint8

@njit(bool_(uint8[:],uint8[:],uint8[: , : , :],uint8) )
def getPointProximity(a : np.ndarray, b : np.ndarray, mask :np.ndarray,  length :np.uint8 ) : 

  nrows = mask.shape[0] 
  ncols = mask.shape[1] 
  '''
  a -> parent node 
  b -> child node 
  
  Measures if there is a masked pixel along a perpendicular line ab , passing through b
  '''
  v_ab= np.array(b - a ) 
  
  perpendicular_dir_ab = np.array( [-1*v_ab[1] , v_ab[0]] ) 

 
  
  for l in range(int(length/2))  : 
    [x1 , y1] = b + l*perpendicular_dir_ab
    [x2,y2] = b - l*perpendicular_dir_ab 
    
    x1 , y1 , x2 , y2 = int(x1) ,int(y1) ,int(x2) , int(y2)

    if x1 >= nrows or x1 < 0 or y1 >= ncols or y1 <0 or list(mask[int(x1)][int(y1)]) == [255 , 0 , 0 ] : 
      return False 
  
    if x2 >= nrows or x2 < 0 or y2 >= ncols or y2 < 0 or list(mask[x2][y2]) == [255 , 0 , 0 ] : 
      return False 

  return True 

What am i doing wrong here?

I’d focus on the meaning of this line