FAQ
# New Ticket Created by Itsuki Toyota
# Please include the string: [perl #128275]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=128275 >


Hi.
See the following results.

--

$ git clone https://github.com/titsuki/p6-Bug-VIsitor.git
$ cd p6-Bug-VIsitor
$ mi6 test -v
==> Set PERL6LIB=/home/itoyota/Programs/p6-Bug-Visitor/lib
==> prove -e /home/itoyota/.rakudobrew/bin/../moar-nom/install/bin/perl6 -r t
t/01-basic.t .. Dubious, test returned 1 (wstat 256, 0x100)
No subtests run

Test Summary Report
-------------------
t/01-basic.t (Wstat: 256 Tests: 0 Failed: 0)
   Non-zero exit status: 1
   Parse errors: No plan found in TAP output
Files=1, Tests=0, 96 wallclock secs ( 0.07 usr 0.02 sys + 51.41 cusr 7.50 csys = 59.00 CPU)
Result: FAIL

$ perl6 --version
This is Rakudo version 2016.05-4-g7a4ca4d built on MoarVM version 2016.05
implementing Perl 6.c.

--

Search Discussions

  • Sam S. via RT at May 28, 2016 at 4:02 pm
    You have circular dependency between your two modules. That's not allowed.

    In Bug/Acceptor.pm, instead of doing `use Bug::Visitor;`, predeclare it instead using `class Bug::Visitor {...}`. (Yes, those are three literal dots in the source code.)

    ---

    I'm leaving the ticket open for now, because I don't know if the cyclic dependency should be detected by the compiler. Currently, it just keeps eating more and more RAM until the kernel kills the program.

    Minimalist test case to reproduce the problem:

         ➜ echo "use B;" > A.pm
         ➜ echo "use A;" > B.pm
         ➜ perl6 -I. -e 'use A'
  • Sam S. via RT at May 28, 2016 at 4:11 pm
    Relevant info from IRC discussion:

       psch: we did have circular module loading detection at some point... probably got clobbered with all the CUR work though :/
       lizmat: before, the detection lived in the nqp code, if I recall
       lizmat: now, it is the responsibility of the CUR to detect circularities
       lizmat: a start would be writing a test :-)
  • Sam S. via RT at May 29, 2016 at 3:18 pm
    Hm you're right, predeclaration doesn't seem to be the correct solution to your problem after all.

    But this bug tracker is not the right place for Perl 6 user support, it should be reserved for collecting info on actual Rakudo bugs.
    You should ask on the #perl6 IRC channel instead, I'm sure someone there can help you solve your programming problem.

    As for the issue of Rakudo failing to detect the cyclic dependency and printing an appropriate error message for it, I've submitted a new ticket for that to keep it clean: [perl #128285]
    I'm renaming this ticket here back to its original title, and I'm closing it.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl6-compiler @
categoriesperl
postedMay 28, '16 at 10:34a
activeMay 29, '16 at 3:18p
posts4
users1
websiteperl6.org

1 user in discussion

Sam S. via RT: 4 posts

People

Translate

site design / logo © 2019 Grokbase