#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