Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created April 12, 2026 05:16
Show Gist options
  • Select an option

  • Save Whateverable/4d9066ea50b5997bce2604df27c04149 to your computer and use it in GitHub Desktop.

Select an option

Save Whateverable/4d9066ea50b5997bce2604df27c04149 to your computer and use it in GitHub Desktop.
bisectable6
old=2025.01 new=2025.02 class Foo {has $.a; method test {$.a = 5}}; my $f = Foo.new; $f.test; say $f.a
Bisecting: 71 revisions left to test after this (roughly 6 steps)
[d244790bebd4ac8a4d81915dbcec51b002591e03] RakuAST: better way to detect compile-time values
»»»»» Testing d244790bebd4ac8a4d81915dbcec51b002591e03
»»»»» Script output:
Cannot assign to a readonly variable or a value
in method test at /tmp/kcXgsvE_Fq line 1
in block <unit> at /tmp/kcXgsvE_Fq 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 ca07de873f6ebc92bb90e316e14d0db144cbc23b
»»»»» Script output:
(Any)
»»»»» 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 6922f88fc1ea34da560672e52a0a47ba730b2e01
»»»»» Script output:
(Any)
»»»»» 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 a6608c2121fccb5a1f33ca46127abbc5ffe83e68
»»»»» Script output:
(Any)
»»»»» 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 d82d91e85323cb383c9706b833c34c0e52633ae7
»»»»» Script output:
Cannot assign to a readonly variable or a value
in method test at /tmp/kcXgsvE_Fq line 1
in block <unit> at /tmp/kcXgsvE_Fq 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 5cdf9056756a8cf0402fb35197c294b48c782337
»»»»» Script output:
Cannot assign to a readonly variable or a value
in method test at /tmp/kcXgsvE_Fq line 1
in block <unit> at /tmp/kcXgsvE_Fq 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 f855604498277a40c5dcc08620723ce7657d3798
»»»»» Script output:
Cannot assign to a readonly variable or a value
in method test at /tmp/kcXgsvE_Fq line 1
in block <unit> at /tmp/kcXgsvE_Fq 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”
a6608c2121fccb5a1f33ca46127abbc5ffe83e68 is the first new commit
commit a6608c2121fccb5a1f33ca46127abbc5ffe83e68
Author: Elizabeth Mattijsen <[email protected]>
Date: Sat Feb 15 13:41:27 2025 +0100
Fix issue with .item causing PDF failure
I don't like this solution at all. Historically, the concepts of an
item and a container have been conflated, which they probably shouldn't
have been.
So now [].time will return an unassignable container, because there
are several tests that depend on that:
- t/spec/S06-traits/misc.t
- t/spec/S17-lowlevel/cas-loop.t
- t/spec/S17-lowlevel/cas.t
which feels inconsistent to me. Also, I don't see how the code in
Iterable actually returns a unassignable container: there must be
some magic going on behind the scenes at the QAST or possibly MAST
level.
We should probably re-visit the whole concept of what a container
is, and what an item is for 6.e, or later..
src/core.c/Iterable.rakumod | 4 ++++
src/core.c/Mu.rakumod | 4 +---
2 files changed, 5 insertions(+), 3 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment