code: def test_hash_ignores_line_definition_of_function(self):
      def func():
          pass
  
      hash1 = Hasher.hash(func)
  
      def func():
          pass
  
      hash2 = Hasher.hash(func)
      self.assertEqual(hash1, hash2)
  
imports: import json
  import os
  import pickle
  import subprocess
  from functools import partial
  from pathlib import Path
  from tempfile import gettempdir
  from textwrap import dedent
  from types import FunctionType
  from unittest import TestCase
  from unittest.mock import patch
  import numpy
  import pytest
  from multiprocess import Pool
  import datasets
  from datasets import config
  from datasets.fingerprint import Hasher, fingerprint_transform
  from datasets.table import InMemoryTable
  from .utils import require_not_windows, require_regex, require_spacy, require_spacy_model, require_tiktoken, require_torch, require_transformers
label_desc: Use image node_id 2 for calling the RecurseHashTest obj's underlying member method code with example usage: obj.test_hash_ignores_line_definition_of_function() without return types