lxml / lxml-stubs

Type stubs for the lxml package
Other
43 stars 28 forks source link

mypy complains about list[_ElementUnicodeResult] type hint #75

Open albertisfu opened 1 year ago

albertisfu commented 1 year ago

Hello! we recently updated to lxml-stubs 0.4.0 (using lxml 4.9.1) and got the following complaint from mypy:

html_tree = fromstring(content)
title = html_tree.xpath("//title/text()")
len(title)

Checking the type of title I got: list[_ElementUnicodeResult]

But mypy complains:

error: Argument 1 to "len" has incompatible type "Union[bool, float, Union[_ElementUnicodeResult, _PyElementUnicodeResult, _ElementStringResult], Union[str, bytes], List[Union[_Element, Union[_ElementUnicodeResult, _PyElementUnicodeResult, _ElementStringResult], Union[str, bytes], Tuple[Union[str, bytes, None], Union[str, bytes, None]]]]]"; expected "Sized"

This problem is also in 0.3.1, so we had to downgrade to 0.2.0 where this problem is not present.

wondering if this is a bug to be solved? Thanks!