code: def test_cacheit_unhashable():
      @cacheit
      def testit(x):
          return x
  
      assert testit(1) == 1
      assert testit(1) == 1
      a = {}
      assert testit(a) == {}
      a[1] = 2
      assert testit(a) == {1: 2}
  
file_path: sympy/sympy/core/tests/test_cache.py
imports: import sys
  from sympy.core.cache import cacheit, cached_property, lazy_function
  from sympy.testing.pytest import raises
label_desc: Use image node_id 2 for calling a global function with example usage: test_cacheit_unhashable() and returns: x