# New Ticket Created by Bob Rogers
# Please include the string: [perl #43869]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=43869 >
The attached test case illustrates the problem; anything after the
first :flat arg is ignored. I have a fix, and will commit it as soon as
I have an RT number.
-- Bob Rogers
http://rgrjr.dyndns.org/
Diffs between last version checked in and current workfile(s):
Index: t/pmc/multisub.t
===================================================================
--- t/pmc/multisub.t (revision 19701)
+++ t/pmc/multisub.t (working copy)
@@ -26,7 +26,7 @@
exports = split " ", "plan ok is"
test_namespace.export_to(curr_namespace, exports)
- plan( 6 )
+ plan( 8 )
$P0 = new .MultiSub
$I0 = defined $P0
@@ -44,6 +44,19 @@
$S0 = foo(42, "goodbye")
is($S0, "testing 42, goodbye", "int and string variant")
+ ## Now test handling of :flat parameters.
+ $P0 = new .ResizablePMCArray
+ push $P0, 42
+ push $P0, "goodbye"
+ $S0 = foo($P0 :flat)
+ is($S0, "testing 42, goodbye", "int and string :flat")
+ $P1 = new .ResizablePMCArray
+ push $P1, 42
+ $P2 = new .ResizablePMCArray
+ push $P2, "goodbye"
+ $S0 = foo($P1 :flat, $P2 :flat)
+ is($S0, "testing 42, goodbye", "int and string double :flat")
+
.end
.sub foo :multi()
@@ -73,6 +86,17 @@
.return ($S0)
.end
+.sub foo :multi(Integer, String)
+ .param pmc bar
+ .param pmc baz
+ $S1 = bar
+ $S2 = baz
+ $S0 = "testing " . $S1
+ $S0 .= ", "
+ $S0 .= $S2
+ .return ($S0)
+.end
+
# Local Variables:
# mode: pir
# fill-column: 70
End of diffs.