Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created December 10, 2022 15:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/46f71b9f5cddcccd4c250d1ee11a8fc0 to your computer and use it in GitHub Desktop.
Save Whateverable/46f71b9f5cddcccd4c250d1ee11a8fc0 to your computer and use it in GitHub Desktop.
bisectable6
old=2020.02 sub test(::T, T $foo --> T) { $foo }; test Str, "foo"
Bisecting: 1670 revisions left to test after this (roughly 11 steps)
[f75957dd8e4a4cd3b428f83c689160679e90c772] Make .chrs a proper multi
»»»»» Testing f75957dd8e4a4cd3b428f83c689160679e90c772
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 966e77fe10bac8bc725399f06bcb7b5b38e00727
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 412c4625d5433e0f16ecd7792f45b6e0eb3d665e
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 6bd19e408e594d575dd01f23f318c63fbd2224ec
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 57337212b2dd11d3edd7f3392563cfca009e2900
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing b75545d3b835d537291f7b93be420a0e1b785da4
»»»»» Script output:
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 47c35cab9cdc1bbfa6416f52881e39c0f2898205
»»»»» Script output:
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 2c1e1bfd336556d1e725b7c6bb3cec55da86f2ae
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing ff90a24d648d7a36423e76361b63f94e33acb6e2
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 0432dbdd3279cf9aeecf8f3aa23d134cf69394be
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 5a6344fc6d315e8792d25d36d3ce25d5b2cc2e7c
»»»»» Script output:
Type check failed for return value; expected T but got Str ("foo")
in sub test at /tmp/oFxKi6QQIL line 1
in block <unit> at /tmp/oFxKi6QQIL line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a302194442de250c37884ec3eb2f0ab1540fc9cd
»»»»» Script output:
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
a302194442de250c37884ec3eb2f0ab1540fc9cd is the first new commit
commit a302194442de250c37884ec3eb2f0ab1540fc9cd
Author: Vadim Belman <vrurg@lflat.org>
Date: Sat Aug 27 21:11:27 2022 -0400
Make generics work with return type in signature
Code return type can now use a type capture and its derivatives.
E.g., the following will now work as expected:
sub foo(::T, $a --> T) { $a }
`T` can be used in combination with smiley typing and coercion.
A couple of linked problems has been resolved too.
src/Perl6/Metamodel/DefiniteHOW.nqp | 10 +++++-----
src/Perl6/Metamodel/SubsetHOW.nqp | 4 ++--
src/core.c/Rational.pm6 | 2 +-
src/vm/moar/Perl6/Ops.nqp | 16 +++++++++++++++-
4 files changed, 23 insertions(+), 9 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment