Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created December 10, 2022 16:04
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/6a7f06ec1fceee0360d00916da53c0e2 to your computer and use it in GitHub Desktop.
Save Whateverable/6a7f06ec1fceee0360d00916da53c0e2 to your computer and use it in GitHub Desktop.
bisectable6
old=2017.12 role A[::RType] { method b(RType $foo --> Str) { "String" }; method a(--> RType) { RType.new; } }; class B {}; class C does A[B] {}; say C.b(B.new); say C.a
Bisecting: 4135 revisions left to test after this (roughly 12 steps)
[a62d9c7856e82e9a35d275bba7295a20a1278b29] Merge pull request #3231 from usev6/literal_to_rw_2019
»»»»» Testing a62d9c7856e82e9a35d275bba7295a20a1278b29
»»»»» Script output:
String
Died with X::TypeCheck::Return
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 3202466a791812a9e8a766ab6c0947e0e9d8e712
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 067bef4d07dcc853804288901116a1919c975d3e
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 6e383c20444265fac4d0bec33575907f8555ee53
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 9f8eea416118a2f5646df6497da8b222007274af
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 16ccb573f35d27f089a2224164098ea280a70cee
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 6937da17677035da9f03e24c8ac42a7545372c6f
»»»»» Script output:
String
B.new
»»»»» 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 dc180bd950a6a820d284e137f262f4d6c85b1a5e
»»»»» Script output:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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:
String
Type check failed for return value; expected RType but got B (B.new)
in method a at /tmp/6ylZJauHTQ line 1
in block <unit> at /tmp/6ylZJauHTQ 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 7342d9dc28f7f3056f574b9f841064e2f396eb7d
»»»»» Script output:
String
B.new
»»»»» 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 958537b12c7358922299dcd388a4b8a67cd24c5d
»»»»» Script output:
String
B.new
»»»»» 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:
String
B.new
»»»»» 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 a302194442de250c37884ec3eb2f0ab1540fc9cd
»»»»» Script output:
String
B.new
»»»»» 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