class_docstr: Class storing metadata of arm that has been abandoned within
  a BatchTrial.
class_docstr_tok: ["Class","storing","metadata","of","arm","that","has","been","abandoned","within","a","BatchTrial","."]
code: def __eq__(self, other: AbandonedArm) -> bool:
      return (
          self.name == other.name
          and self.reason == other.reason
          and datetime_equals(self.time, other.time)
      )
  
imports: from __future__ import annotations
  import warnings
  from collections import defaultdict, OrderedDict
  from copy import deepcopy
  from dataclasses import dataclass
  from datetime import datetime
  from enum import Enum
  from logging import Logger
  from typing import DefaultDict, Dict, List, MutableMapping, Optional, Set, TYPE_CHECKING, Union
  import numpy
  from ax.core.arm import Arm
  from ax.core.base_trial import BaseTrial
  from ax.core.data import Data
  from ax.core.generator_run import ArmWeight, GeneratorRun, GeneratorRunType
  from ax.core.trial import immutable_once_run
  from ax.core.types import TCandidateMetadata, TEvaluationOutcome, validate_evaluation_outcome
  from ax.exceptions.core import AxError, UnsupportedError, UserInputError
  from ax.utils.common.base import SortableBase
  from ax.utils.common.docutils import copy_doc
  from ax.utils.common.equality import datetime_equals, equality_typechecker
  from ax.utils.common.logger import _round_floats_for_logging, get_logger
  from ax.utils.common.typeutils import checked_cast, not_none
label_desc: Use image node_id 1 for calling the AbandonedArm obj's underlying member method code with example usage: obj.__eq__(other) and returns: unknown