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

A role exported from a package with 'is export' cannot be used in ^does with its short name. #2613

Closed
vrurg opened this Issue Jan 17, 2019 · 0 comments

Comments

Projects
None yet
1 participant
@vrurg
Copy link
Contributor

vrurg commented Jan 17, 2019

The Problem

When a role is declared with a short name within a package and marked for export with is export trait it can't be used in importing code with ^does with its short name, only FQN works.

Steps to Reproduce

File Foo.pm:

unit module Foo;
role R1 is export { }

File foo.p6:

use Foo;
class Bar does R1 { }
say R1.^name;
say Bar.^does: R1;
say Bar.^does: Foo::R1;

The script would output:

Foo::R1
False
True

The result doesn't depend on the type of the package (reproducable for package, module, and class) nor on the unit modificator.

class declarations are not affected by this issue.

Environment

  • Operating system: macOS, Linux
  • Compiler version (perl6 -v): This is Rakudo version 2018.12 built on MoarVM version 2018.12
    Also tested on 2017.10 allowing to suggest that this is an old problem.

vrurg added a commit to vrurg/rakudo that referenced this issue Feb 8, 2019

This was referenced Feb 8, 2019

@jnthn jnthn closed this in b3eb382 Feb 8, 2019

Kaiepi added a commit to Kaiepi/rakudo that referenced this issue Mar 7, 2019

Kaiepi added a commit to Kaiepi/rakudo that referenced this issue Mar 10, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.