Closed p6rt closed 14 years ago
$ uname -a Linux hex 2.6.26-2-amd64 #1 SMP Sun Jul 26 20:35:48 UTC 2009 x86_64 GNU/Linux
Same on i386, both debian "lenny"
$ gdb --args ./perl6 -e 'multi sub infix:\<+=> (Num $a, Num $b) { $a -= $b }' GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"... (gdb) run Starting program: /home/hanno/projects/rakudo/perl6 -e multi\ sub\ infix:\\<+=\>\ \(Num\ \$a,\ Num\ \$b\)\ \{\ \$a\ -=\ \$b\ \} [Thread debugging using libthread_db enabled] warning: Lowest section in /usr/lib/libicudata.so.36 is .hash at 0000000000000120 [New Thread 0x7f1098bbe6f0 (LWP 3810)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f1098bbe6f0 (LWP 3810)] 0x00007f10986312ab in Parrot_Exception_set_attr_str (interp=0x1cda010, pmc=0x7f10938aebc0, name=0x1cdcd60, value=0x0) at ./src/pmc/exception.pmc:663 663 if (VTABLE_isa(interp, value, CONST_STRING(interp, "Continuation"))) { (gdb) bt
pmc=0x7f10938aebc0, name=0x1cdcd60, value=0x0) at ./src/pmc/exception.pmc:663
exception=0x7f10938aebc0) at src/exceptions.c:378
ret_addr_unused=0x0, exitcode=37, format=0x7f1098743a38 "%s() not implemented in class '%Ss'") at src/exceptions.c:460
pmc=0x7f10949feb30, methname=0x7f1098743903 "push_pmc") at ./src/pmc/default.pmc:64
pmc=0x7f10949feb30, value=0x7f10938b1500) at ./src/pmc/default.c:2204
sub_pmc=0x7f10938b1500, ns=0x1dccf60) at src/global.c:836
sub_pmc=0x7f10938b1500) at src/global.c:874
offs=65, end=201) at compilers/imcc/pbc.c:1505
unit=0x3221700, ins=0x32219b0) at compilers/imcc/pbc.c:2199
unit=0x3221700) at compilers/imcc/instructions.c:909
at compilers/imcc/imc.c:123
at compilers/imcc/imc.c:235
at compilers/imcc/imcc.y:1157
s=0x3216a90 "\n.HLL \"perl6\"\n\n.namespace []\n.sub \"_block18\" :main :anon :subid(\"12_1250671036\")\n .param pmc param_50 :slurpy\n.annotate \"line\", 0\n .const 'Sub' $P52 = \"15_1250671036\" \n capture_lex $P52\n.anno"..., yyscanner=0x3217850) at compilers/imcc/imcc.l:1369
s=0x3216a90 "\n.HLL \"perl6\"\n\n.namespace []\n.sub \"_block18\" :main :anon :subid(\"12_1250671036\")\n .param pmc param_50 :slurpy\n.annotate \"line\", 0\n .const 'Sub' $P52 = \"15_1250671036\" \n capture_lex $P52\n.anno"..., pasm_file=0, error_message=0x7fffa0be2bf0) at compilers/imcc/parser_util.c:683
s=0x3216a90 "\n.HLL \"perl6\"\n\n.namespace []\n.sub \"_block18\" :main :anon :subid(\"12_1250671036\")\n .param pmc param_50 :slurpy\n.annotate \"line\", 0\n .const 'Sub' $P52 = \"15_1250671036\" \n capture_lex $P52\n.anno"...) at compilers/imcc/parser_util.c:876
at src/nci.c:237
next=0x7f1098bd0eb0) at ./src/pmc/nci.pmc:335
interp=0x1cda010) at src/ops/core.ops:504
pc=0x7f1098bd0ea0) at src/runcore/cores.c:462
at src/runcore/main.c:987
at src/call/ops.c:119
obj=0x1d60950, meth_unused=0x0, sig=0x7f10987395cb "vP", ap=0x7fffa0be2f70) at src/call/ops.c:269
sub=0x7f10949e3e90, sig=0x7f10987395cb "vP") at src/call/ops.c:338
argv=0x7fffa0be31b8) at src/embed.c:1021
(gdb)
No longer segfaults, but still fails. Test added in SVN #28114.
This is an automatically generated mail to inform you that tests are now available in t/spec/S06-operator-overloading/sub.t
commit 34184fb3629630d8b8c0e2f0bb15b23652ea9dcd Author: frew \frew@​c213334d\-75ef\-0310\-aa23\-eaa082d1ae64 Date: Sat Aug 29 20:41:15 2009 +0000
add test for RT68662
git-svn-id: http://svn.pugscode.org/pugs@​28114 c213334d-75ef-0310-aa23-eaa082d1ae64
The RT System itself - Status changed from 'new' to 'open'
On Sat Aug 29 13:45:42 2009, KyleHa wrote:
This is an automatically generated mail to inform you that tests are now available in t/spec/S06-operator-overloading/sub.t
commit 34184fb3629630d8b8c0e2f0bb15b23652ea9dcd Author: frew \frew@​c213334d\-75ef\-0310\-aa23\-eaa082d1ae64 Date: Sat Aug 29 20:41:15 2009 +0000
add test for RT68662 git\-svn\-id​: http://svn.pugscode.org/pugs@​28114 c213334d\-75ef\-0310\-
aa23-eaa082d1ae64
diff --git a/t/spec/S06-operator-overloading/sub.t b/t/spec/S06- operator-overloading/sub.t index 9ef6ee6..64657f9 100644 --- a/t/spec/S06-operator-overloading/sub.t +++ b/t/spec/S06-operator-overloading/sub.t @@ -103,7 +103,7 @@ Testing operator overloading subroutines { sub postfix:\
($wobble) { return "ANDANDAND$wobble"; }; - is("boop"W, "ANDANDANDboop", + is("boop"W, "ANDANDANDboop", 'postfix operator overloading for new operator'); }
@@ -294,4 +294,12 @@ Testing operator overloading subroutines
}
+#?rakudo skip 'RT #68662' +{ + multi sub infix:\<+=> (Num $a, Num $b) { $a -= $b } + my $frew = 10; + $frew += 5; + is $frew, 15, 'infix redefinition of += works'; +} + # vim: ft=perl6
Actual test now reads:
#?rakudo skip 'RT #68662' { multi sub infix:\<+=> (Num $a, Num $b) { $a -= $b } my $frew = 10; $frew += 5; is $frew, 5, 'infix redefinition of += works'; }
-- Will "Coke" Coleda
Test was wrong, updated it with a hint from quester. Looks like it should be working now. Can't test it due to build failures in rakudo atm, though.
-- Will "Coke" Coleda
@moritz - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#68662 (status was 'resolved')
Searchable as RT68662$