tree 5898ddb2a237bf6431dfa2f7bd892d5b753e1335
parent 232283431f7e6db8405b9c2e143faf10eaac3db7
author Ivan Levkivskyi <levkivskyi@gmail.com> 1768006038 +0000
committer GitHub <noreply@github.com> 1768006038 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpYaGWCRC1aQ7uu5UhlAAAkAEQAKC2QIgJxAzjUnvYRESRnlUN
 3Udiag4VT1qVS+Uey2oDlK3+kE5GlWB/Z3pj/Rnn9XzxjLkTZnF7CwrcMHvX+Hfw
 yflkUVrRWifjGNUpA4Q1CRce4JlkIqSUS5GOM8t+X8u70lOTZHNMlw6oscz+kk0Y
 6vzfu9dBNbWDABYLpk08az3Uz0uLIM0ypzwoXePlnym5xefsCLmUZWAubMQdlnb2
 Dti3bsHqr1ZpuNt7ZUyjYNhkZmx2ETY5wI3YJSXFfsLlnLlWbT6fR0wLT0e+Wo1a
 Sr77LEObEnldae1xN9szMxRDCseC//SUUY1n4B7beJkL0YebGtJH7C2YoG3e6hVr
 pXuQmrm1YDoZEkVy82qCgLe/27guOiNBQVTW31RY9p0cYKFD4OSzsAOYfTUiCbUO
 LoPX7s5WBB4y1dcsRyQYR5oRThp27AQPnyaMiMw6KT11t4i2SqAAKBxs+1UknRvJ
 ZImPUp//Sa+rnnP/WEd156A1/ZYIBn75d/C+DByURgQMfSiWVDtAYT5XSMrHDc3A
 l5opC0Ee3YdNRHARM7YmTxTRXvZQEa+3kruEo1lf9MP/8medckkvTWubzmif6r/S
 diHNA5XzmKcXb67T2PJTFsdP//G8jIKnxaBMdTjOdu9xUQEdZM8kVDVk0tpZ3pwU
 LRWWEmx66rqQXaD+2iFS
 =H0zS
 -----END PGP SIGNATURE-----
 

Make overloaded constructors consistent in error messages (#20483)

This allows to re-enable 7 tests that were skipped in parallel mode.

Note that I changed my opinion on what the representation of overloaded
constructors should actually be. Now I think that the representation
that previously was only used in warm runs is better. Two reasons for
this:
* Having a non-`None` return type for `__init__` would be weird (and
manually tweaking it would introduce some fragile special-casing)
* I found a (very) old test case `testSerializeOverloaded__init__` from
which it looks like using the class name is very much intentional.

Also note that currently logic for determining function name, and for
determining first argument (i.e. `self`/`cls`) are currently entangled.
I refactor this to make these two pieces independent.