Skip to content

Array(Protocol): rename __getitem__ parameter #1927

Array(Protocol): rename __getitem__ parameter

Array(Protocol): rename __getitem__ parameter #1927

Triggered via pull request August 26, 2025 16:33
Status Failure
Total duration 11m 53s
Artifacts

ci.yml

on: pull_request
Matrix: downstream_tests
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 48 warnings
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L255
Type "<subclass of Array and Array> | <subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array> | <subclass of _UserDefinedArrayContainer and Array> | Any | Unknown" is not assignable to return type "Array"   Type "<subclass of Array and Array> | <subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array> | <subclass of _UserDefinedArrayContainer and Array> | Any | Unknown" is not assignable to type "Array"     "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>" is incompatible with protocol "Array"       "Array" is not assignable to "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>"       Could not bind method "__getitem__" because "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>" is not assignable to parameter "self"         "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>" is not assignable to "ObjectArray[tuple[int], ArrayOrContainerOrScalar]"           Type parameter "ShapeT@ObjectArray" is invariant, but "tuple[int, ...]" is not the same as "tuple[int]"       Could not bind method "__getitem__" because "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>" is not assignable to parameter "self"         "<subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>" is not assignable to "ObjectArray[tuple[int, int], ArrayOrContainerOrScalar]" ... (reportReturnType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L132
Type "TaggableCLArray" is not assignable to return type "Array"   "TaggableCLArray" is incompatible with protocol "Array"     "__getitem__" is an incompatible type       Type "(index: Unknown) -> (Array | TaggableCLArray)" is not assignable to type "(key: Any) -> Array"         Parameter name mismatch: "key" versus "index"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray" (reportReturnType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L128
Argument of type "tuple[Integer | Array, ...]" cannot be assigned to parameter "shape" of type "tuple[int, ...] | int" in function "empty"   Type "tuple[Integer | Array, ...]" is not assignable to type "tuple[int, ...] | int"     "tuple[Integer | Array, ...]" is not assignable to "tuple[int, ...]"       Tuple entry 1 is incorrect type         Type "Integer | Array" is not assignable to type "int"           "Array" is not assignable to "int"     "tuple[Integer | Array, ...]" is not assignable to "int" (reportArgumentType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L103
Argument of type "(array: Unknown) -> TaggableCLArray" cannot be assigned to parameter "func" of type "(Array) -> Array" in function "_rec_map_container"   Type "(array: Unknown) -> TaggableCLArray" is not assignable to type "(Array) -> Array"     Function return type "TaggableCLArray" is incompatible with type "Array"       "TaggableCLArray" is incompatible with protocol "Array"         "__getitem__" is an incompatible type           Type "(index: Unknown) -> (Array | TaggableCLArray)" is not assignable to type "(key: Any) -> Array"         "Array" is not assignable to "TaggableCLArray"         "Array" is not assignable to "TaggableCLArray"         "Array" is not assignable to "TaggableCLArray" (reportArgumentType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L86
Type "TaggableCLArray" is not assignable to return type "Array"   "TaggableCLArray" is incompatible with protocol "Array"     "__getitem__" is an incompatible type       Type "(index: Unknown) -> (Array | TaggableCLArray)" is not assignable to type "(key: Any) -> Array"         Parameter name mismatch: "key" versus "index"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray" (reportReturnType)
basedpyright: arraycontext/impl/pyopencl/__init__.py#L312
Method "call_loopy" overrides class "ArrayContext" in an incompatible manner   Return type mismatch: base method returns type "Mapping[str, Array]", override returns type "Mapping[str, TaggableCLArray]"     "Mapping[str, TaggableCLArray]" is not assignable to "Mapping[str, Array]"       Type parameter "_VT_co@Mapping" is covariant, but "TaggableCLArray" is not a subtype of "Array"         "TaggableCLArray" is incompatible with protocol "Array"           "__getitem__" is an incompatible type           "Array" is not assignable to "TaggableCLArray"           "Array" is not assignable to "TaggableCLArray"           "Array" is not assignable to "TaggableCLArray" (reportIncompatibleMethodOverride)
basedpyright: arraycontext/impl/pyopencl/__init__.py#L306
Type "TaggableCLArray" is not assignable to return type "ArrayOrScalar"   Type "TaggableCLArray" is not assignable to type "ArrayOrScalar"     "TaggableCLArray" is incompatible with protocol "Array"       "__getitem__" is an incompatible type         Type "(index: Unknown) -> (Array | TaggableCLArray)" is not assignable to type "(key: Any) -> Array"           Parameter name mismatch: "key" versus "index"       "Array" is not assignable to "TaggableCLArray"       "Array" is not assignable to "TaggableCLArray"       "Array" is not assignable to "TaggableCLArray" ... (reportReturnType)
basedpyright: arraycontext/impl/pyopencl/__init__.py#L306
Conversion of type `ArrayOrScalar` to type `TaggableCLArray` may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to `object` first. (reportInvalidCast)
basedpyright: arraycontext/impl/pyopencl/__init__.py#L216
Conversion of type `ArrayOrContainerOrScalar` to type `Array` may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to `object` first. (reportInvalidCast)
basedpyright: arraycontext/impl/pyopencl/__init__.py#L216
Argument of type "TaggableCLArray" cannot be assigned to parameter of type "Array"   "TaggableCLArray" is incompatible with protocol "Array"     "__getitem__" is an incompatible type       Type "(index: Unknown) -> (Array | TaggableCLArray)" is not assignable to type "(key: Any) -> Array"         Parameter name mismatch: "key" versus "index"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray"     "Array" is not assignable to "TaggableCLArray" (reportArgumentType)
Tests for downstream project mirgecom_examples
No point in testing mirgecom at the moment, see https://github.com/illinois-ceesd/mirgecom/pull/898. Test not performed.
Tests for downstream project mirgecom
No point in testing mirgecom at the moment, see https://github.com/illinois-ceesd/mirgecom/pull/898. Test not performed.
Ruff
The `python-version` input is not set. The version of Python currently in `PATH` will be used.
basedpyright: arraycontext/impl/pytato/utils.py#L253
Type of "np_data" is unknown (reportUnknownVariableType)
basedpyright: arraycontext/impl/pytato/fake_numpy.py#L118
Type of "tags" is unknown (reportUnknownMemberType)
basedpyright: arraycontext/impl/pytato/fake_numpy.py#L118
Type of "axes" is unknown (reportUnknownMemberType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L255
Return type, "<subclass of Array and Array> | <subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array> | <subclass of _UserDefinedArrayContainer and Array> | Any | Unknown", is partially unknown (reportUnknownVariableType)
basedpyright: arraycontext/impl/pyopencl/fake_numpy.py#L255
Type of "all" is partially unknown   Type of "all" is "((queue: CommandQueue | None = None, wait_for: Sequence[Event] | None = None) -> <subclass of Array and Array>) | ((queue: CommandQueue | None = None, wait_for: Sequence[Event] | None = None) -> <subclass of ObjectArray[tuple[int, ...], ArrayOrContainerOrScalar] and Array>) | ((queue: CommandQueue | None = None, wait_for: Sequence[Event] | None = None) -> <subclass of _UserDefinedArrayContainer and Array>) | Unknown | Any" (reportUnknownMemberType)
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 POCL: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Pytest Conda Py3 Intel: arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project grudge: grudge/test/test_reductions.py#L172
Broadcasting array context array types across <class 'test_reductions.MyContainer'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/test/test_reductions.py#L172
Broadcasting array context array types across <class 'test_reductions.MyContainer'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/.conda-root/envs/testing/lib/python3.13/site-packages/arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Tests for downstream project meshmode: meshmode/test/test_array.py#L59
'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/.conda-root/envs/testing/lib/python3.13/site-packages/arraycontext/container/dataclass.py#L82
Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.::warning file=/home/runner/work/arraycontext/arraycontext/meshmode/.conda-root/envs/testing/lib/python3.13/site-packages/arraycontext/container/dataclass.py,line=82::Encountered 'numpy.ndarray' in a dataclass_array_container. This is deprecated and will stop working in 2026. If you meant an object array, use pytools.obj_array.ObjectArray. For other uses, file an issue to discuss.
Tests for downstream project meshmode: meshmode/test/test_array.py#L59
'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.::warning file=/home/runner/work/arraycontext/arraycontext/meshmode/test/test_array.py,line=59::'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.::warning file=/home/runner/work/arraycontext/arraycontext/meshmode/meshmode/dof_array.py,line=79::Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L79
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.::warning file=/home/runner/work/arraycontext/arraycontext/meshmode/meshmode/dof_array.py,line=79::'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.