#1560: r45619 (merge of stringnull branch) causes Rakudo failure in
t/spec/S06-signature/introspection.t
--------------------+-------------------------------------------------------
 Reporter:  moritz  |       Owner:       
     Type:  bug     |      Status:  new  
 Priority:  major   |   Milestone:       
Component:  none    |     Version:  2.2.0
 Severity:  medium  |    Keywords:       
     Lang:  perl6   |       Patch:       
 Platform:  linux   |  
--------------------+-------------------------------------------------------

Comment(by plobsing):

 Replying to [comment:3 whiteknight]:
 > Any idea what I'm doing wrong/differently that I'm seeing this error and
 not what you are seeing?
 I get that error when I run the spectest and the reported error when I run
 the fudged test (t/spec/S06-signature/introspection.rakudo).

 Here's what I'm fairly sure is happening:
  * Failure is in Signature.perl (src/core/Signature.pm:42)
  * You're calling $param.name on an *anonymous* parameter, which returns
 stingnull
  * stringnull used to have "empty string" semantics, making this line
 harmless
  * these empty string semantics were wrong because in the mutable strings
 system of Parrot, any valid string can be *modified*, including empty-
 stringish-stringnull. Disaster ensued when this happened.

 I'm not sure how to fix this problem. Once we get immutable strings, "null
 is an empty string" would be able to work (not sure if we want that). We
 could put a anonymous-check or null-check at that line to prevent this
 particular error. We could put a check in the rakudo substr routine to
 guard against null strings, if that's how Perl 6 expects things to work.
 Or we could try and work back where this stringnull came from, and make it
 into a non-null empty string (my bet is either an uninitialized string
 reg, or an uninitialized String pmc).

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1560#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