code: def test_await_getattr_implicit_convertion(self):
      class C:
          def __init__(self, a: Tensor, b: Tensor):
              self._a = a
              self._b = b
  
          def b(self):
              return self._b
  
      make_global(C)
  
      # Can not stay in the class as Jit does not support Recursive annotations
      # (self in wait_impl can not be annotated as C as C is not defined by this time)
      def C_wait_impl(self: C) -> C:
          return C(self._a * 2, self._b * 3)
  
      def fn_arg_C(x: C) -> Tensor:
          return x._a + x._b
  
      def fn(x: Tensor):
          aw: Await[C] = torch.jit._awaitable(C_wait_impl, C(x, x))
          _a = torch.eye(2)
          ai = aw._a
          awb = aw.b()
          c = C(2 * x, 2 * x)
          return _a + ai + x + c._a + c.b()
  
      inp = torch.ones(2)
  
      sm = torch.jit.script(fn)
      out = fn(inp)
      script_out = sm(inp)
      self.assertTrue(
          torch.allclose(torch.eye(2) + 7 * torch.ones(2), script_out)
      )
      self.assertTrue(torch.allclose(script_out, out))
      self.assertGraphContainsExactly(
          sm.graph, kind="prim::awaitable_wait", num_kind_nodes=2
      )
  
imports: import io
  import torch
  from torch.testing._internal.jit_utils import JitTestCase
  from torch.testing._internal.jit_utils import make_global
  from typing import List, Optional, Tuple
  from torch import Tensor
  from torch._awaits import _Await
label_desc: Use image node_id 9 for calling the TestAwait obj's underlying member method code with example usage: obj.test_await_getattr_implicit_convertion() and returns: C, unknown, unknown, self