code: def test_await_func_arg(self):
      def gap(x: Tensor):
          return torch.relu(x) + torch.sin(x)
  
      def delayed(x: Tensor) -> Tensor:
          return -1 * x
  
      def fn(aw: Await[Tensor]) -> Tensor:
          return 3 * torch.jit._awaitable_wait(aw)
  
      def main(x: Tensor) -> Tensor:
          aw = torch.jit._awaitable(delayed, x)
          z = gap(x)
          y = fn(aw)
          return y + x
  
      inp = torch.eye(2)
  
      sm = torch.jit.script(main)
      out = main(inp)
      script_out = sm(inp)
      expected = -2 * torch.eye(2)
      self.assertTrue(torch.allclose(expected, script_out))
      self.assertTrue(torch.allclose(script_out, out))
  
      iofile = io.BytesIO()
      torch.jit.save(sm, iofile)
      iofile.seek(0)
      sm = torch.jit.load(iofile)
      script_out_load = sm(inp)
      self.assertTrue(torch.allclose(expected, script_out_load))
  
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 17 for calling the TestAwait obj's underlying member method code with example usage: obj.test_await_func_arg() and returns: unknown, unknown, unknown, unknown