You have to have a comma after each tag. I think it will work if you do
(can't test atm). It's def LTA that there's no syntax error. Arg parsing
for use statements is LTA in general I think.

LL
On Wed, 31 Aug 2016 at 9:29 AM, Brian S. Julin <perl6-bugs-follo...@perl.org>
wrote:

> # New Ticket Created by  "Brian S. Julin"
> # Please include the string:  [perl #129143]
> # in the subject line of all future correspondence about this issue.
> # <URL: https://rt.perl.org/Ticket/Display.html?id=129143 >
>
>
>
> $ cat XX.pm6
> unit module XX;
>
> our sub fee() is export { }
>
> our sub fie() is export(:tag1) { }
>
> our sub foo() is export(:tag1 :tag2) { }
>
> our sub fum() is export(:DEFAULT :tag3) { }
>
> $ PERL6LIB=. perl6 -e 'use XX; fee()'
> $ PERL6LIB=. perl6 -e 'use XX; fum()'
> $ PERL6LIB=. perl6 -e 'use XX :tag1; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :tag2; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :tag2 :DEFAULT; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :DEFAULT :tag2; foo()'
> ===SORRY!=== Error while compiling -e
> Undeclared routine:
>     foo used at line 1
>
> $ PERL6LIB=. perl6 -e 'use XX :tag2 :tag1; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :tag1 :tag2; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :DEFAULT :tag3; fum()'
> $ PERL6LIB=. perl6 -e 'use XX :tag3 :DEFAULT; fum()'
> $ PERL6LIB=. perl6 -e 'use XX :tag1 :DEFAULT :tag2; foo()'
> $ PERL6LIB=. perl6 -e 'use XX :tag3 :DEFAULT :tag2; foo()'
> ===SORRY!=== Error while compiling -e
> Undeclared routine:
>     foo used at line 1
>

Reply via email to