Raku / old-issue-tracker

Tickets from RT
https://github.com/Raku/old-issue-tracker/issues
2 stars 1 forks source link

splice no longer attempts to numify things (@a.splice: ^3) #5937

Open p6rt opened 7 years ago

p6rt commented 7 years ago

Migrated from rt.perl.org#130439 (status was 'open')

Searchable as RT130439$

p6rt commented 7 years ago

From @AlexDaniel

Code​: my @​a = \; say @​a.splice​: ^3

Result (2015.12,2016.07.1)​: [d e f g]

Result (HEAD)​: Cannot resolve caller splice(Array​: Range); none of these signatures match​:   (Array​:D \SELF​: *%_)   (Array​:D $​: Whatever, *%_)   (Array​:D $​: Callable​:D $offset, *%_)   (Array​:D $​: Int​:D $offset, *%_)   (Array​:D $​: Whatever, Whatever, *%_)   (Array​:D $​: Whatever, Int​:D $size, *%_)   (Array​:D $​: Whatever, Callable​:D $size, *%_)   (Array​:D $​: Callable​:D $offset, Callable​:D $size, *%_)   (Array​:D $​: Callable​:D $offset, Whatever, *%_)   (Array​:D $​: Callable​:D $offset, Int​:D $size, *%_)   (Array​:D $​: Int​:D $offset, Whatever, *%_)   (Array​:D $​: Int​:D $offset, Callable​:D $size, *%_)   (Array​:D $​: Int​:D $offset, Int​:D $size, *%_)   (Array​:D $​: Whatever $offset, Whatever $size, **@​new, *%_)   (Array​:D $​: Whatever $offset, Callable​:D $size, **@​new, *%_)   (Array​:D $​: Whatever $offset, Int​:D $size, **@​new, *%_)   (Array​:D $​: Callable​:D $offset, Whatever $size, **@​new, *%_)   (Array​:D $​: Callable​:D $offset, Callable​:D $size, **@​new, *%_)   (Array​:D $​: Callable​:D $offset, Int​:D $size, **@​new, *%_)   (Array​:D $​: Int​:D $offset, Whatever $size, **@​new, *%_)   (Array​:D $​: Int​:D $offset, Callable​:D $size, **@​new, *%_)   (Array​:D $​: Int​:D $offset, Int​:D $size, **@​new, *%_)   (Array​:D $​: Whatever, Whatever, @​new, *%_)   (Array​:D $​: Whatever, Int​:D $size, @​new, *%_)   (Array​:D $​: Whatever, Callable​:D $size, @​new, *%_)   (Array​:D $​: Callable​:D $offset, Callable​:D $size, @​new, *%_)   (Array​:D $​: Callable​:D $offset, Whatever, @​new, *%_)   (Array​:D $​: Callable​:D $offset, Int​:D $size, @​new, *%_)   (Array​:D $​: Int​:D $offset, Whatever, @​new, *%_)   (Array​:D $​: Int​:D $offset, Callable​:D $size, @​new, *%_)   (Array​:D $​: Int​:D $offset, Int​:D $size, @​new, *%_) in block \ at /tmp/SItA2b7BIp line 1

Bisectable points to https://github.com/rakudo/rakudo/commit/f32173b2ca3a2652277b81ff381e6377632f0538

Given that the commit was attempting to improve the performance, I think the change was unintentional. However, feel free to argue that the current behavior is correct. If so, please treat this ticket as [LTA] (the amount of candidates printed is insane).

p6rt commented 7 years ago

From @zoffixznet

FWIW, my math[^1] suggests with current system we'd need 22 more candidates to handle Cool, bringing the total to 52 candidates.

IMO Cool candidates are important to have, perhaps we can de-optimize something that won't have a huge performance hit, while reducing the candidates to saner levels?

[1] https://irclog.perlgeek.de/perl6-dev/2016-12-29#i_13819263

p6rt commented 7 years ago

The RT System itself - Status changed from 'new' to 'open'

p6rt commented 7 years ago

From @lizmat

Fixed in https://github.com/rakudo/rakudo/commit/76f14a5c1f

Marking tests needed

p6rt commented 7 years ago

From @zoffixznet

The original fix was reverted in https://github.com/rakudo/rakudo/commit/121e5e32e9 per discussion https://irclog.perlgeek.de/perl6-dev/2017-01-21#i_13962511