Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-typeguard for 
openSUSE:Factory checked in at 2026-05-21 18:25:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typeguard (Old)
 and      /work/SRC/openSUSE:Factory/.python-typeguard.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-typeguard"

Thu May 21 18:25:38 2026 rev:12 rq:1354134 version:4.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typeguard/python-typeguard.changes        
2026-03-11 20:49:48.720373380 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-typeguard.new.2084/python-typeguard.changes  
    2026-05-21 18:26:06.047509101 +0200
@@ -1,0 +2,7 @@
+Tue May 19 22:30:30 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.5.2:
+  * Fixed IndexError raised from check_signature_compatible when
+    the subject method has no positional parameters
+
+-------------------------------------------------------------------

Old:
----
  typeguard-4.5.1-gh.tar.gz

New:
----
  typeguard-4.5.2-gh.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-typeguard.spec ++++++
--- /var/tmp/diff_new_pack.32a9Vn/_old  2026-05-21 18:26:06.759538345 +0200
+++ /var/tmp/diff_new_pack.32a9Vn/_new  2026-05-21 18:26:06.759538345 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-typeguard
-Version:        4.5.1
+Version:        4.5.2
 Release:        0
 Summary:        Library for runtime checking of Python types
 License:        MIT

++++++ typeguard-4.5.1-gh.tar.gz -> typeguard-4.5.2-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typeguard-4.5.1/.github/workflows/publish.yml 
new/typeguard-4.5.2/.github/workflows/publish.yml
--- old/typeguard-4.5.1/.github/workflows/publish.yml   2026-02-19 
17:08:04.000000000 +0100
+++ new/typeguard-4.5.2/.github/workflows/publish.yml   2026-05-14 
14:58:21.000000000 +0200
@@ -24,7 +24,7 @@
     - name: Create packages
       run: python -m build
     - name: Archive packages
-      uses: actions/upload-artifact@v6
+      uses: actions/upload-artifact@v7
       with:
         name: dist
         path: dist
@@ -38,7 +38,7 @@
       id-token: write
     steps:
     - name: Retrieve packages
-      uses: actions/download-artifact@v7
+      uses: actions/download-artifact@v8
       with:
         name: dist
         path: dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typeguard-4.5.1/docs/versionhistory.rst 
new/typeguard-4.5.2/docs/versionhistory.rst
--- old/typeguard-4.5.1/docs/versionhistory.rst 2026-02-19 17:08:04.000000000 
+0100
+++ new/typeguard-4.5.2/docs/versionhistory.rst 2026-05-14 14:58:21.000000000 
+0200
@@ -4,6 +4,12 @@
 This library adheres to
 `Semantic Versioning 2.0 <https://semver.org/#semantic-versioning-200>`_.
 
+**4.5.2** (2026-05-14)
+
+- Fixed ``IndexError`` raised from ``check_signature_compatible`` when the 
subject
+  method has no positional parameters
+  (`#550 <https://github.com/agronholm/typeguard/issues/550>`_; PR by 
@HackedRico)
+
 **4.5.1** (2026-02-19)
 
 - Fixed iterable unpacking incorrectly calculating the cut-off offset of the 
item list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typeguard-4.5.1/src/typeguard/_checkers.py 
new/typeguard-4.5.2/src/typeguard/_checkers.py
--- old/typeguard-4.5.1/src/typeguard/_checkers.py      2026-02-19 
17:08:04.000000000 +0100
+++ new/typeguard-4.5.2/src/typeguard/_checkers.py      2026-05-14 
14:58:21.000000000 +0200
@@ -761,11 +761,11 @@
         ]
 
         # Remove the "self" parameter from the protocol arguments to match
-        if protocol_type == "instance":
+        if protocol_type == "instance" and protocol_args:
             protocol_args.pop(0)
 
         # Remove the "self" parameter from the subject arguments to match
-        if subject_type == "instance":
+        if subject_type == "instance" and subject_args:
             subject_args.pop(0)
 
         for protocol_arg, subject_arg in zip_longest(protocol_args, 
subject_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typeguard-4.5.1/tests/test_checkers.py 
new/typeguard-4.5.2/tests/test_checkers.py
--- old/typeguard-4.5.1/tests/test_checkers.py  2026-02-19 17:08:04.000000000 
+0100
+++ new/typeguard-4.5.2/tests/test_checkers.py  2026-05-14 14:58:21.000000000 
+0200
@@ -1404,6 +1404,24 @@
             f"few positional arguments"
         )
 
+    def test_subject_method_no_positional_params(self) -> None:
+        class ZeroArg:
+            def __call__(self) -> None:
+                return None
+
+        class MyProtocol(Protocol):
+            def meth(self, x: str) -> None:
+                pass
+
+        class Foo:
+            meth = ZeroArg()
+
+        pytest.raises(TypeCheckError, check_type, Foo(), MyProtocol).match(
+            f"^{qualified_name(Foo)} is not compatible with the "
+            f"{MyProtocol.__qualname__} protocol because its 'meth' method has 
too "
+            f"few positional arguments"
+        )
+
     def test_no_varargs(self) -> None:
         class MyProtocol(Protocol):
             def meth(self, *args: Any) -> None:

Reply via email to