Skip to content
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

Bogus colon in sub or method definition causes QAST::Op invoke() error #3092

Closed
p6rt opened this issue Mar 30, 2013 · 6 comments
Closed

Bogus colon in sub or method definition causes QAST::Op invoke() error #3092

p6rt opened this issue Mar 30, 2013 · 6 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Mar 30, 2013

Migrated from rt.perl.org#117417 (status was 'resolved')

Searchable as RT117417$

@p6rt
Copy link
Author

p6rt commented Mar 30, 2013

From @labster

labster​: r​: sub foo ($bar :D) { 1; }
[8​:51pm] p6eval​: rakudo 897636​: OUTPUT«===SORRY!===␤invoke() not
implemented in class 'QAST​::Op'␤»
[8​:54pm] labster​: I guess I want Mu​:D there. But definitely LTA error
message.
[8​:55pm] sorear​: rakudobug. internal error.
[8​:57pm] labster​: r​: sub x ($y :qwerty) { 3; }
[8​:57pm] p6eval​: rakudo 897636​: OUTPUT«===SORRY!===␤invoke() not
implemented in class 'QAST​::Op'␤»
[8​:58pm] labster​: r​: sub x ($y qwerty) { 3; }
[8​:58pm] p6eval​: rakudo 897636​: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing
block␤at /tmp/gHtxH4GsMT​:1␤------> [32msub x ($y [33m⏏[31mqwerty) { 3;
}[0m␤ expecting any of​:␤ statement list␤ prefix or
term␤ prefix or meta-prefix␤ new name to be defined␤
formal pa…
[8​:58pm] labster​: looks like the colon triggers it.

@p6rt
Copy link
Author

p6rt commented Sep 1, 2015

From @usev6

Current failure mode (branch 'glr', perl6 version 2015.07.1-682-g57b7ebc built on MoarVM version 2015.07-108-g7e9f29e)​:

$ perl6-m -e 'sub foo ($bar :D) { 1; }'
===SORRY!===
Cannot invoke this object (REPR​: P6opaque, cs = 0)

$ perl6-m --ll-exception -e 'sub foo ($bar :D) { 1; }'
Cannot invoke this object (REPR​: P6opaque, cs = 0)
  at src/Perl6/World.nqp​:1640 (./blib/Perl6/World.moarvm​:create_signature_and_params​:551)
from src/Perl6/Grammar.nqp​:2489 (./blib/Perl6/Grammar.moarvm​:routine_def​:946)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:routine_declarator​:sym<sub>​:147)
from gen/moar/stage2/QRegex.nqp​:1350 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:!protoregex​:109)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:routine_declarator​:10)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:term​:sym<routine_declarator>​:57)
from gen/moar/stage2/QRegex.nqp​:1350 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:!protoregex​:109)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:term​:10)
from src/Perl6/Grammar.nqp​:3615 (./blib/Perl6/Grammar.moarvm​:termish​:403)
from gen/moar/stage2/NQPHLL.nqp​:678 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:EXPR​:74)
from src/Perl6/Grammar.nqp​:3649 (./blib/Perl6/Grammar.moarvm​:EXPR​:24)
from src/Perl6/Grammar.nqp​:1191 (./blib/Perl6/Grammar.moarvm​:statement​:395)
from src/Perl6/Grammar.nqp​:1126 (./blib/Perl6/Grammar.moarvm​:statementlist​:280)
from gen/moar/stage2/NQPHLL.nqp​:895 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:LANG​:146)
from src/Perl6/Grammar.nqp​:1516 (./blib/Perl6/Grammar.moarvm​:FOREIGN_LANG​:67)
from src/Perl6/Grammar.nqp​:1103 (./blib/Perl6/Grammar.moarvm​:comp_unit​:1025)
from src/Perl6/Grammar.nqp​:402 (./blib/Perl6/Grammar.moarvm​:TOP​:528)
from gen/moar/stage2/QRegex.nqp​:1997 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:parse​:44)
from gen/moar/stage2/NQPHLL.nqp​:1580 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:parse​:80)
from gen/moar/stage2/NQPHLL.nqp​:1536 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:compile​:202)
from gen/moar/stage2/NQPHLL.nqp​:1272 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:eval​:62)
from gen/moar/stage2/NQPHLL.nqp​:1379 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​::35)
from gen/moar/stage2/NQPHLL.nqp​:1376 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:command_eval​:155)
from src/Perl6/Compiler.nqp​:59 (./blib/Perl6/Compiler.moarvm​:command_eval​:93)
from gen/moar/stage2/NQPHLL.nqp​:1360 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:command_line​:114)
from src/gen/m-main.nqp​:39 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:MAIN​:18)
from src/gen/m-main.nqp​:35 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<mainline>​:197)
from <unknown>​:1 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<main>​:8)
from <unknown>​:1 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<entry>​:9)

