code: def save(self, trial, storage=Checkpoint.DISK):
          
          trial._checkpoint.storage = storage
          trial._checkpoint.last_result = trial.last_result
          if storage == Checkpoint.MEMORY:
              trial._checkpoint.value = trial.runner.save_to_object.remote()
          else:
              # Keeps only highest performing checkpoints if enabled
              if trial.keep_checkpoints_num:
                  try:
                      last_attr_val = trial.last_result[
                          trial.checkpoint_score_attr]
                      if (trial.compare_checkpoints(last_attr_val)
                              and not math.isnan(last_attr_val)):
                          trial.best_checkpoint_attr_value = last_attr_val
                          self._checkpoint_and_erase(trial)
                  except KeyError:
                      logger.warning(
                          "Result dict has no key: {}. keep"
                          "_checkpoints_num flag will not work".format(
                              trial.checkpoint_score_attr))
              else:
                  with warn_if_slow("save_to_disk"):
                      trial._checkpoint.value = ray.get(
                          trial.runner.save.remote())
  
          return trial._checkpoint.value
docs: Saves the trial's state to a checkpoint.