code: def copyto(dst, src, /, *, casting="same_kind", where=True):
      # Handle casting
      # Numpy copyto doesn't cast the inputs
      # It just checks casting rules
      ivy.utils.assertions.check_elem_in_list(
          casting,
          ["no", "equiv", "safe", "same_kind", "unsafe"],
          message="casting must be one of [no, equiv, safe, same_kind, unsafe]",
      )
  
      args = [dst, src]
      args_idxs = ivy.nested_argwhere(args, ivy.is_array)
      args_to_check = ivy.multi_index_nest(args, args_idxs)
      dtype = args_to_check[0].dtype
  
      if casting in ["no", "equiv"]:
          _assert_no_array(
              args_to_check,
              dtype,
          )
      elif casting in ["same_kind", "safe"]:
          _assert_array(
              args_to_check,
              dtype,
              casting=casting,
          )
  
      ivy.where(where, src, dst, out=dst)
  
label_desc: Use image node_id 1 for calling a global function with example usage: copyto() without return types