Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created July 6, 2021 15:48
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/6144fadce047ef9fa4411b4b7158a044 to your computer and use it in GitHub Desktop.
Save Whateverable/6144fadce047ef9fa4411b4b7158a044 to your computer and use it in GitHub Desktop.
bisectable6
old=2021.06 dd Buf ~~ Stringy
Bisecting: 22 revisions left to test after this (roughly 5 steps)
[dba9f56afa95ef078a5d0eb1cadd516e098d3987] Make $() work properly on scalar values
»»»»» Testing dba9f56afa95ef078a5d0eb1cadd516e098d3987
»»»»» Script output:
Bool::True
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 917d674bc3753c0574143f727f2b18e7c022f222
»»»»» Script output:
Bool::True
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 2bf59702e8fa5bd108a2d3e1332badbe47622db7
»»»»» Script output:
Bool::True
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a3b79397360b73c152f14c41d1feb6c0105512a9
»»»»» Script output:
Bool::True
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 1ed28638909feb1a444ec0156fe5fa8b27fc9922
»»»»» Script output:
Bool::False
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 3f5271bcf4bc6098bbdda0475daae6193fadbff5
»»»»» Script output:
Bool::True
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Bool::True
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
1ed28638909feb1a444ec0156fe5fa8b27fc9922 is the first new commit
commit 1ed28638909feb1a444ec0156fe5fa8b27fc9922
Author: Ben Davies <34197615+Kaiepi@users.noreply.github.com>
Date: Tue Jul 6 10:12:18 2021 -0500
Fix some errors WRT curried role typecheck lists (#4436)
Handle updates to curried role typecheck lists more lazily
The following throws upon composition of Bar:
role Foo[Any ::T] { }
role Bar[::T] does Foo[T] { }
This happens because in order to compose Bar's role typecheck list, it
needs to know Foo's as well, but this completes the parameterization of
Foo before T has a chance to get instantiated, making it a Mu during
selection of a candidate for Foo.
Metamodel::CurriedRoleHOW.complete_parameterization and related
metamethods assume that the role typecheck list needs to be updated at
the same time. These are the only places the update_role_typecheck_list
metamethod is called, implying the role_typecheck_list getter that
depends on it needs to update this beforehand for one reason or another,
which makes sense; adding roles as late as it does should invalidate any
typecheck list cached. If completing the parameterization here is
problematic, then defer it by allowing the cache be cleared and updating
it when need be.
:040000 040000 59ef5e148c71a3e28d44414d0b0f4aa954342cfa 8c8b7720d89643144569ff55ab11dd99379801e1 M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment