code: def _unimplemented_setitem(self, i, x):
      msg = (
          "'{}' object does not support item assignment. JAX arrays are "
          "immutable. Instead of ``x[idx] = y``, use ``x = x.at[idx].set(y)`` "
          "or another .at[] method: "
          "https://jax.readthedocs.io/en/latest/_autosummary/jax.numpy.ndarray.at.html"
      )
      raise TypeError(msg.format(type(self)))
  
imports: from __future__ import annotations
  import abc
  from functools import partial, wraps
  import math
  from typing import Any
  import numpy
  import jax
  from jax import lax
  from jax._src import core
  from jax._src import dtypes
  from jax._src.api_util import _ensure_index_tuple
  from jax._src.array import ArrayImpl
  from jax._src.lax import lax
  from jax._src.numpy import lax_numpy
  from jax._src.numpy import reductions
  from jax._src.numpy import ufuncs
  from jax._src.numpy import util
  from jax._src.ops import scatter
  from jax._src.typing import Array, ArrayLike, DimSize, DTypeLike, Shape
  from jax._src.util import safe_zip, safe_map
label_desc: Use image node_id 12 for calling a global function with example usage: _unimplemented_setitem(i, x) without return types