Skip to content

Conversation

@mdhaber
Copy link
Contributor

@mdhaber mdhaber commented Nov 23, 2025

Addresses scipy/scipy#23930 (comment)

Thoughts:

  • Currently this delegates to the backend's native searchsorted for all 1D tests. It would be good to have some way of running the 1D test cases with the generic searchsorted code, though. The important part is the length of the arrays along the last axis, so the simplest way would be to just define 2D cases with the same lengths along the second axis.
  • torch delegates multidimensional cases to torch.searchsorted, too, but it behaves differently than other backends in some cases involving NaNs. It doesn't surprise me because the standard doesn't define sorting w/ NaNs and torch doesn't always do the typical thing. Not sure how deeply we want to go into that.
  • Currently, arrays should have identical shapes except along the last axis; otherwise the backends will typically raise their own errors at some point. In SciPy, we just broadcast the batch dimensions, but I didn't want to port all that code over here. It's possible for someone to adapt broadcast_shapes to help with that, but I would prefer not to work on that. I could add a check for this condition and raise a consistent error, if that would be sufficient.
  • LMK what other input validation array-api-extra would expect - e.g. whether side is one of the allowed values?

x[mask] = -np.inf
mask = rng.random(shape) > 0.9
x[mask] = np.inf
x = np.sort(x, stable=True, axis=-1)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unnecessary and causing CI failures.

Suggested change
x = np.sort(x, stable=True, axis=-1)
x = np.sort(x, axis=-1)

@mdhaber
Copy link
Contributor Author

mdhaber commented Nov 23, 2025

Re: pyright failures - I see 144 errors in main locally. Am I supposed to look past those to fix the errors in the new code? Is pyright really so much stricter (or worse at inference) than mypy that there are all these when mypy is happy?

I don't really want to deal with typing or GHA lint complaints in _apply_over_batch. It's a private function only used in tests, and it works just fine.

I don't know what to do about GHA's lint complaints in searchsorted.

@lucascolley
Copy link
Member

Re: pyright failures - I see 144 errors in main locally. Am I supposed to look past those to fix the errors in the new code?

How are you seeing these failures? Via pixi run pyright?

@mdhaber
Copy link
Contributor Author

mdhaber commented Nov 23, 2025

Yup

@lucascolley
Copy link
Member

bizarre! pixi run pyright gives me 0 errors. Can you show the full output of pixi run pyright?

@mdhaber
Copy link
Contributor Author

mdhaber commented Nov 23, 2025

maybe it's all because typing_extension is not resolved?

