niner
niner
I got curious. This seems to be the minimal working example currently: ``` my $h = class :: does Associative { method AT-KEY(|) { 2 }; method FLATTENABLE_LIST() { List.new.FLATTENABLE_LIST...
> Wouldn't that break 32bit builds? No, even 32 bit platforms have 64 bit integer types.
You get the desired behavior by adding a `proto method new(|) { * }` to your class.
That code is wrong anyway. The role is **not** part of the closure: ``` > rakudo -e 'sub create($foo) { True but role :: { method get() { $foo }...
No, anonymous classes have exactly the same behavior as we simply do not close over packages: ``` > rakudo -e 'sub create($foo) { return class :: { method get() {...
Build with libffi instead. We should move over to that anyway.
> Feels indeed to me that the `proto` removing logic is a little too eager. But we still want that cake! So I think, the best solution is for the...
For subs this is expected and specified behaviour. Subs are `my` scoped by default. I.e. the `sub foo` in the block is only known inside that block and it shadows...
Ah, module loading is the answer. The class imported from `base.rakumod` is imported into the lexical scope that contains the `use` statement. That's why there's no conflict. It's akin to:...
OBS supports building on a variety of architectures, including i586 (i.e. 32 bit): https://build.opensuse.org/project/show/home:niner9:rakudo-git So yes, that's easy to do. As https://github.com/rakudo/rakudo/pull/3848 shows we may not want to become complete...