class_docstr: A tf.TypeSpec for `AutoCompositeTensor` objects.
class_docstr_tok: ["A","tf.TypeSpec","for","`","AutoCompositeTensor","`","objects","."]
docstr: Returns the most specific supertype of `self` and `others`.
  
  Args:
    others: A Sequence of `TypeSpec`.
  
  Returns `None` if a supertype does not exist.
docstr_tok: ["Returns","the","most","specific","supertype","of","`","self","`","and","`","others","`",".","Args",":","others",":","A","Sequence","of","`","TypeSpec","`",".","Returns","`","None","`","if","a","supertype","does","not","exist","."]
code: def most_specific_common_supertype(self, others):
      """Returns the most specific supertype of `self` and `others`.
  
      Args:
        others: A Sequence of `TypeSpec`.
  
      Returns `None` if a supertype does not exist.
      """
      # pylint: disable=protected-access
      if not all(
          type(self) is type(other)
          and self._callable_params == other._callable_params
          for other in others
      ):
          return None
  
      try:
          for other in others:
              tf.nest.assert_same_structure(
                  self._comparable[:-1], other._comparable[:-1]
              )
      except (TypeError, ValueError):
          return None
  
      self_elements = tf.nest.flatten(self._comparable[:-1])
      others_elements = [
          tf.nest.flatten(other._comparable[:-1]) for other in others
      ]
  
      def common_supertype_or_equal(a, bs):
          try:
              return a.most_specific_common_supertype(bs)
          except AttributeError:
              return a if all(a == b for b in bs) else None
  
      common_elements = [None] * len(self_elements)
      for i, self_element in enumerate(self_elements):
          common_elements[i] = common_supertype_or_equal(
              self_element,
              [other_elements[i] for other_elements in others_elements],
          )
          if self_element is not None and common_elements[i] is None:
              return None
      common_comparable = tf.nest.pack_sequence_as(
          self._comparable[:-1], common_elements
      )
  
      return type(self)(*common_comparable[1:], self._callable_params)
  
imports: import contextlib
  import functools
  import threading
  import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import composite_tensor
  from tensorflow.python.framework import type_spec
  from tensorflow.python.framework import type_spec_registry
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.util import tf_inspect
  from tensorflow.python.util import variable_utils
label_desc: Use image node_id 9 for calling the _AutoCompositeTensorTypeSpec obj's underlying member method code with example usage: obj.most_specific_common_supertype(others) and returns: type, None, None, a, None, unknown