plum icon indicating copy to clipboard operation
plum copied to clipboard

Py3.8 staticmethod decorator no attribute __qualname__

Open hodgespodge opened this issue 1 year ago • 2 comments

Python 3.8 -- No issue for python 3.11 Plum 2.5.4 (and probably earlier versions)

from plum import dispatch

class myClass:
    
    @dispatch
    @staticmethod
    def myFunc(a: int, b: int) -> int:
        return a + b
    
out = myClass.myFunc(1, 2)
print(out)
  line 11, in myClass
    def myFunc(a: int, b: int) -> int:
  File "...\site-packages\plum\dispatcher.py", line 72, in __call__
    return self._add_method(method, None, precedence=precedence)
  File "...\site-packages\plum\dispatcher.py", line 138, in _add_method
    f = self._get_function(method)
  File "...\site-packages\plum\dispatcher.py", line 112, in _get_function
    if is_in_class(method):
  File "...\site-packages\plum\util.py", line 122, in is_in_class
    parts = f.__qualname__.split(".")
AttributeError: 'staticmethod' object has no attribute '__qualname__'

hodgespodge avatar Dec 18 '24 17:12 hodgespodge