code: def subtensor_assert_indices_jax_compatible(node, idx_list):
      from pytensor.graph.basic import Constant
      from pytensor.tensor.variable import TensorVariable
  
      ilist = indices_from_subtensor(node.inputs[1:], idx_list)
      for idx in ilist:
          if isinstance(idx, TensorVariable):
              if idx.type.dtype == "bool":
                  raise NotImplementedError(BOOLEAN_MASK_ERROR)
          elif isinstance(idx, slice):
              for slice_arg in (idx.start, idx.stop, idx.step):
                  if slice_arg is not None and not isinstance(
                      slice_arg, Constant
                  ):
                      raise NotImplementedError(
                          DYNAMIC_SLICE_LENGTH_ERROR
                      )
  
file_path: pytensor/pytensor/link/jax/dispatch/subtensor.py
imports: from pytensor.link.jax.dispatch.basic import jax_funcify
  from pytensor.tensor.subtensor import AdvancedIncSubtensor, AdvancedIncSubtensor1, AdvancedSubtensor, AdvancedSubtensor1, IncSubtensor, Subtensor, indices_from_subtensor
  from pytensor.tensor.type_other import MakeSlice
label_desc: Use image node_id 1 for calling a global function with example usage: subtensor_assert_indices_jax_compatible(node, idx_list) without return types