diff --git a/arraycontext/container/traversal.py b/arraycontext/container/traversal.py index 642aaf160089c487b59bc914727987ba5e2988c4..c41b464ac0ce3e78ee89e57d1cae713c4b878867 100644 --- a/arraycontext/container/traversal.py +++ b/arraycontext/container/traversal.py @@ -681,8 +681,7 @@ def flatten( # NOTE: we can't do much if the array context fails to ravel, # since it is the one responsible for the actual memory layout if hasattr(subary_c, "strides"): - # Mypy has a point: nobody promised a strides attr. - strides_msg = f" and strides {subary_c.strides}" # type: ignore[attr-defined] # noqa: E501 + strides_msg = f" and strides {subary_c.strides}" else: strides_msg = "" diff --git a/arraycontext/context.py b/arraycontext/context.py index dcc601e832aea1deb437a36ce6aacc3c4248cdce..2378550e461b497ffce696d44246f3c91522ba98 100644 --- a/arraycontext/context.py +++ b/arraycontext/context.py @@ -175,6 +175,7 @@ if TYPE_CHECKING: # {{{ typing ScalarLike = Union[int, float, complex, np.generic] + SelfType = TypeVar("SelfType") diff --git a/test/test_utils.py b/test/test_utils.py index 493b9e7d6536801115993be6dea8367a7e8e5d74..5edf66bc07e826a4d3dab2595a894303b5922ccd 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -46,7 +46,7 @@ def test_pt_actx_key_stringification_uniqueness(): # {{{ test_dataclass_array_container -def test_dataclass_array_container(): +def test_dataclass_array_container() -> None: from typing import Optional from dataclasses import dataclass, field from arraycontext import dataclass_array_container @@ -109,7 +109,7 @@ def test_dataclass_array_container(): # {{{ test_dataclass_container_unions -def test_dataclass_container_unions(): +def test_dataclass_container_unions() -> None: from dataclasses import dataclass from arraycontext import dataclass_array_container