class_docstr: Generates trials to be passed to the TrialRunner.
  
  Uses the provided ``searcher`` object to generate trials. This class
  transparently handles repeating trials with score aggregation
  without embedding logic into the Searcher.
  
  Args:
      searcher: Search object that subclasses the Searcher base class. This
          is then used for generating new hyperparameter samples.
docstr: Notifies the underlying searcher.
docstr_tok: ["Notifies","the","underlying","searcher","."]
code: def on_trial_result(self, trial_id: str, result: Dict):
      """Notifies the underlying searcher."""
      self.searcher.on_trial_result(trial_id, result)
  
imports: import copy
  import logging
  from typing import Dict, List, Optional, Union
  from ray.tune.error import TuneError
  from ray.tune.experiment import Experiment, _convert_to_experiment_list
  from ray.tune.experiment.config_parser import _make_parser, _create_trial_from_spec
  from ray.tune.search.search_algorithm import SearchAlgorithm
  from ray.tune.search import Searcher
  from ray.tune.search.util import _set_search_properties_backwards_compatible
  from ray.tune.search.variant_generator import format_vars, _resolve_nested_dict
  from ray.tune.experiment import Trial
  from ray.tune.utils.util import flatten_dict, merge_dicts, _atomic_save, _load_newest_checkpoint
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 8 for calling the SearchGenerator obj's underlying member method code with example usage: obj.on_trial_result(trial_id, result) without return types