# New Ticket Created by "Carl Mäsak" # Please include the string: [perl #78204] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=78204 >
<masak> rakudo: class A { is $.foo }; say A.new # via colomon's <http://justrakudoit.wordpress.com/2010/10/04/taking-a-rest/> <p6eval> rakudo 7c74c0: OUTPUT«Null PMC access in find_method('foo') [...] <jnthn> ew * masak submits rakudobug <jnthn> what self is it finding? :S <jnthn> Surprised it even gets to runtime :/ <colomon> part of the reason it took me so long to figure out was that the error happens when the class is used, not when it is defined. and they were in different files, so I assumed it had something to do with that. <masak> rakudo: class A { $.foo } <p6eval> rakudo 7c74c0: OUTPUT«Null PMC access in find_method('foo') [...] <colomon> woah <masak> it doesn't even get to the 'is' call. <masak> (which would fail unless you've loaded something like Test.pm) <colomon> rakudo: class A { is $.foo }; <p6eval> rakudo 7c74c0: OUTPUT«Null PMC access in find_method('foo') [...] <colomon> huh. that compiled just fine, and maybe failed when it was "use"d. <masak> colomon: learning which assumptions to question is what makes debugging a humbling experience. <colomon> yes <masak> colomon: yes, it would fail when use-d. <masak> because that's when the class declaration code is executed. <colomon> crazy <colomon> (I mean, it makes sense, but it makes for Null PMC at a distance, too!) <masak> only because we haven't fixed this Null PMC Access bug :) <masak> they're not supposed to be in there, you know :P <masak> rakudo: class A { self.foo } <p6eval> rakudo 7c74c0: OUTPUT«===SORRY!===too few positional arguments: 2 passed, 3 (or more) expected» <masak> only the $.foo syntax causes the failure. interesting.