Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created April 26, 2019 15:55
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/2bf89d7b2cc83eecd958330360f36043 to your computer and use it in GitHub Desktop.
Save Whateverable/2bf89d7b2cc83eecd958330360f36043 to your computer and use it in GitHub Desktop.
bisectable6
class A { has $.a; }; class B { has $.b }; class C is B is A { }; say C.new(:a(1), :b(2))
Bisecting: 4784 revisions left to test after this (roughly 12 steps)
[6f9326877cba3968c90342a8f41fe583f4012874] Re-instate for range optimization.
»»»»» Testing 6f9326877cba3968c90342a8f41fe583f4012874
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 82a0e706537d76ae3c06c576453aa4a5d2801791
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bd6c6403e083d88f3e8988590fa6d6fcd82ff137
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 9dbc3c50c50f7da69edcfd770c7f149ad727a279
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing fcbd8adbe586e21c8bcd6ac7bb319b84136d6fc0
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 39d50ad542c6ec05bb7b23f2820ca8b9bcfdbfca
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 6256ec8272134045a50cbb7685426036b15737e7
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 98900dfd255cf72466052556ebd3ff805d47e539
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 037a6cf8fae34c37eea1debac930ac45576b01bc
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing fe89d350492dbf0842a5c913de0d3b174d0d6447
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing b0a6cd9ed996acb04f56ee2ec21d0c241db4c37f
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 50538ad891dbfa7ffb2186eaab7a7d692dd5ef7b
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 16cb67980a7591a66d9259680b980c81067d3f8c
»»»»» Script output:
C.new(b => 2, a => Any)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 01203bda3c650b351a40dcb0c16300b037481c6c
»»»»» Script output:
C.new(b => 2, a => 1)
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
C.new(b => 2, a => 1)
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
16cb67980a7591a66d9259680b980c81067d3f8c is the first new commit
commit 16cb67980a7591a66d9259680b980c81067d3f8c
Author: Elizabeth Mattijsen <liz@wenzperl.nl>
Date: Tue Oct 3 13:06:35 2017 +0200
Additional BUILDPLAN sharing
- if a class has an empty BUILDPLAN, it will not add to the BUILDALLPLAN
- therefore its BUILDALLPLAN is the same as its first parent in MRO
This should save memory for all mixins that don't add any attributes.
:040000 040000 59938433f4e120306ae888489cb2170fe621182a 6079f94bb0747043d479bfdd9f9dce0a0366471b M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment