-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature class: attempting to create an object of an incomplete class asserts #22159
Comments
Is this the "unhelpful message" you get in non-debugging builds? (From a non-debugging build of perl-5.39.5 on Linux; similar output at today's HEAD on blead.) |
|
The "unhelpful" error message on regular build, as well as the crash on debugging build, appear to have first appeared at commit 080297a back in September. I think this qualifies as a Release Blocker; so labeling. |
Devel::Git::MultiBisect::set_targets() has heretofore assumed that any file to be tested sits in the same directory tree as the source code being run for bisection. The top-level directory has been automatically prepended to the lower part of the test file's path. But in order to get a handle on Perl/perl5#22159, I had to add a test to a test file and have it run in the same way on each commit. As a temporary bandaid, I hacked set_targets() to enable that. This should be revisited.
instead of asserting or crashing Fixes Perl#22159
instead of asserting or crashing Fixes Perl#22159
and briefly document the undocumented messages it found.
Note that the "Odd number of arguments" message isn't suppressible,
I do not know if that is by design:
$ ./perl -Ilib -Mfeature=class -e 'no warnings; class C { field $x:param; } C->new("x")'
Odd number of arguments passed to "C" constructor at -e line 1.
Discovered when porting/diag.t didn't warn about my new message
in the fix for Perl#22159
instead of asserting or crashing Fixes #22159
and briefly document the undocumented messages it found.
Note that the "Odd number of arguments" message isn't suppressible,
I do not know if that is by design:
$ ./perl -Ilib -Mfeature=class -e 'no warnings; class C { field $x:param; } C->new("x")'
Odd number of arguments passed to "C" constructor at -e line 1.
Discovered when porting/diag.t didn't warn about my new message
in the fix for #22159
Module:
Description
Perl crashes with an assertion (debugging builds) or an unhelpful message (non-debugging) if you attempt to create an object of an incomplete class.
Steps to Reproduce
Expected behavior
A helpful error message.
Perl configuration
The text was updated successfully, but these errors were encountered: