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

::Metamodel::MethodContainer is not composable #2782

Closed
JJ opened this issue May 11, 2019 · 2 comments
Closed

::Metamodel::MethodContainer is not composable #2782

JJ opened this issue May 11, 2019 · 2 comments
Assignees

Comments

@JJ
Copy link
Contributor

JJ commented May 11, 2019

The problem

While checking #2764 and running all tests via xt/examples-compilation.t:

# class Metamodel::ParametricRoleHOW
#     does Metamodel::Naming
#     does Metamodel::Documenting
#     does Metamodel::Versioning
#     does Metamodel::MethodContainer
#     does Metamodel::PrivateMethodContainer
#     does Metamodel::MultiMethodContainer
#     does Metamodel::AttributeContainer
#     does Metamodel::RoleContainer
#     does Metamodel::MultipleInheritance
#     does Metamodel::Stashing
#     does Metamodel::TypePretense
#     does Metamodel::RolePunning
#     does Metamodel::ArrayType {}
# <anon|4044>::Metamodel::MethodContainer is not composable, so <anon|4068>::Metamodel::ParametricRoleHOW cannot compose it
not ok 4104 - doc/Type/Metamodel/ParametricRoleHOW.pod6 chunk 3 starts with “class Meta” compiles
# Failed test 'doc/Type/Metamodel/ParametricRoleHOW.pod6 chunk 3 starts with “class Meta” compiles'
# at xt/examples-compilation.t line 157

This is the only one that fails in ParametricRoleHOW

Suggestions

Check the definition.

@antoniogamiz antoniogamiz self-assigned this May 11, 2019
@JJ
Copy link
Contributor Author

JJ commented May 11, 2019

This does not happen if it's run independently, but it happens consistently if I run the whole set of examples.

@antoniogamiz
Copy link
Contributor

I have checked both definitions https://github.com/rakudo/rakudo/blob/2019.03.1/src/Perl6/Metamodel/ParametricRoleHOW.nqp and https://github.com/rakudo/rakudo/blob/master/src/Perl6/Metamodel/ParametricRoleHOW.nqp.

It looks like they are the same. In addition, if you try to execute class Foo does Metamodel::MethodContainer {}; say Foo;.

@JJ JJ closed this as completed in 4311d97 May 12, 2019
@JJ JJ reopened this May 18, 2019
@JJ JJ closed this as completed in fb4de5b May 18, 2019
JJ added a commit that referenced this issue May 18, 2019
JJ added a commit that referenced this issue May 18, 2019
This closes #2782. The main problem is that some roles were defined
with `{ ... }`. Role definition *in the docs* affected example
compilation if it happened after that. This closes #2764 too. This is
related to #2789 although it was not a code quality issue per se, but
a documentation quality issue that was hidden in the previous version
of examples-compilation and suddenly showed up here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants