code: def test_struct(self):
      X.init_called = 0
  
      x = X()
      x.a = 42
      self.assertEqual(X.init_called, 1)
  
      y = self.loads(self.dumps(x))
  
      # loads must NOT call __init__
      self.assertEqual(X.init_called, 1)
  
      # ctypes instances are identical when the instance __dict__
      # and the memory buffer are identical
      self.assertEqual(y.__dict__, x.__dict__)
      self.assertEqual(memoryview(y).tobytes(), memoryview(x).tobytes())
  
file_path: catboost/contrib/tools/python/src/Lib/ctypes/test/test_pickling.py
imports: import unittest
  import pickle
  from ctypes import *
  import _ctypes_test
label_desc: Use image node_id 4 for calling the PickleTest obj's underlying member method code with example usage: obj.test_struct() without return types