Skip Menu |
Queue is disabled
This queue is disabled and you may not create new tickets in it. Disabled queues are usually because the distribution was merged with another or changed names. Sometimes they are the end result of a bad autocreate from PAUSE data before anyone noticed.
Report information
Id: 132694
Status: new
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: bartolin [at] gmx.de
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: JVM



Date: Mon, 8 Jan 2018 21:10:13 +0100
From: Christian Bartolomaeus <bartolin [...] gmx.de>
Subject: [JVM] Coercion type Str(Any) returned from .keyof is not the same object as Str(Any)
To: rakudobug [...] perl.org
Download (untitled) / with headers
text/plain 792b
On the JVM backend the coercion type returned from .keyof for a regular hash is not the same object as Str(Any): $ ./perl6-j -e 'use nqp; say nqp::eqaddr(Str(Any), {"a"=>1}.keyof)' 0 $ ./perl6-m -e 'use nqp; say nqp::eqaddr(Str(Any), {"a"=>1}.keyof)' 1 That's why some tests in S09-typed-arrays/hashes.t and S32-hash/perl.t have a new failure mode after fixing RT #132673. The objects are compared with infix:<===> from Any.pm and that uses nqp::eqaddr. [1] $ ./perl6-j -Ilib -e 'use Test; is({"a" => 1}.keyof, Str(Any))' not ok 1 - # Failed test at -e line 1 # expected: (Str(Any)) # got: (Str(Any)) I'm opening this ticket in order to update the todo message of said tests. [1] https://github.com/rakudo/rakudo/blob/14c2cdb314ee5bbda34354ef535d4909dcea845a/src/core/Any.pm#L488


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org