class_docstr: ABC for all comparison pairs to be used in conjunction with :func:`assert_equal`.
  
  Each subclass needs to overwrite :meth:`Pair.compare` that performs the actual comparison.
  
  Each pair receives **all** options, so select the ones applicable for the subclass and forward the rest to the
  super class. Raising an :class:`UnsupportedInputs` during constructions indicates that the pair is not able to
  handle the inputs and the next pair type will be tried.
  
  All other errors should be raised as :class:`ErrorMeta`. After the instantiation, :meth:`Pair._make_error_meta` can
  be used to automatically handle overwriting the message with a user supplied one and id handling.
class_docstr_tok: ["ABC","for","all","comparison","pairs","to","be","used","in","conjunction","with",":","func",":","`","assert_equal","`",".","Each","subclass","needs","to","overwrite",":","meth",":","`","Pair.compare","`","that","performs","the","actual","comparison",".","Each","pair","receives","*","*","all","*","*","options",",","so","select","the","ones","applicable","for","the","subclass","and","forward","the","rest","to","the","super","class",".","Raising","an",":","class",":","`","UnsupportedInputs","`","during","constructions","indicates","that","the","pair","is","not","able","to","handle","the","inputs","and","the","next","pair","type","will","be","tried",".","All","other","errors","should","be","raised","as",":","class",":","`","ErrorMeta","`",".","After","the","instantiation",",",":","meth",":","`","Pair._make_error_meta","`","can","be","used","to","automatically","handle","overwriting","the","message","with","a","user","supplied","one","and","id","handling","."]
docstr: Raises an :class:`ErrorMeta` from a given exception type and message and the stored id.
  
  .. warning::
  
      If you use this before the ``super().__init__(...)`` call in the constructor, you have to pass the ``id``
      explicitly.
docstr_tok: ["Raises","an",":","class",":","`","ErrorMeta","`","from","a","given","exception","type","and","message","and","the","stored","id",".","..","warning",":",":","If","you","use","this","before","the","``","super","(",")",".__init__","(","...",")","``","call","in","the","constructor",",","you","have","to","pass","the","``","id","``","explicitly","."]
code: def _fail(
      self, type: Type[Exception], msg: str, *, id: Tuple[Any, ...] = ()
  ) -> NoReturn:
      """Raises an :class:`ErrorMeta` from a given exception type and message and the stored id.
  
      .. warning::
  
          If you use this before the ``super().__init__(...)`` call in the constructor, you have to pass the ``id``
          explicitly.
      """
      raise ErrorMeta(
          type,
          msg,
          id=self.id if not id and hasattr(self, "id") else id,
      )
  
imports: import abc
  import cmath
  import collections.abc
  import contextlib
  import warnings
  from typing import Any, Callable, Collection, Dict, List, NoReturn, Optional, Sequence, Tuple, Type, Union
  import torch
label_desc: Use image node_id 4 for calling the Pair obj's underlying member method code with example usage: obj._fail(type, msg) without return types