C:\Users\matth\Desktop\array-api-extra>pixi run pyright
Pixi task (pyright in lint): basedpyright: (Type check with basedpyright)                                                                                                                     c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_at.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_at.py:24:10 - error: Import "typing_extensions" could not be resolved from source (reportMissingModuleSource)
c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_backends.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_backends.py:63:17 - error: Argument type is unknown
    Argument corresponds to parameter "object" in function "append" (reportUnknownArgumentType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_backends.py:70:26 - error: Argument type is unknown
    Argument corresponds to parameter "object" in function "append" (reportUnknownArgumentType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_backends.py:72:75 - error: Unnecessary "# pyright: ignore" rule: "reportUnknownArgumentType" (reportUnnecessaryTypeIgnoreComment)
c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:35:5 - error: Type of parameter "func" is partially unknown
    Parameter type is "(**P@lazy_apply) -> (Array | Unknown)" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:47:5 - error: Type of parameter "func" is partially unknown
    Parameter type is "(**P@lazy_apply) -> Sequence[Array | Unknown]" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:58:5 - error: Type of parameter "func" is partially unknown
    Parameter type is "(**P@lazy_apply) -> (Array | Unknown | Sequence[Array | Unknown])" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:246:82 - error: Unnecessary "# pyright: ignore" rule: "reportPrivateImportUsage" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:257:52 - error: Unnecessary "# pyright: ignore" rule: "reportIndexIssue" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:317:5 - error: Type of parameter "func" is partially unknown
    Parameter type is "(...) -> (Array | Unknown | Sequence[Array | Unknown])" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:333:12 - error: Argument type is partially unknown
    Argument corresponds to parameter "wrapped" in function "wraps"
    Argument type is "(...) -> (Array | Unknown | Sequence[Array | Unknown])" (reportUnknownArgumentType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_lazy.py:346:75 - error: Unnecessary "# pyright: ignore" rule: "reportInvalidCast" (reportUnnecessaryTypeIgnoreComment)
c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_testing.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_testing.py:113:5 - error: Return type is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_testing.py:270:52 - error: Unnecessary "# pyright: ignore" rule: "reportCallIssue" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_testing.py:273:39 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_testing.py:280:5 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_utils\_helpers.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\_lib\_utils\_helpers.py:38:10 - error: Import "typing_extensions" could not be resolved from source (reportMissingModuleSource)
c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:26:10 - error: Import "typing_extensions" could not be resolved from source (reportMissingModuleSource)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:219:5 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:220:5 - error: Type of parameter "monkeypatch" is partially unknown
    Parameter type is "Unknown | None" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:298:91 - error: Unnecessary "# pyright: ignore" rule: "reportAssignmentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:322:13 - error: Result of call expression is of type "Unknown | None" and is not used; assign to variable "_" if this is intentional (reportUnusedCallResult)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:328:17 - error: Result of call expression is of type "Unknown | None" and is not used; assign to variable "_" if this is intentional (reportUnusedCallResult)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:344:29 - error: Base class type is unknown, obscuring type of derived class (reportUntypedBaseClass)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:363:9 - error: Method "__init__" does not call the method of the same name in parent class (reportMissingSuperCall)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:369:9 - error: Method "__call__" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:370:15 - error: Type of parameter "dsk" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:370:27 - error: Type of parameter "keys" is partially unknown
    Parameter type is "Sequence[Unknown] | Unknown" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:379:95 - error: Unnecessary "# pyright: ignore" rule: "reportPrivateImportUsage" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:405:76 - error: Unnecessary "# pyright: ignore" rule: "reportPrivateImportUsage" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:411:44 - error: Argument type is unknown
    Argument corresponds to parameter "cls" in function "pickle_flatten" (reportUnknownArgumentType)
  c:\Users\matth\Desktop\array-api-extra\src\array_api_extra\testing.py:412:128 - error: Unnecessary "# pyright: ignore" rule: "reportPrivateImportUsage" (reportUnnecessaryTypeIgnoreComment)
c:\Users\matth\Desktop\array-api-extra\tests\conftest.py
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:21:87 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:24:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:25:13 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:57:17 - error: Result of call expression is of type "Unknown | None" and is not used; assign to variable "_" if this is intentional (reportUnusedCallResult)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:94:23 - error: Cannot access attribute "flags" for class "object*"
    Attribute "flags" is unknown (reportAttributeAccessIssue)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:112:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:114:23 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:166:45 - error: "device" is possibly unbound (reportPossiblyUnboundVariable)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:188:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:190:5 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:199:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:201:5 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:210:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:211:11 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:219:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\conftest.py:237:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
c:\Users\matth\Desktop\array-api-extra\tests\test_at.py
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:91:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:152:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:181:63 - error: Unnecessary "# pyright: ignore" rule: "reportInvalidCast" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:210:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:275:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_at.py:306:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:12:6 - error: Import "typing_extensions" could not be resolved from source (reportMissingModuleSource)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:127:74 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:135:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:163:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:189:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:213:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:224:9 - error: Type of parameter "dtype" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:226:9 - error: Type of parameter "data" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:296:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:335:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:374:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:413:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:457:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:481:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:497:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:526:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:553:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:558:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:579:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:582:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:613:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:623:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:635:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:671:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:691:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:705:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:824:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:829:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:874:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:898:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:911:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:945:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:954:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:962:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:984:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1034:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1137:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1239:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1248:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1264:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1325:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1331:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1362:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1365:9 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1381:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1383:15 - error: Type of parameter "request" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1402:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1408:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1416:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1433:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1458:9 - error: Type of parameter "x_np" is partially unknown
    Parameter type is "Unknown | None" (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1487:25 - error: Type of parameter "x" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1529:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1537:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1541:25 - error: Type of parameter "x" is unknown (reportUnknownParameterType)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1580:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_funcs.py:1590:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:30:10 - error: Import "typing_extensions" could not be resolved from source (reportMissingModuleSource)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:44:2 - error: Untyped class decorator obscures type of class; ignoring decorator (reportUntypedClassDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:47:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:72:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:82:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:147:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:159:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:171:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:179:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_helpers.py:200:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:40:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:60:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:73:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:96:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:144:72 - error: Unnecessary "# pyright: ignore" rule: "reportInvalidCast" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:262:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:270:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:393:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:452:89 - error: Unnecessary "# pyright: ignore" rule: "reportCallIssue" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_lazy.py:452:105 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:30:96 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:32:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:36:96 - error: Unnecessary "# pyright: ignore" rule: "reportArgumentType" (reportUnnecessaryTypeIgnoreComment)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:40:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:51:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:63:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:72:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:87:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:100:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:119:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:143:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:172:6 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
  c:\Users\matth\Desktop\array-api-extra\tests\test_testing.py:305:2 - error: Untyped function decorator obscures type of function; ignoring decorator (reportUntypedFunctionDecorator)
144 errors, 0 warnings, 0 notes

C:\Users\matth\Desktop\array-api-extra>git log
commit 5520c43746e5cd0a2e01323a21beec4524724cb3 (HEAD -> main, upstream/main, upstream/HEAD)
Author: Lucas Colley <[email protected]>
Date:   Fri Nov 21 22:24:47 2025 +0000

    DOC: add missing functions (#529)

@lucascolley
Copy link
Member

seems to be the problem yes, I fear it might be something windows-specific.

@lucascolley lucascolley added enhancement New feature or request new function labels Nov 23, 2025
@mdhaber
Copy link
Contributor Author

mdhaber commented Nov 23, 2025

K, well I got on my mac, fixed most of the complaints, and silenced the rest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request new function

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants