Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created Dec 15, 2020
Embed
What would you like to do?
bisectable6
sub a(:$foo) { dd $foo }; &a.wrap: { LEAVE say now - ENTER now; callsame }; a :foo
Bisecting: 90 revisions left to test after this (roughly 7 steps)
[2e7a0e59ec55b2bb4ef8cb6dd935e3ff77e91eb7] Make infix/prefix:<−> an alias of infix/prefix:<->
»»»»» Testing 2e7a0e59ec55b2bb4ef8cb6dd935e3ff77e91eb7
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 26522e8acd096412325f6c667c823c675f2fbae6
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \r, Real:D \v)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 7773c3d5e4f549deed296a24866622fd3e37ae09
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \r, Real:D \v)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 02fc1ffe6a96261797a01afef68cb0e98f0ba403
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a918028e058fd39646a5f24e1734d69821d67469
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \r, Real:D \v)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 440fceacc2e2b31484aaa5890741a92d8759d737
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \r, Real:D \v)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing efd0d6c0516373c1c7a368854b7bc5d43fe463a0
»»»»» Script output:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot resolve caller infix:<->(Instant, Mu); none of these signatures match:
($x = 0)
(\a, \b)
(Real \a, Real \b)
(Int:D \a, Int:D \b --> Int:D)
(int $a, int $b --> int)
(Num:D \a, Num:D \b)
(num $a, num $b --> num)
(Range:D \a, Real:D \b)
(Rational:D \a, Rational:D \b)
(Rational:D \a, Int:D \b)
(Int:D \a, Rational:D \b)
(Complex:D \a, Complex:D \b --> Complex:D)
(Complex:D \a, Real \b --> Complex:D)
(Real \a, Complex:D \b --> Complex:D)
(Instant:D $a, Instant:D $b)
(Instant:D $a, Real:D $b)
(Duration:D $a, Real $b)
(Duration:D $a, Duration:D $b)
(DateTime:D \a, DateTime:D \b)
(DateTime:D \a, Duration:D \b)
(Date:D $d, Int:D $x)
(Date:D $a, Date:D $b)
in block <unit> at /tmp/PuqkI2hAUZ line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
440fceacc2e2b31484aaa5890741a92d8759d737 is the first new commit
commit 440fceacc2e2b31484aaa5890741a92d8759d737
Author: Zoffix Znet <cpan@zoffix.com>
Date: Fri Mar 2 18:17:21 2018 +0000
Remove Range.clone-with-op / Fix bug on ops with subclasses of Range
Addresses R#1582 https://github.com/rakudo/rakudo/issues/1582
Addresses D#1798 https://github.com/perl6/doc/issues/1798
Also fixes explosion when subclasses/mixedin Range objects were used
with Range ops. Also fixes propagation of `infinite` attribute, tho
I'm unsure if it's possible to produce a Range with that attribute
different from original, using just the Range ops.
Fix the above bugs by using public interface to create modified Range
objects instead of poking into the guts. The choice for the ops
to produce a subclass of Range if one was given as the source of the
op is deliberate. While that's not the behaviour with, say,
`(42 but False) + 42`, which produces a plain `Int`, with Range ops,
there's always a single Range object involved, so we know for sure
what type to produce.
:040000 040000 d8cad88cdd98dc276c899763287e30105df3f07d b7430a908906d8e9be7ec51d02faffbc80c8a4fe M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment