Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PMC] Fixed co-recursion bug in NameSpace, when iterating through its…
… contents. The problem is that, when the key is a Key and not a String, sometimes there's an infinite loop when the Key isn't a string, integer, or PMC key -- the default path for the switch in key_string() calls the get_string() vtable entry on the key, which calls key_string(), which.... The short-term solution is to call the parent PMC (Hash) implementation of get_pmc_keyed() and return the results, if they're accurate. This fixes the crash and keeps Rakudo working. Replacing the body of the vtable entry with the SUPER() call breaks Rakudo. The long-term solution is to fix the Key PMC, which is poorly designed and poorly implemented. See RT #57668 and RT #58040, for starters. git-svn-id: https://svn.parrot.org/parrot/trunk@30286 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
- Loading branch information