code: def test_noconvert_args(msg):
      from pybind11_tests import (
          ArgInspector,
          arg_inspect_func,
          floats_only,
          floats_preferred,
      )
  
      a = ArgInspector()
      assert (
          msg(a.f("hi"))
          == """
          loading ArgInspector1 argument WITH conversion allowed.  Argument value = hi
      """
      )
      assert (
          msg(a.g("this is a", "this is b"))
          == """
          loading ArgInspector1 argument WITHOUT conversion allowed.  Argument value = this is a
          loading ArgInspector1 argument WITH conversion allowed.  Argument value = this is b
          13
          loading ArgInspector2 argument WITH conversion allowed.  Argument value = (default arg inspector 2)
      """
      )  # noqa: E501 line too long
      assert (
          msg(a.g("this is a", "this is b", 42))
          == """
          loading ArgInspector1 argument WITHOUT conversion allowed.  Argument value = this is a
          loading ArgInspector1 argument WITH conversion allowed.  Argument value = this is b
          42
          loading ArgInspector2 argument WITH conversion allowed.  Argument value = (default arg inspector 2)
      """
      )  # noqa: E501 line too long
      assert (
          msg(a.g("this is a", "this is b", 42, "this is d"))
          == """
          loading ArgInspector1 argument WITHOUT conversion allowed.  Argument value = this is a
          loading ArgInspector1 argument WITH conversion allowed.  Argument value = this is b
          42
          loading ArgInspector2 argument WITH conversion allowed.  Argument value = this is d
      """
      )
      assert (
          a.h("arg 1")
          == "loading ArgInspector2 argument WITHOUT conversion allowed.  Argument value = arg 1"
      )
      assert (
          msg(arg_inspect_func("A1", "A2"))
          == """
          loading ArgInspector2 argument WITH conversion allowed.  Argument value = A1
          loading ArgInspector1 argument WITHOUT conversion allowed.  Argument value = A2
      """
      )
  
      assert floats_preferred(4) == 2.0
      assert floats_only(4.0) == 2.0
      with pytest.raises(TypeError) as excinfo:
          floats_only(4)
      assert (
          msg(excinfo.value)
          == """
          floats_only(): incompatible function arguments. The following argument types are supported:
              1. (f: float) -> float
  
          Invoked with: 4
      """
      )
  
file_path: turicreate/src/external/coremltools_wrap/coremltools/deps/pybind11/tests/test_methods_and_attributes.py
imports: import pytest
  from pybind11_tests import ExampleMandA, ConstructorStats
label_desc: Use image node_id 9 for calling a global function with example usage: test_noconvert_args(msg) without return types