code: def test_optional_filled_intlist(self):
      def f(n: int):
          x = torch._C._nn._test_optional_filled_intlist(
              torch.tensor([1, 1], dtype=torch.int), (n, n)
          )
          y = torch._C._nn._test_optional_filled_intlist(
              torch.tensor([1, 1], dtype=torch.int), n
          )
          return x, y
  
      # eager
      returned = f(10)
      self.assertEqual(returned[0], returned[1])
  
      # scripted
      s = torch.jit.script(f)
      returned = s(10)
      self.assertEqual(returned[0], returned[1])
  
      # traced
      traced_none = self.trace_optional_filled_intlist(None)
      traced_int = self.trace_optional_filled_intlist(10)
  
      # Not really a module, just lets us use our two traced functions to handle
      # the specific cases of passing None and 10.
      def fake_module(values, const):
          if const is None:
              return traced_none(values)
          if const == 10:
              return traced_int(values)
          raise Exception("Invalid argument")
  
      self.do_test_optional_filled_intlist_with_module(fake_module)
  
imports: from typing import Optional, List
  import torch
  from torch.testing._internal.common_utils import TestCase, run_tests, skipIfTorchDynamo
label_desc: Use image node_id 18 for calling the TestNativeFunctions obj's underlying member method code with example usage: obj.test_optional_filled_intlist() and returns: x,  y, traced_none, traced_int