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
use of module that defines traits within class scope hides locally defined traits #4818
Comments
From @jonathanstoweHi, Given TR.pm: module TR { And Foo.pm: class Foo { Then "tr": use Foo; class Womble { results (in the latter revision): Can't use unknown trait 'is other-trait' in an attribute declaration. But moving the "use TR;" outside the Foo class block makes the trait from within Foo to be recognised. It works in both ways in the 2015.11-163-g2897239 This does have ecosystem implications (see e.g. tadzik/JSON-Unmarshal#14 ) so if it is actually a conscious change in behaviour (and not an unintended consequence of some other change,) it probably needs to be clearly documented somewhere. Thanks. |
From @jonathanstoweJust bisected this on rakudo-moar and it appears that: 87288285f6f398ec7cba0900312ced4b580d79ed is the first bad commit Have Repository::FileSystem automatically precompile files :040000 040000 67079ac3caa0dea4eab121fa09edfcd14306559c 48e40ca79a4922c6fa912cfd387235e5ddd6f258 M src Not quite sure where that leaves us. |
From @jonathanstoweIt appears (as suggested by nine on IRC,) that changing the 'tr' to: use Test; class Womble { and running it without a '-I.' gets rid of the error, this would suggest there may have been a pre-existing pre-compilation problem, that got exposed when everything was precompiled again. |
From @jonathanstoweThis is stll present as of Rakudo version 2016.03-110-g5bfc8fb built on MoarVM version 2016.03-104-g10d397 |
Migrated from rt.perl.org#126804 (status was 'new')
Searchable as RT126804$
The text was updated successfully, but these errors were encountered: