Measured 2026-09-10, compiler 98b6545b4652
def two(a, b):
return "a=%s b=%s" % (type(a).__name__, b)
class C:
plain = two
c = C()
print(c.plain(7))
| CPython | a=C b=7 |
| pxx | Unhandled exception: TypeError: missing 1 required positional argument(s) |
C.plain(7) — through the class rather than an instance — agrees in both.
Why it is worth recording rather than leaving implicit
It is the reason staticmethod exists at all. A reader of
test/test_nilpy_staticmethod_as_a_value.npy will ask why the unwrapped
control is only exercised through the class, and this is the answer; the test's
header says so and points here. Asserting the instance row against a
CPython-generated oracle would be a row that is red by construction, which is
why it is filed rather than tested.
Not a wrong ANSWER, and that matters for the ranking
We refuse where CPython succeeds, with a message naming the arity. Nothing computes a wrong value, and nobody gets a silently mis-shifted argument list. That is what puts it at 40 rather than higher — it fails the way a missing feature should fail.