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

"No concretization found" on role-qualified method call with inheritance #2657

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

Comments

Projects
None yet
1 participant
@vrurg
Copy link
Contributor

vrurg commented Jan 29, 2019

The Problem

The problem applies to a case when a class is inheriting from a parent with a role applied. Lets assume that the parent defines a method which does a role-qualified call to a method in the role. In this case calling this method on an instance of the child class causes "No concretization found" exception.

Steps to Reproduce

Here is a code snippet which demonstrated the problem:

     role R1 {
         method foo { "R1::foo" }
     }

     class Foo does R1 {
         method foo {
             note "Foo::foo";
             say "direct:   ", self.R1::foo;
         }
     }

     class Bar is Foo {
     }

     say "--- Foo:";
     Foo.new.foo;
     say "--- Bar:";
     Bar.new.foo;

Executing it would result in a output like the following:

--- Foo:
Foo::foo
direct:   R1::foo
--- Bar:
Foo::foo
No concretization found for R1
  in method foo at ./role.p6 line 8

Notes

This is likely to be related to #2496 and #2282.

Environment

  • Operating system: macOS, Linux
  • Compiler version (perl6 -v): This is Rakudo version 2018.12 built on MoarVM version 2018.12 but also observed on 2018.06, 2017.10

@jnthn jnthn closed this in a6c8180 Feb 7, 2019

jnthn added a commit that referenced this issue Feb 7, 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.