1 similar comment
@p6rt
Copy link
Author

p6rt commented Sep 1, 2015

From @usev6

Current failure mode (branch 'glr', perl6 version 2015.07.1-682-g57b7ebc built on MoarVM version 2015.07-108-g7e9f29e)​:

$ perl6-m -e 'sub foo ($bar :D) { 1; }'
===SORRY!===
Cannot invoke this object (REPR​: P6opaque, cs = 0)

$ perl6-m --ll-exception -e 'sub foo ($bar :D) { 1; }'
Cannot invoke this object (REPR​: P6opaque, cs = 0)
  at src/Perl6/World.nqp​:1640 (./blib/Perl6/World.moarvm​:create_signature_and_params​:551)
from src/Perl6/Grammar.nqp​:2489 (./blib/Perl6/Grammar.moarvm​:routine_def​:946)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:routine_declarator​:sym<sub>​:147)
from gen/moar/stage2/QRegex.nqp​:1350 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:!protoregex​:109)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:routine_declarator​:10)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:term​:sym<routine_declarator>​:57)
from gen/moar/stage2/QRegex.nqp​:1350 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:!protoregex​:109)
from <unknown>​:1 (./blib/Perl6/Grammar.moarvm​:term​:10)
from src/Perl6/Grammar.nqp​:3615 (./blib/Perl6/Grammar.moarvm​:termish​:403)
from gen/moar/stage2/NQPHLL.nqp​:678 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:EXPR​:74)
from src/Perl6/Grammar.nqp​:3649 (./blib/Perl6/Grammar.moarvm​:EXPR​:24)
from src/Perl6/Grammar.nqp​:1191 (./blib/Perl6/Grammar.moarvm​:statement​:395)
from src/Perl6/Grammar.nqp​:1126 (./blib/Perl6/Grammar.moarvm​:statementlist​:280)
from gen/moar/stage2/NQPHLL.nqp​:895 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:LANG​:146)
from src/Perl6/Grammar.nqp​:1516 (./blib/Perl6/Grammar.moarvm​:FOREIGN_LANG​:67)
from src/Perl6/Grammar.nqp​:1103 (./blib/Perl6/Grammar.moarvm​:comp_unit​:1025)
from src/Perl6/Grammar.nqp​:402 (./blib/Perl6/Grammar.moarvm​:TOP​:528)
from gen/moar/stage2/QRegex.nqp​:1997 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/QRegex.moarvm​:parse​:44)
from gen/moar/stage2/NQPHLL.nqp​:1580 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:parse​:80)
from gen/moar/stage2/NQPHLL.nqp​:1536 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:compile​:202)
from gen/moar/stage2/NQPHLL.nqp​:1272 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:eval​:62)
from gen/moar/stage2/NQPHLL.nqp​:1379 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​::35)
from gen/moar/stage2/NQPHLL.nqp​:1376 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:command_eval​:155)
from src/Perl6/Compiler.nqp​:59 (./blib/Perl6/Compiler.moarvm​:command_eval​:93)
from gen/moar/stage2/NQPHLL.nqp​:1360 (/home/christian/bin/rakudo.moar-glr/share/nqp/lib/NQPHLL.moarvm​:command_line​:114)
from src/gen/m-main.nqp​:39 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:MAIN​:18)
from src/gen/m-main.nqp​:35 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<mainline>​:197)
from <unknown>​:1 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<main>​:8)
from <unknown>​:1 (/usr/home/christian/perl6/perl6-roast-data/rakudo.moar-glr/perl6.moarvm​:<entry>​:9)

@p6rt
Copy link
Author

p6rt commented Sep 1, 2015

@usev6 - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Oct 9, 2015

From @jnthn

On Tue Sep 01 13​:21​:08 2015, bartolin@​gmx.de wrote​:

Current failure mode (branch 'glr', perl6 version 2015.07.1-682-
g57b7ebc built on MoarVM version 2015.07-108-g7e9f29e)​:

$ perl6-m -e 'sub foo ($bar :D) { 1; }'
===SORRY!===
Cannot invoke this object (REPR​: P6opaque, cs = 0)

Now gives a better error​:

===SORRY!=== Error while compiling -e
Invalid typename 'D' in parameter declaration.
at -e​:1
------> sub foo ($bar :D<HERE>) { 1; }

It considers it (correctly enough) as a type name because it's after the invocant separator :. Test added to S32-exceptions/misc.t.

@p6rt p6rt closed this as completed Oct 9, 2015
@p6rt
Copy link
Author

p6rt commented Oct 9, 2015

@jnthn - Status changed from 'open' to 'resolved'

@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant