Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created June 22, 2019 19:46
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/87199c5433eeccb67aecf2c9441988d9 to your computer and use it in GitHub Desktop.
Save Whateverable/87199c5433eeccb67aecf2c9441988d9 to your computer and use it in GitHub Desktop.
bisectable6
my @a = <foo bar baz>; my Seq $s = @a.Seq; say $s.first; @a[0] = 20; say $s.first
Bisecting: 4989 revisions left to test after this (roughly 12 steps)
[c3e3ffaadbd37e5fd7f26fabe749df613f069833] Hide Baggy.raw_keys_values as R:Q.BAGGY-RAW-KEYS-VALUES
»»»»» Testing c3e3ffaadbd37e5fd7f26fabe749df613f069833
»»»»» Script output:
foo
This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 cc28ce378ad3e95c39ee40efa23e44a13940f92d
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 8ea13823c48f10b1b10a03953b7593cf6cf1c06d
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 fd8a00a3df46b752ec9283904e55d943e33b9e50
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 1112988024e3be231afef5742965e5daa424e4dd
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 7b10a428a5565cf122218523c1bc28c14b3d63aa
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 0de0563f90f912ae6fc355d4c558b6456807bb13
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 95a7866c071283fc222e2691375d0e2ce7d351b4
»»»»» Script output:
foo
20
»»»»» 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 9dad99b8bcb89436414ef37efb9a674c0358161f
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 1ccfc013498d7b958963972128a87e73a53ccb28
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 ab738b4ee110d820848730c975751fe64b270271
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing 8a37b9311c2d18d72912a63ef33b84ad86ff2a5c
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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 94ba19f7e5ece517ca48ac16bf385bee2650b018
»»»»» Script output:
foo
20
»»»»» 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 7af0fb1c4cc49f7fbcf438e6428ccd8846014269
»»»»» Script output:
foo
The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at /tmp/D4KSv4XeHR 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”
»»»»» -------------------------------------------------------------------------
94ba19f7e5ece517ca48ac16bf385bee2650b018 is the first new commit
commit 94ba19f7e5ece517ca48ac16bf385bee2650b018
Author: Elizabeth Mattijsen <liz@wenzperl.nl>
Date: Wed Jun 12 14:01:46 2019 +0200
Introducing/Using the CachedIterator role
This is CachedIterator role is a refinement of the PredictiveIterator role.
The difference is that a CachedIterator role is supposed to supply a "cache"
method that will be called to set the cache of the Seq as soon as the iterator
is being used.
By having R:Iterator.ReifiedArrayIterator and R:Iterator.ReifiedListIterator
consume this role, makes the following code work again:
given Seq.new((1,2,3).iterator) {
dd .elems; dd .all; dd .all
}
# 3
# all(1, 2, 3)
# all(1, 2, 3)
which was broken by:
https://github.com/rakudo/rakudo/commit/9107215a99f106835a121d8446d97d11fc017758
:040000 040000 61fa1243b159b66a172297a7a18e4e9b6cb5059e 8dde7b787d43740b4bf0df12226736638d487dbc M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment