code: def __init__(self, like, returns, pure):
      super().__init__()
      self.like = like
      self.returns = returns
      self.pure = pure
      # Using wekrefs-to-generated-functions means that the cache can be
      # garbage-collected at the end of each example, reducing memory use.
      self._cache = WeakKeyDictionary()
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/strategies/_internal/functions.py
imports: from weakref import WeakKeyDictionary
  from hypothesis.control import note
  from hypothesis.errors import InvalidState
  from hypothesis.internal.reflection import convert_positional_arguments, nicerepr, proxies, repr_call
  from hypothesis.strategies._internal.strategies import SearchStrategy
label_desc: Use image node_id 1 to create a new FunctionStrategy object from inherited base classes: SearchStrategy with example: obj = FunctionStrategy(like, returns, pure)