code: def test_forward_compatible_arguments_with_out(self):
      old_schema = parse_schema(
          "any(Tensor self, *, int a, int b=1, Tensor(a!) out) -> Tensor(a!)"
      )
      new_schema = parse_schema(
          "any(Tensor self, *, int a, Tensor(a!) out) -> Tensor(a!)"
      )
      is_fc, _ = new_schema.check_forward_compatible_with(old_schema)
      self.assertTrue(is_fc)
      new_schema = parse_schema(
          "any(Tensor self, *, int a, int b=1, int c=1, Tensor(a!) out) -> Tensor(a!)"
      )
      is_fc, _ = new_schema.check_forward_compatible_with(old_schema)
      self.assertTrue(is_fc)
      new_schema = parse_schema(
          "any(Tensor self, *, int a, Tensor(d!) d, int b=1, Tensor(a!) out) -> Tensor(a!)"
      )
      is_fc, reason = new_schema.check_forward_compatible_with(
          old_schema
      )
      self.assertFalse(is_fc)
      self.assertEqual(
          reason,
          "Function schema should have the same number of out arguments",
      )
  
file_path: pytorch/test/test_function_schema.py
imports: import torch
  from torch.testing._internal.common_utils import TestCase, run_tests
  from torch._C import parse_schema
label_desc: Use image node_id 11 for calling the TestFunctionSchema obj's underlying member method code with example usage: obj.test_forward_compatible_arguments_with_out() without return types