ruff/crates/ty_python_semantic/resources/mdtest/call
Alex Waygood a8f7ccf2ca
[ty] Improve diagnostics when `NotImplemented` is called (#21523)
## Summary

Fixes https://github.com/astral-sh/ty/issues/1571.

I realised I was overcomplicating things when I described what we should
do in that issue description. The simplest thing to do here is just to
special-case call expressions and short-circuit the call-binding
machinery entirely if we see it's `NotImplemented` being called. It
doesn't really matter if the subdiagnostic doesn't fire when a union is
called and one element of the union is `NotImplemented` -- the
subdiagnostic doesn't need to be exhaustive; it's just to help people in
some common cases.

## Test Plan

Added snapshots
2025-11-19 19:27:12 +00:00
..
annotation.md ty_python_semantic: add union type context to function call type errors 2025-05-09 13:40:51 -04:00
builtins.md [ty] Improve diagnostics when `NotImplemented` is called (#21523) 2025-11-19 19:27:12 +00:00
callable_instance.md [ty] Rename "possibly unbound" diagnostics to "possibly missing" (#20492) 2025-09-23 14:26:55 +00:00
callables_as_descriptors.md [ty] Treat `Callable` dunder members as bound method descriptors (#20860) 2025-10-14 14:27:52 +02:00
constructor.md [ty] Rename "possibly unbound" diagnostics to "possibly missing" (#20492) 2025-09-23 14:26:55 +00:00
dunder.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
dunder_import.md [ty] Make `__getattr__` available for `ModuleType` instances (#21450) 2025-11-14 13:59:14 +01:00
function.md [ty] Improve `invalid-argument-type` diagnostics where a union type was provided (#21044) 2025-10-23 13:16:21 +00:00
getattr_static.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
invalid_syntax.md ty_python_semantic: add union type context to function call type errors 2025-05-09 13:40:51 -04:00
methods.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
never.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
open.md [ty] Todo-types for `os.fdopen`, `NamedTemporaryFile`, and `Path.open` (#20549) 2025-09-24 15:43:58 +02:00
overloads.md [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
replace.md [ty] Sync vendored typeshed stubs (#20658) 2025-10-01 10:11:48 +02:00
str_startswith.md [ty] `"foo".startswith` is not an instance of `types.MethodWrapperType` (#20317) 2025-09-10 11:14:26 +00:00
subclass_of.md [ty] Include synthesized arguments in displayed counts for `too-many-positional-arguments` (#18098) 2025-05-14 22:51:23 -04:00
union.md [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00