code: def cast_scalar_indexer(val):
      """
      Disallow indexing with a float key, even if that key is a round number.
  
      Parameters
      ----------
      val : scalar
  
      Returns
      -------
      outval : scalar
      """
      # assumes lib.is_scalar(val)
      if lib.is_float(val) and val.is_integer():
          raise IndexError(
              # GH#34193
              "Indexing with a float is no longer supported. Manually convert "
              "to an integer key instead."
          )
      return val
  
imports: from __future__ import annotations
  import builtins
  from collections import abc, defaultdict
  from collections.abc import Collection, Generator, Hashable, Iterable, Sequence
  import contextlib
  from functools import partial
  import inspect
  from typing import TYPE_CHECKING, Any, Callable, TypeVar, cast, overload
  import warnings
  import numpy
  from pandas._libs import lib
  from pandas.compat.numpy import np_version_gte1p24
  from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
  from pandas.core.dtypes.common import is_bool_dtype, is_integer
  from pandas.core.dtypes.generic import ABCExtensionArray, ABCIndex, ABCMultiIndex, ABCSeries
  from pandas.core.dtypes.inference import iterable_not_string
label_desc: Use image node_id 4 for calling a global function with example usage: cast_scalar_indexer(val) and returns: val