code: def test_positional_only_args(msg):
      assert m.pos_only_all(1, 2) == (1, 2)
      assert m.pos_only_all(2, 1) == (2, 1)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_only_all(i=1, j=2)
      assert "incompatible function arguments" in str(excinfo.value)
  
      assert m.pos_only_mix(1, 2) == (1, 2)
      assert m.pos_only_mix(2, j=1) == (2, 1)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_only_mix(i=1, j=2)
      assert "incompatible function arguments" in str(excinfo.value)
  
      assert m.pos_kw_only_mix(1, 2, k=3) == (1, 2, 3)
      assert m.pos_kw_only_mix(1, j=2, k=3) == (1, 2, 3)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_kw_only_mix(i=1, j=2, k=3)
      assert "incompatible function arguments" in str(excinfo.value)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_kw_only_mix(1, 2, 3)
      assert "incompatible function arguments" in str(excinfo.value)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_only_def_mix()
      assert "incompatible function arguments" in str(excinfo.value)
  
      assert m.pos_only_def_mix(1) == (1, 2, 3)
      assert m.pos_only_def_mix(1, 4) == (1, 4, 3)
      assert m.pos_only_def_mix(1, 4, 7) == (1, 4, 7)
      assert m.pos_only_def_mix(1, 4, k=7) == (1, 4, 7)
  
      with pytest.raises(TypeError) as excinfo:
          m.pos_only_def_mix(1, j=4)
      assert "incompatible function arguments" in str(excinfo.value)
  
      # Mix it with args and kwargs:
      assert (
          m.args_kwonly_full_monty.__doc__
          == "args_kwonly_full_monty(arg0: int = 1, arg1: int = 2, /, j: float = 3.14159, *args, z: int = 42, **kwargs) -> tuple\n"  # noqa: E501 line too long
      )
      assert m.args_kwonly_full_monty() == (1, 2, 3.14159, (), 42, {})
      assert m.args_kwonly_full_monty(8) == (8, 2, 3.14159, (), 42, {})
      assert m.args_kwonly_full_monty(8, 9) == (
          8,
          9,
          3.14159,
          (),
          42,
          {},
      )
      assert m.args_kwonly_full_monty(8, 9, 10) == (
          8,
          9,
          10.0,
          (),
          42,
          {},
      )
      assert m.args_kwonly_full_monty(3, 4, 5, 6, 7, m=8, z=9) == (
          3,
          4,
          5.0,
          (
              6,
              7,
          ),
          9,
          {"m": 8},
      )
      assert m.args_kwonly_full_monty(3, 4, 5, 6, 7, m=8, z=9) == (
          3,
          4,
          5.0,
          (
              6,
              7,
          ),
          9,
          {"m": 8},
      )
      assert m.args_kwonly_full_monty(5, j=7, m=8, z=9) == (
          5,
          2,
          7.0,
          (),
          9,
          {"m": 8},
      )
      assert m.args_kwonly_full_monty(i=5, j=7, m=8, z=9) == (
          1,
          2,
          7.0,
          (),
          9,
          {"i": 5, "m": 8},
      )
  
      # pos_only at the beginning of the argument list was "broken" in how it was displayed (though
      # this is fairly useless in practice).  Related to:
      # https://github.com/pybind/pybind11/pull/3402#issuecomment-963341987
      assert (
          m.first_arg_kw_only.pos_only.__doc__
          == "pos_only(self: pybind11_tests.kwargs_and_defaults.first_arg_kw_only, /, i: int, j: int) -> None\n"  # noqa: E501 line too long
      )
  
file_path: coremltools/deps/pybind11/tests/test_kwargs_and_defaults.py
imports: import pytest
  from pybind11_tests import kwargs_and_defaults
label_desc: Use image node_id 6 for calling a global function with example usage: test_positional_only_args(msg) without return types