#1542: HLLs sometimes leak into loaded modules
--------------------+-------------------------------------------------------
 Reporter:  sorear  |        Type:  bug     
   Status:  new     |    Priority:  normal  
Milestone:          |   Component:  none    
  Version:  2.2.0   |    Severity:  medium  
 Keywords:          |        Lang:  blizkost
    Patch:          |    Platform:          
--------------------+-------------------------------------------------------
Changes (by plobsing):

  * priority:  blocker => normal


Comment:

 Here's why PCT is in the perl6 HLL:
   * Rakudo exports PCT (among other things) into perl6 root namespace
 using Namespace.export_to
   * Namespace.export_to adds to the target namespace using
 Namespace.set_pmc_keyed_str
   * when Namespace.set_pmc_keyed_str detects that it is adding a Namespace
 to a Namespace, it reparents the child Namespace to SELF.

 This means that PCT is available both as ['parrot';'PCT'] and
 ['perl6';'PCT'], but anything under PCT will think it is in
 ['perl6';'PCT'].

 The good news is that the HLL associated with Namespaces, Subs, etc in
 this heirarchy should remain unchanged.

 The bad news is that it appears we have yet another Namespace <=> Class
 mismatch occuring (which is why we get the 'Parrent isn't a Class' error).

 A small patch to src/pmc/namespace.pmc is sufficient to fix *this* bug,
 but I think more important here is the overall insanity of the reparenting
 special case at all. Also the lingering Namespace/Class associations
 (which is the root of this as well as other bugs).

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1542#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to