]> granicus.if.org Git - python/commit
bpo-31506: Improve the error message logic for class instantiation (GH-4740)
authorSanyam Khurana <8039608+CuriousLearner@users.noreply.github.com>
Sun, 10 Dec 2017 00:14:22 +0000 (05:44 +0530)
committerNick Coghlan <ncoghlan@gmail.com>
Sun, 10 Dec 2017 00:14:22 +0000 (10:14 +1000)
commit780acc89bccf9999332d334a27887684cc942eb6
tree80423316c9121c442620787bfcfc0b657f43b11c
parent60ed1308304964e5648d8bfc9b74bd549570fa83
bpo-31506: Improve the error message logic for class instantiation (GH-4740)

The error messages in `object.__new__` and `object.__init__` now aim
to point the user more directly at the name of the class being instantiated
in cases where they *haven't* been overridden (on the assumption that
the actual problem is a missing `__new__` or `__init__` definition in the
class body).

When they *have* been overridden, the errors still report themselves as
coming from object, on the assumption that the problem is with the call
up to the base class in the method implementation, rather than with the
way the constructor is being called.
Lib/test/test_class.py
Misc/NEWS.d/next/Core and Builtins/2017-12-07-23-44-29.bpo-31506.j1U2fU.rst [new file with mode: 0644]
Objects/typeobject.c