Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created May 3, 2020 08:10
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/244219e1bae64a908cbc769b04c794e6 to your computer and use it in GitHub Desktop.
Save Whateverable/244219e1bae64a908cbc769b04c794e6 to your computer and use it in GitHub Desktop.
bisectable6
old=2018.01 my @a = 3, 4, 5; @a[-5..*]:delete; say @a; say @a.elems
Bisecting: 2510 revisions left to test after this (roughly 11 steps)
[edb530815508ea40f388df4714e304879d60ce69] Remove unnecessary comma
»»»»» Testing edb530815508ea40f388df4714e304879d60ce69
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bc2ca535f1a394dc6e71af9cbba370fe1f89c96b
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 344a64e9876c587b5c97c6bf007f29af370a4867
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 79a95b49a33b460d9c425bd71b316ac313bef9c5
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing abea32429be3c04379d731299cc4d5fd67471aed
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 646266ae70a6b759637e5a9da6fcf8778840fb1d
»»»»» Script output:
[]
0
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 02d2e2cafd06d6793a8a80f06a071bdc36d14526
»»»»» Script output:
[]
0
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing eca2bb999edb6f6f0d9894997ecd81f50a8927c9
»»»»» Script output:
[]
0
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 314eae348da4fca218dad38cadc91822e578684f
»»»»» Script output:
[]
0
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 94a3fdb824e346e605349b04b2f3a4ae25fe2d1a
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a4aceb08ca2f30714f674fd8ef04c43e1e17a4aa
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing f330d7fc44d76258e651c9114360d08f929b25b9
»»»»» Script output:
[3 4 5]
3
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
[]
0
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
f330d7fc44d76258e651c9114360d08f929b25b9 is the first new commit
commit f330d7fc44d76258e651c9114360d08f929b25b9
Author: Zoffix Znet <cpan@zoffix.com>
Date: Thu Feb 8 19:53:39 2018 -0500
Fix drift when reusing lazy iterables for indexing
Phixes https://github.com/rakudo/rakudo/issues/1320
Currently, we .push-until-lazy before we begin checking whether
for existence of elements to know when to stop. However, this
causes a "drift" when the lazy iterable is reused as .push-until-lazy
reifies an extra element each time to figure out if it's still lazy.
The next time we re-use this iterable for indexing, that extra element
ends up being past end of the iterable we're indexing; with an extra
such element added on each reuse.
Fix by checking if iterable is lazy and checking all positions for
existence for such iterables each time.
:040000 040000 b836629bb233c3c18ede3e828ee6bde293a9022b 19a52013967212b8ee4a2da216902b43100be38c M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment