Activity
From 01/06/2025 to 01/12/2025
01/12/2025
-
11:15 PM Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- May I confirm this will be patched in Ruby 3.4.2?
-
06:34 PM Bug #21030 (Closed): Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- Applied in changeset commit:git|f56f3eaae55cc6f8d9e79862ee73a9ffb53d6077.
----------
[Bug #21030] Fix step for non-numeric range
When the end points of an inclusive range equal, `Range#step` should
yields the element once. -
08:23 AM Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- Confirmed, looking into it.
-
05:59 AM Bug #21030 (Closed): Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- Issue also filed at: https://github.com/rails/rails/issues/54199
### System configuration
**Rails version**: 7.1.5.1
**Ruby version**: 3.3.4 (works) vs 3.4.1 (broken)
### What's broken
Calling `#step` then `#to_a` on a `Range`... -
06:54 PM Revision 566f9463 (git): [ruby/prism] Fix parser translator tSPACE tokens for percent arrays
- Tests worked around this but the incompatibility is not hard to fix.
This fixes 17 token incompatibilies in tests here that were previously passing
https://github.com/ruby/prism/commit/101962526d -
06:41 PM Revision 14b90984 (git): [ruby/prism] Frozen strings in the AST
- https://github.com/ruby/prism/commit/8d9d429155
-
06:34 PM Revision 48749afe (git): [ruby/prism] Fix parser translator ranges for mulltiline strings with multiline bytes
- A rather silly issue with a rather simple fix.
The ranges already use the offset cache, this effectivly double-encoded them.
https://github.com/ruby/prism/commit/66b65634c0 -
06:34 PM Revision d0deec3e (git): [ruby/prism] Fix parser translator tokens for comment-only file
- In https://github.com/ruby/prism/pull/3393 I made a mistake.
When there is no previous token, it wraps around to -1. Oops
Additionally, if a comment has no newline then the offset should be kept as is
https://github.com/ruby/prism/comm... -
05:07 PM Revision f56f3eaa (git): [Bug #21030] Fix step for non-numeric range
- When the end points of an inclusive range equal, `Range#step` should
yields the element once. -
02:01 PM Revision d9e1a7cd (git): [Bug #21018] Fix for s390x
-
12:59 PM Revision 450d9dc8 (git): [ruby/irb] Group private methods together in `IRB::Context`
- (https://github.com/ruby/irb/pull/1064)
This makes them easier to find and matches the convention of the codebase.
https://github.com/ruby/irb/commit/ce8fa6857c -
12:47 PM Revision 9f8defe8 (git): [ruby/irb] Drop ColorPrinter's workaround for BasicObject
- (https://github.com/ruby/irb/pull/1051)
`pp` 0.6.0+ includes https://github.com/ruby/pp/pull/26 to handle BasicObject,
so we can drop the workaround.
https://github.com/ruby/irb/commit/08908d43c7 -
10:48 AM Revision e2f1f7c5 (git): [Doc] Encourage use of encoding constants
- Lots of documentation examples still use encoding APIs with encoding names
rather than encoding constants. I think it would be preferable to direct
users toward constants as it can help with auto-completion, static analysis
and such. -
08:20 AM Bug #21026: `def __FILE__.a; end` should be a syntax error
- As far as I understand (though it is an intuitive understanding, not backed by looking into particular implementation), `__FILE__` and `__LINE__` are handled at the parsing stage, behaving in (almost) all situations like there was just a...
-
07:27 AM Feature #20899: Reconsider adding `Array#find_map`
- The Facets gem has this same feature as `find_yield`. In their implementation there's an optional first arg which is the fallback value if nothing is found.
https://github.com/rubyworks/facets/blob/main/lib/core/facets/enumerable/find_y... -
04:53 AM Revision d9d08484 (git): [DOC] Fix the description of `rb_path_check`
- c.f. #20971
-
02:58 AM Bug #21029 (Closed): Prism behavior for `defined? (;x)` differs
- Prism has a different behavior for `(;expr)` when used in `defined?` predicate:
```console
% ./miniruby --parser=prism -e "p defined? (;x)"
nil
% ./miniruby --parser=parse.y -e "p defined? (;x)"
"expression"
```
Although not a... -
12:49 AM Revision 723f31cf (git): [ruby/prism] Fix binary encoding for the parser translator
- Skipping detecting the encoding is almost always right, just for binary it should actually happen.
A symbol containing escapes that are invalid
in utf-8 would fail to parse since symbols must be valid in the script encoding.
Additionall... -
12:23 AM Bug #21027 (Closed): `not()` receiver should be `nil`
- Applied in changeset commit:git|117d6e145a0270ab8fc9134403519ef13b9ebb24.
----------
[ruby/prism] Fix `not` receiver
`not foo` should be `!foo`
`not()` should be `!nil`
Fixes [Bug #21027]
https://github.com/ruby/prism/commit/871ed4b462 - 12:09 AM Revision 8e56d9e4 (git): Update default gems list at 70022224b2627694cbbb30e819a6b1 [ci skip]
-
12:09 AM Revision 70022224 (git): [ruby/prism] Better comment token handling for the parser translator
- There appear to be a bunch of rules, changing behaviour for
inline comments, multiple comments after another, etc.
This seems to line up with reality pretty closely, token differences for RuboCop tests go from 1129 to 619 which seems pr... -
12:09 AM Revision 117d6e14 (git): [ruby/prism] Fix `not` receiver
- `not foo` should be `!foo`
`not()` should be `!nil`
Fixes [Bug #21027]
https://github.com/ruby/prism/commit/871ed4b462 -
12:09 AM Revision 9c962ea7 (git): [ruby/prism] Fix parser translator tokens for backslashes in single-quoted strings and word arrays
- These are not line continuations. They either should be taken literally,
or allow the word array to contain the following whitespace (newlines in this case)
Before:
```
0...1: tSTRING_BEG => "'"
1...12: tSTRING_CONTENT => "foobar... -
12:09 AM Revision 110461c5 (git): [ruby/prism] Implement more string token escaping in the parser translator
- This leaves `\c` and `\M` escaping but I don't understand how these should even work yet. Maybe later.
https://github.com/ruby/prism/commit/13db3e8cb9 -
12:09 AM Revision 81079ebf (git): [ruby/prism] Import code samples for Ruby 3.3 from the parser gem
- Slightly tweaking the import script becaues of backtrace format changes in Ruby 3.4
Most tests pass in all parsers, with only a handful of failures overall
https://github.com/ruby/prism/commit/9b5b785aa4 -
12:09 AM Revision ca81142e (git): [ruby/prism] [Bug #21010] Reject endless method definition of `[]=`
- Fixes: https://bugs.ruby-lang.org/issues/20785
https://github.com/ruby/prism/commit/192960ce5d -
12:09 AM Revision 283037f7 (git): [ruby/prism] Better handle all kinds of multiline strings in the parser translator
- This is a followup to #3373, where the implementation
was extracted
https://github.com/ruby/prism/commit/2637007929 -
12:09 AM Revision 80fe9a1c (git): [ruby/prism] Better handle multiline interpolated strings in the parser translator
- Much of this logic should be shared between interpolated symbols and regexps.
It's also incorrect when the node contains a literal `\\n` (same as for plain string nodes at the moment)
https://github.com/ruby/prism/commit/561914f99b -
12:09 AM Revision 9f38ee11 (git): [ruby/prism] Fix parser translator ast for empty regex
- In that specific case, no string node is emitted
https://github.com/ruby/prism/commit/1166db13dd -
12:09 AM Revision a234fd51 (git): [ruby/prism] Fix parser translator ast for regex with line continuation
- Turns out, the vast majority of work was already done with handling the same for heredocs
I'm confident this should also apply to actual string nodes (there's even a todo for it) but
no tests change if I apply it there too, so I can't s... -
12:09 AM Revision d1a70014 (git): [ruby/prism] Fix parser translator ast when using anonymous forwarding in blocks/lambda
- Blocks and lambdas inherit anonymous arguments from the method they are a part of.
They themselves don't allow to introduce new anonymous arguments.
While you can write this:
```rb
def foo(*)
bar { |**| }
end
```
referecing the new par... -
12:09 AM Revision 7cbaa3b9 (git): [ruby/prism] Fix an incompatibility with the parser translator
- The offset cache contains an entry for each byte so it can't be accessed via the string length.
Adds tests for all variants except for this:
```
"fo
o" "ba
’"
```
For some reason, this still has the wrong offset.
https://github.com/ru... -
12:09 AM Revision d597118b (git): [ruby/prism] Fallthrough fallback for unknown compilers
- https://github.com/ruby/prism/commit/cc810b1e06
-
12:09 AM Revision fa1427a6 (git): [ruby/prism] Enable implicit fall-through errors
- https://github.com/ruby/prism/commit/03797b84d3
-
12:09 AM Revision b0e64fcd (git): [ruby/prism] Bump to v1.3.0
- https://github.com/ruby/prism/commit/a679ee0e5c
-
12:09 AM Revision b79152fd (git): [ruby/prism] Support 3.5 for version option
- https://github.com/ruby/prism/commit/6b6aa05bfb
01/11/2025
-
11:24 PM Feature #21028 (Open): Method for finding why an object isn't Ractor shareable
- `Ractor.shareable?` is easy to use, but if it returns false I would like to be able to figure out what object is causing the data structure to _not_ be Ractor shareable.
The context is that I'm trying to make some complex data structu... -
10:49 PM Feature #21020: Sync sig directory for prism of default gem.
- I'm fine with this if everyone else is.
-
09:42 PM Bug #21026: `def __FILE__.a; end` should be a syntax error
- Interesting! I didn't realize that `__FILE__` will **always** (without frozen string literals) return a new instance. Of course `__LINE__` will always have a different values but the seemingly const-ness of `__FILE__` had me a bit tricked.
-
07:49 PM Bug #21026: `def __FILE__.a; end` should be a syntax error
- > It already doesn't seem to actually do anything
This is a bunch of technicalities... But I don’t think it doesn’t do anyting :)
As far as I understand, every `__FILE__` invocation in the source code produces a _new_ instance of a... -
12:07 PM Bug #21026 (Closed): `def __FILE__.a; end` should be a syntax error
- Constants like `__FILE__`, `__LINE__` and `__ENCODING__` are literals and as such you shouldn't be able to defined singleton methods on them.
It already doesn't seem to actually do anything:
```rb
def __FILE__.a
end
__FILE__.a #=>... -
08:51 PM Feature #20757: Make rb_tracearg_(parameters|eval_script|instruction_sequence) public C-API
- I've added the methods to debug.h and in my small test case it seemed to work without any problems. The PR is at https://github.com/ruby/ruby/pull/12553. Let me know if this is fine like this or if I should change anything!
-
08:38 PM Bug #21027 (Closed): `not()` receiver should be `nil`
- `not` has a 0-argument mode, and the behavior differs from that of parse.y:
```
% RBENV_VERSION=3.4.0 ruby --parser=parse.y -e 'p not()'
true
% RBENV_VERSION=3.4.0 ruby --parser=prism -e 'p not()'
false
```
This is because Pri... -
02:03 PM Revision 76b620b3 (git): [ruby/irb] `IRB.conf[:SAVE_HISTORY]` should handle boolean values
- (https://github.com/ruby/irb/pull/1062)
Although not documented, `IRB.conf[:SAVE_HISTORY]` used to accept boolean,
which now causes `NoMethodError` when used.
This commit changes the behavior to accept boolean values and
adds tests for... -
12:59 PM Revision 80d28785 (git): [ruby/irb] Print more actionable message when the exception may be
- an IRB issue
(https://github.com/ruby/irb/pull/1061)
https://github.com/ruby/irb/commit/4d74d39261 -
07:17 AM Bug #21008: Array#sum, Enumerator#sum, Numeric subclass
- ruby_3_2 commit:845763fdf370846938b86a062827b237313c924f merged revision(s) commit:b176d4f52e4af67654814dab3e9c5f4bf9170e54.
-
07:17 AM Bug #20995: exception escapes block given to IO.popen("-") in child process
- ruby_3_2 commit:f150d67b7d389eb88e0cd13694d3529895d55579 merged revision(s) commit:8034e9c3d001ca3dff124ab42972684eac8af2ae.
-
07:16 AM Bug #20984: ENV.inspect is not encoding aware
- ruby_3_2 commit:4e59c10646cf012d457da99ad258b0e6a3e42132 merged revision(s) commit:19c39e4cfaa467e69b9848c9c5496d7f50d39c7f, commit:d78ff6a767ca813ac5fa178dd7611f20a993c191.
-
07:16 AM Bug #21024 (Closed): Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- Applied in changeset commit:git|1b3037081ef9fc121b83e213d997a069acd5904b.
----------
[Bug #21024] <cstdbool> header is deprecated in C++17 -
03:24 AM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- That patch will break C++-11 and C++-14.
https://github.com/ruby/ruby/pull/12551 -
06:32 AM Revision 845763fd (git): merge revision(s) b176d4f52e4af67654814dab3e9c5f4bf9170e54: [Backport #21008]
- [Bug #21008] Normalize before sum to float
After switching to `Float`-mode when summing `Numeric` objects,
normalization for `Float` is still needed. -
06:30 AM Revision f150d67b (git): merge revision(s) 8034e9c3d001ca3dff124ab42972684eac8af2ae: [Backport #20995]
- [Bug #20995] Protect `IO.popen` block from exiting by exception
-
06:28 AM Revision 4e59c106 (git): merge revision(s) 19c39e4cfaa467e69b9848c9c5496d7f50d39c7f, d78ff6a767ca813ac5fa178dd7611f20a993c191: [Backport #20984]
- [Bug #20984] ENV.inspect should be encoding aware
[Bug #20984] Fix test with locale encoding -
03:21 AM Revision 1b303708 (git): [Bug #21024] <cstdbool> header is deprecated in C++17
-
12:26 AM Feature #21015: Add in a `-g` flag, like `-s` but with a few more quality of life features
- matz (Yukihiro Matsumoto) wrote in #note-9:
> I like the basic idea of this proposal. But, I am against:
> ...
Totally agree with this. It's a bit awkward, and I think removing it is a good idea. 100% on-board.
> * Interpreting option v...
01/10/2025
-
11:03 PM Misc #21025 (Closed): What's the default encoding of `String.new`?
- Applied in changeset commit:git|cde065c32c8db34eaf2c6b8646a2d4a34e20a3ec.
----------
Clarify documentation for encoding of `String.new` without arguments
[Bug #21025] -
07:48 PM Misc #21025: What's the default encoding of `String.new`?
- I created https://github.com/ruby/ruby/pull/12548 for this.
-
06:12 PM Misc #21025: What's the default encoding of `String.new`?
- Cool, thanks for the info, I'll create a PR to improve the documentation.
-
05:22 PM Misc #21025: What's the default encoding of `String.new`?
- It's just a documentation bug.
It's always BINARY for `String.new` without args. -
04:57 PM Misc #21025 (Closed): What's the default encoding of `String.new`?
- In the documentation (https://docs.ruby-lang.org/en/3.4/encodings_rdoc.html#label-String+Encoding) I see a good explanation of default string encodings:

However, it... -
11:03 PM Revision 4d8eaa9e (git): YJIT: Rename send_iseq_forwarding->send_forwarding
- It's in gen_send_general(), so nothing specifically to do with iseqs.
-
10:36 PM Revision cde065c3 (git): Clarify documentation for encoding of `String.new` without arguments
- [Bug #21025]
-
09:39 PM Bug #20489 (Closed): Ractor behavior strange in ruby master
- Applied in changeset commit:git|50c2c4bddee5a2c5edc0d9fc0f635befdfc4bacc.
----------
Make rb_vm_insns_count a thread local variable
`rb_vm_insns_count` is a global variable used for reporting YJIT
statistics. It is a counter that talli... -
03:47 AM Bug #20489: Ractor behavior strange in ruby master
> Unfortunately, it's still not as fast as tarai(1, 1):
This may cause by a native thread and ractor thread mapping setting. Set `RUBY_MAX_CPU` to a larger number, in my 12 physic core environment, result is as faster as tarai 1 1-
01:13 AM Bug #20489: Ractor behavior strange in ruby master
- Ah I was running a non-yjit build. Good work guys, that's a weird bug for sure. The thread-local wouldn't work with ractors because native threads can run different ractors but if YJIT is disabled when you start a Ractor I don't see a pr...
-
09:39 PM Revision 50c2c4bd (git): Make rb_vm_insns_count a thread local variable
- `rb_vm_insns_count` is a global variable used for reporting YJIT
statistics. It is a counter that tallies the number of interpreter
instructions that have been executed, this way we can approximate how
much time we're spending in YJIT co... -
09:29 PM Revision 039446f6 (git): [ruby/irb] Gracefully handle incorrect command aliases
- (https://github.com/ruby/irb/pull/1059)
* Gracefully handle incorrect command aliases
Even if the aliased target is a helper method or does not exist, IRB
should not crash.
This commit warns users in such cases and treat the input as ... -
04:55 PM Bug #21024 (Closed): Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- C++ compiler in GCC 15 now generates a warning when trying to include `<cstdbool>`.
This file is being included when compiling with C++ compiler from `include/ruby/internal/stdbool.h`.
In C++, true, false and bool are keywords so inc... -
04:22 PM Revision 4a2702da (git): Remove stale declaration for modular GC
-
04:01 PM Revision eb8f29c4 (git): [rubygems/rubygems] Fix test failure when running tests with ENV["EDITOR"] set
- Can be reproduced, for example, with
```
bin/rspec spec/bundler/cli_spec.rb spec/other/cli_man_pages_spec.rb --order defined
```
https://github.com/rubygems/rubygems/commit/f57d199225 -
03:59 PM Revision 8adc96b5 (git): [ruby/date] Skip tests failing on TruffleRuby
- https://github.com/ruby/date/commit/d019ac8186
-
03:27 PM Bug #21022 (Closed): The --with-modular-gc= option is cumbersome
-
03:27 PM Bug #21022 (Open): The --with-modular-gc= option is cumbersome
- > That mentions 1-2 %. Assuming that the ultimate target is to be able to use different GC, which in theory might compensate for the performance hit, I think that could be sensible trade off
Right, I agree that it's a small performanc... -
03:23 PM Bug #21022 (Closed): The --with-modular-gc= option is cumbersome
-
09:59 AM Bug #21022: The --with-modular-gc= option is cumbersome
- peterzhu2118 (Peter Zhu) wrote in #note-2:
> > What is the intended configuration?
> ...
That mentions 1-2 %. Assuming that the ultimate target is to be able to use different GC, which in theory might compensate for the performance hit... -
03:17 PM Revision cfee3d9f (git): Revert "[MMTk/CI] Skip Ractor btests with MMTk"
- This reverts commit 58b4e249ed8d33fc78528bc77516d541c04d65f2.
The bug that it encountered was fixed in f76d40789d2c7185df26e925636827c06eda7157. -
03:17 PM Revision f1049aa5 (git): Don't check for presence of `ENV['GITHUB_WORKFLOW']`
- We already check whether `ENV['GITHUB_WORKFLOW']` is equal to `Compilations`,
so we don't need to check that it's not nil. -
11:40 AM Bug #21021: "try to mark T_NONE object" with 3.4.1
- We are not seeing the issue if we disable YJIT, but it could be a side effect.
-
08:52 AM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Thanks for your answers.
tenderlovemaking (Aaron Patterson) wrote in #note-3:
> Are you able to get a core file or a backtrace from gdb? The bug is that some object has a T_NONE reference and is trying to mark that reference. We can't ... -
11:34 AM Misc #21019: DevMeeting-2025-02-13
- * [Bug #20998] rb_str_locktmp() changes flags of frozen strings and string literals (eregon)
* Current behavior on frozen strings is buggy (should not mutate the flags of possibly-shared frozen strings).
* What should be the behavi... -
11:13 AM Bug #21023: Unintentional ruby/spec capi extension build twice
- ```
❯ make -v
GNU Make 4.4.1
Built for aarch64-apple-darwin23.0.0
```
I used gnu-make provided by homebrew. -
08:42 AM Bug #21023 (Open): Unintentional ruby/spec capi extension build twice
I faced `building spec/ruby/optional/capi/ext/` build twice sometimes like:
```
❯ make -j
revision.h updated
generating arm64-darwin24-fake.rb
arm64-darwin24-fake.rb updated
rbconfig.rb unchanged
generating encdb.h
generati...-
07:57 AM Revision c7e5dbe1 (git): Bump up logger-1.6.5 for TruffleRuby
- 07:00 AM Revision 1babff98 (git): Update bundled gems list as of 2025-01-10
-
06:02 AM Revision be6a81c8 (git): Removed benchmark, logger, ostruct and pstore from sync targets
-
05:38 AM Revision e8015ce1 (git): [ruby/syntax_suggest] Resolve to lint failure of standardrb
- https://github.com/ruby/syntax_suggest/commit/ce7b87184e
-
04:27 AM Revision a450e930 (git): Extract Benchmark.measure on assert_cpu_usage_low
-
03:52 AM Bug #20480: Complie failure for unable to configure NET_LUID using msys2 mingw64-gcc
- Finally, This configure problem is caused by a intel CPU instability problem (See `https://community.intel.com/t5/Processors/July-2024-Update-on-Instability-Reports-on-Intel-Core-13th-and/m-p/1617113`) and produce ICE. After change to a ...
-
02:10 AM Misc #21009 (Closed): Removed old archives from top-level of cache.ruby-lang.org.
- No one objected to this proposal at #20949 .
I have been removed them and snapshot-master.tar.bz2 in https://cache.ruby-lang.org/pub/ruby/snapshot/.
- 01:20 AM Revision 447f426b (git): Update bundled gems list at 503073581915761bb8b99a8e41d0a5 [ci skip]
-
01:19 AM Revision 50307358 (git): Use fixed commits for assert_in_out_err of pstore and logger
-
01:19 AM Revision fcecef77 (git): Added logger dependency for Bundler's example
-
01:19 AM Revision 31855506 (git): Make Pstore tests as optional
-
01:19 AM Revision 1089282a (git): Make benchmark exapmles as optional
-
01:19 AM Revision 3a1414a7 (git): Rewrite Benchmark to Tempfile on bootstraptest/test_ractor.rb
-
01:19 AM Revision cda268d8 (git): Make logger as bundled gems
-
01:19 AM Revision b0d3771b (git): Make benchmark as bundled gems
-
01:19 AM Revision 0c3dca62 (git): Make pstore as bundled gems
01/09/2025
-
10:33 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- There seems to be a weakmap bug that's been around since at least November 2024 that could be responsible: http://ci.rvm.jp/results/trunk-O0@ruby-sp2-noble-docker/5392991
```
rb_obj_info_dump: @)��
/tmp/ruby/src/trunk-O0/test/ruby/tes... -
08:26 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Are you able to get a core file or a backtrace from gdb? The bug is that some object has a T_NONE reference and is trying to mark that reference. We can't really tell what object has a broken reference without a core file (or possibly a...
-
05:10 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Benoit_Tigeot (Benoit Tigeot) wrote in #note-1:
> I was wrong. We still have the issue. Here is a new crash dump : [https://gist.github.com/benoittgt/f0ad6476002b2a33c30070833e1d17c5](https://gist.github.com/benoittgt/f0ad6476002b2a33c3... -
04:05 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Benoit_Tigeot (Benoit Tigeot) wrote:
> We migrated this part of the code to parallel->concurrent-ruby and we do not see the error yet again but I am a little bit worried we could see the issue again.
I was wrong. We still have the is... -
03:43 PM Bug #21021 (Closed): "try to mark T_NONE object" with 3.4.1
- Hello
We upgraded to 3.4.1 yesterday but we are seeing crash since then.
```
/bundle/ruby/3.4.0/gems/activejob-7.2.2.1/lib/active_job/enqueuing.rb:93: [BUG] try to mark T_NONE object
```
I saw the other issue related to ffi ge... -
07:14 PM Bug #20489: Ractor behavior strange in ruby master
- nekoyama32767 (Jinsong Yu) wrote in #note-10:
> tenderlovemaking (Aaron Patterson) wrote in #note-7:
> ...
Yes, I'm seeing the same thing on my x86 machine.
I tried [changing the counter to a thread local](https://github.com/ruby/ru... -
05:47 AM Bug #20489: Ractor behavior strange in ruby master
- tenderlovemaking (Aaron Patterson) wrote in #note-7:
> The regression in Ruby 3.3 came from [this commit](https://github.com/ruby/ruby/pull/8064). It seems like `rb_vm_insns_count` is still in the master branch, so it could be impactin... -
05:16 AM Bug #20489: Ractor behavior strange in ruby master
- tenderlovemaking (Aaron Patterson) wrote in #note-7:
> The regression in Ruby 3.3 came from [this commit](https://github.com/ruby/ruby/pull/8064). It seems like `rb_vm_insns_count` is still in the master branch, so it could be impactin... -
04:58 AM Bug #20489: Ractor behavior strange in ruby master
- tenderlovemaking (Aaron Patterson) wrote in #note-7:
> The regression in Ruby 3.3 came from [this commit](https://github.com/ruby/ruby/pull/8064). It seems like `rb_vm_insns_count` is still in the master branch, so it could be impacting... -
01:11 AM Bug #20489: Ractor behavior strange in ruby master
- The regression in Ruby 3.3 came from [this commit](https://github.com/ruby/ruby/pull/8064). It seems like `rb_vm_insns_count` is still in the master branch, so it could be impacting speed on 3.4 / 3.5, but I'm not sure. 3.4 is faster t...
-
12:22 AM Bug #20489: Ractor behavior strange in ruby master
- It looks like the VM loop is much slower in Ruby 3.5 than Ruby 3.2:
 -
12:04 AM Bug #20489 (Assigned): Ractor behavior strange in ruby master
- Sorry, I'm totally wrong. I misread the reproduction steps. I can reproduce this problem.
The way I tested is with this command on different Ruby tags:
`hyperfine './miniruby -v ../test.rb 1 1' './miniruby -v ../test.rb 8 8'`
... -
07:08 PM Revision f76d4078 (git): [ruby/mmtk] Enable UNIQUE_OBJECT_ENQUEUING in MMTk
- UNIQUE_OBJECT_ENQUEUING guarantees that object marking is atomic so that
an object cannot be marked more than once.
https://github.com/ruby/mmtk/commit/2f97fd8207 -
07:08 PM Revision 4ce82f1c (git): [ruby/mmtk] Bump mmtk-core to
- https://github.com/ruby/mmtk/commit/68bf1b638263
https://github.com/ruby/mmtk/commit/ba1ec69bf6 -
06:58 PM Feature #8751 (Closed): Add offsets to method#source_location
-
06:31 PM Feature #8751: Add offsets to method#source_location
- Eregon (Benoit Daloze) wrote in #note-7:
> In light of end line and column information being added in #6012 do you think there is still a need for byte offsets?
Sure, this is fine. Feel free to close issue. -
02:33 PM Feature #8751: Add offsets to method#source_location
- In light of end line and column information being added in #6012 do you think there is still a need for byte offsets?
- 06:13 PM Revision d96cc52e (git): [rubygems/rubygems] Add credentials file path to "gem env".
- There are 3 possible locations:
- $HOME/.gem/credentials
- $XDG_DATA_HOME/gem/credentials
- $HOME/.local/share/gem/credentials
https://github.com/rubygems/rubygems/commit/c51756b96e -
05:50 PM Bug #21022: The --with-modular-gc= option is cumbersome
- > What is the intended configuration?
We realize that this feature is currently cumbersome to use as it requires a compile time option, an environment variable, and a built GC library. We need the compile time option as there is a per... -
04:34 PM Bug #21022 (Closed): The --with-modular-gc= option is cumbersome
- Just experimenting a bit with the `--with-modular-gc=` if it is worth of enabling in Fedora, but I somehow cannot wrap my head around that. What is the intended configuration?
From Fedora POV, we have Ruby installed somewhere in `/usr... -
05:42 PM Feature #20971: Deprecate `rb_path_check`
- PR https://github.com/ruby/ruby/pull/12542
-
09:03 AM Feature #20971: Deprecate `rb_path_check`
- As a UNIX user from ancient time, I feel a world writable directory is too dangerous to allow. But if everyone is OK to accept the new situation (especially with virtual environments), I don't strongly object.
Matz.
-
05:34 PM Revision 2da91080 (git): [ruby/mmtk] Fix libmmtk_ruby.a building in extconf.rb
- Since libmmtk_ruby.a was a PHONY target, it caused the shared object to
not be rebuilt even though libmmtk_ruby.a was updated.
https://github.com/ruby/mmtk/commit/076f0a97a6 -
05:00 PM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- I prefer the noop solution, as it makes it a much easier to use API. But no strong opinion.
-
04:14 PM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- @nobu @byroot So do you think rb_str_locktmp() should noop on frozen strings (since they can't change anyway), or it should raise because the usage seems somewhat dubious?
I'm fine with either, I'd just like a decision so we can do the ... -
03:55 PM Feature #6012: Proc#source_location also return the column
- mame (Yusuke Endoh) wrote in #note-25:
> Matz was negative neither on adding a new class like Ruby::CodeLocation for this purpose
Any idea why? Because it seems like the "obviously correct" design so I'm curious why it was decided ag... -
02:30 PM Feature #6012: Proc#source_location also return the column
- Great to see this was accepted and even already implemented! (thanks @nobu!)
Byte offsets would be mostly for performance ("character" columns in multibyte files can be expensive to compute) and convenience (e.g. read the code at the ... -
01:21 PM Feature #6012 (Closed): Proc#source_location also return the column
- Applied in changeset commit:git|073c4e1cc712064e626914fa4a5a8061f903a637.
----------
[Feature #6012] Extend `source_location` for end position and columns -
11:51 AM Feature #6012: Proc#source_location also return the column
- This was discussed at the October 2024 dev meeting and @matz approved `source_location` to return `[path, start_line, start_column, end_line, end_column]`.
https://github.com/ruby/dev-meeting-log/blob/28e0f45f334b31e60c7e07d25b6b6cb36... -
11:26 AM Feature #6012: Proc#source_location also return the column
- I'm not sure about attributes and `Binding#source_location`.
https://github.com/ruby/ruby/pull/12539 -
03:41 PM Revision 5fab31b1 (git): Enable riscv64 coroutine on OpenBSD/riscv64
-
03:21 PM Revision 5045c666 (git): [DOC] Use Hash inspect without hash-rocket in Hash documentation (#12540)
- Co-authored-by: tomoya ishida <[email protected]>
-
03:07 PM Revision d8a21592 (git): coroutine/ppc64le: fix conditional registers got clobbered unexpectedly
- Now we also save the special cr registers during the fiber switching
-
02:49 PM Feature #21020 (Feedback): Sync sig directory for prism of default gem.
- Currently, the type signatures (RBS) for the default gem is not available.
**Prism** is the only default gem with type signatures, but this number is expected to increase in the future.
As a first step to resolving this issue, I prop... -
02:36 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- The original proposal has been accepted (adding end line and column information), see https://bugs.ruby-lang.org/issues/6012#note-25
I guess it makes sense to keep this open until `Prism.node_for` or similar is added though. -
02:21 PM Feature #20925: Allow boolean operators at beginning of line to continue previous line
- It's the same thing for method calls right?
```ruby
a = 1
.to_s
```
It changes the RHS of assignment to `1.to_s`
A boolean operators on the second line is consistent with that so I don't see a problem, since there's no backward inc... -
06:48 AM Feature #20925: Allow boolean operators at beginning of line to continue previous line
- Dan0042 (Daniel DeLorme) wrote in #note-8:
> a = b
> ...
Currently the first line in the former is complete code.
I mean that the second line will change the RHS to `b && c`. -
12:03 PM Bug #20965: `it` vs `binding.local_variables`
- We discussed this at the dev meeting. The above behavior of `p binding.local_variable_get(:_1)` is considered a bug.
Neither numbered parameters nor “it” should be considered as local variables. They should not be included in `binding#l... -
11:52 AM Misc #21019 (Closed): DevMeeting-2025-02-13
- # The next dev meeting
**Date: 2025/02/13 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-02-13.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t... -
11:52 AM Misc #20949 (Closed): DevMeeting-2025-01-09
-
11:42 AM Bug #20980 (Closed): Range#size new TypeError vs semi-open ranges
- The current behavior is intended. In principle, `#size` should return how many times `#each` will call a given block. (It could return nil as unknown.) Since beginless range does not respond to `#each`, it is now natural for `#size` to r...
-
11:36 AM Bug #20974: Required and optional anonymous parameter show differently in Proc#parameters
- Discussed at the dev meeting. @matz said that it should return `[[:opt]]` instead of `[[:opt, nil]]`.
-
11:35 AM Feature #20953: Array#fetch_values vs #values_at protocols
- Discussed at the dev meeting. @matz liked to align the behavior of Array#fetch_values with Array#values_at here in this case. So a Range should be expanded.
-
11:33 AM Bug #20920: When loading a file, __FILE__ gets relative paths expanded only when they start with "./"
- Discussed at the dev meeting. @matz suggested that we try modifying it so that only the `load "foo.rb"` case is a full path, and leave the other cases as is.
```
$ ruby foo.rb
foo.rb # This should be kept
$ ruby ./foo.rb
./foo... -
11:26 AM Feature #20987: Add dbg - minimal debugging helper
- This proposal was discussed in the dev meeting.
@matz said that, while adding a new method or changing the default behavior of `Kernel#p` is unacceptable, some kind of switch could be considered to make `Kernel#p` output the filename.... -
11:21 AM Revision 073c4e1c (git): [Feature #6012] Extend `source_location` for end position and columns
-
10:55 AM Bug #21018 (Closed): Show invalid command line option more properly
- Applied in changeset commit:git|dfe6b7c02efa3bc2f5426eb64107ac0ac45a66a4.
----------
[Bug #21018] Show invalid command line option more properly -
10:26 AM Revision dfe6b7c0 (git): [Bug #21018] Show invalid command line option more properly
-
10:24 AM Revision d44a41d8 (git): Add `rb_node_get_type` for debuggers
-
10:14 AM Feature #21015: Add in a `-g` flag, like `-s` but with a few more quality of life features
- I like the basic idea of this proposal. But, I am against:
* `-g` option name. `-s` is relatively unpopular. Even with the proposed improvement, this is kinda old-fashioned way to parse command-line options. I don't want to consume pr... -
09:24 AM Revision 6069e8fe (git): Refactor for loop handling to simplify do keyword location assignment
-
09:24 AM Revision 7790aa89 (git): Use Named Reference
-
09:24 AM Revision c7213011 (git): Implement FOR NODE locations
- The following Location information has been added This is the information required for parse.y to be a universal parser:
```
❯ ruby --parser=prism --dump=parsetree -e "for a in b do end"
@ ProgramNode (location: (1,0)-(1,17))
+-- locals... -
04:53 AM Revision 84155524 (git): [DOC] Show `NONE` within `Measure` namespace (#12274)
- Keep `NONE` within `Measure`
-
04:22 AM Feature #20993 (Rejected): Allow `class <constant-path> = <expression>` syntax
- This is a too trivial issue to add new syntax. I suggest the following (I know the difference, but it works OK, doesn't it?)
```ruby
MyStruct = Struct.new(:foo, :bar)
class MyStruct
...
end
# or
class MyStruct < Struct.new... -
12:47 AM Bug #20997 (Closed): YJIT panic assertion `left == right` failed: leave instruction expects stack size 1, but was: 2
- Applied in changeset commit:git|dd80d9b089e35729d585bae2f8866c845c48f3b7.
----------
YJIT: Filter `&` calls from specialized C method codegen
Evident with the crash reported in [Bug #20997], the C replacement
codegen functions aren't a... -
12:41 AM Bug #20997: YJIT panic assertion `left == right` failed: leave instruction expects stack size 1, but was: 2
- Thanks for the report! Everything being available rubygems helped with diagnosis. A fix for this should land soon-ish.
For backporters: The underlying issue is present on all versions since 3.2, but the set of methods that trigger the... -
12:47 AM Revision dd80d9b0 (git): YJIT: Filter `&` calls from specialized C method codegen
- Evident with the crash reported in [Bug #20997], the C replacement
codegen functions aren't authored to handle block arguments (nor
should they because the extra code from the complexity defeats
optimization). Filter sites with VM_CALL_A...
01/08/2025
-
11:27 PM Bug #20489 (Feedback): Ractor behavior strange in ruby master
- I also can't seem to reproduce this:
```
[aaron@tc-lan-adapter ~/g/ruby (master)]$ time ruby -v test.rb 8 8
ruby 3.3.4 (2024-07-16 revision 425e468d25) [arm64-darwin23]
[0...1, 1...2, 2...3, 3...4, 4...5, 5...6, 6...7, 7...8]
test... -
10:01 PM Bug #20489: Ractor behavior strange in ruby master
- For me the runtime goes up a lot when I increase # of ractors when `VM_CHECK_MODE > 0`, but in non-debug mode it runs well. Also, right now the native thread # used for non-main ractors is capped at 8 because we don't actually probe the ...
-
08:42 PM Revision 96f23306 (git): [ruby/prism] Revert "Reject pattern match with unexpected double splat inside array"
- https://github.com/ruby/prism/commit/51e7c84124
-
08:36 PM Revision c4534c9f (git): [ruby/prism] Handle escapes in named capture names
- https://github.com/ruby/prism/commit/b4b7a69ce7
-
06:50 PM Misc #20949: DevMeeting-2025-01-09
- * [Feature #21015] Add in a `-g` flag, like `-s` but with a few more quality of life features (sampersand2)
* There's a hole in ruby for very simple argument processing to very short scripts (<=10 lines.)
* The `-s` flag somewhat f... -
05:33 PM Revision 36b6625b (git): Refactor `parse_isalnum` and `parse_isxdigit` to use macro
-
05:24 PM Bug #21012 (Closed): Compiling `a['a','b'],=1` with parse.y fails
- Applied in changeset commit:git|e0d600ec190c64aff76cfcbd6009cffb927da166.
----------
Avoid opt_aset_with optimization inside multiple assignment
Previously, since the opt_aset_with optimization was introduced,
use of the opt_aset_with ... -
01:38 AM Bug #21012: Compiling `a['a','b'],=1` with parse.y fails
- I've submitted a PR that should fix this: https://github.com/ruby/ruby/pull/12528
-
05:23 PM Revision 500a8775 (git): [ruby/prism] Reject pattern match with unexpected double splat inside array
- `a => [-2**b]` should be SyntaxError
Fixes: https://github.com/ruby/prism/issues/3381
https://github.com/ruby/prism/commit/ae8e83b389 -
05:22 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- Eregon (Benoit Daloze) wrote in #note-14:
> Maybe CRuby does not currently preserve the information of end line and start/end column for procs and methods?
I think we do, but I can investigate. IIRC it's on the InstructionSequence o... -
02:15 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- Eregon (Benoit Daloze) wrote in #note-3:
> If it's a new method, I think we should return a "code location" object (could be `Ruby::CodeLocation` or `Ruby::Location` or `Ruby::SourceLocation` or so) and have the following methods (inspi... -
10:24 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- It's very important that this new feature does not expect users to use `RubyVM::InstructionSequence` or anything under `RubyVM` since `RubyVM` is CRuby-only.
The feature itself is possible on any Ruby implementation.
So something like `... -
04:55 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- mame (Yusuke Endoh) wrote in #note-12:
> tenderlovemaking (Aaron Patterson) wrote in #note-11:
> ...
I agree. The problem is that `RubyVM::AST` is built in to Ruby, so it has access to `rb_iseq_t` members. Prism cannot access fields o... -
01:24 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- > I think you are proposing adding the .node_for implementation to Prism?
Yes.
> ...
`Prism.node_for` is my proposal, but the others are not my proposal but what Prism already provides.
```ruby
require "prism"
node = Prism.pa... -
12:49 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- Also just to be clear, I don't think the code I pasted above is _nice_ code, but it does work after the Prism bug is addressed.
In particular this line is pretty heavy:
```ruby
node_id = iseq.to_a[4][:node_id]
```
I think we s... -
12:40 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- It seems like a very similar solution to what @mame is proposing was merged at one point as Feature #14836. It seems `RubyVM::AST` doesn't exist anymore, but it should be possible to do something similar.
For example, this code _shou... -
04:49 PM Revision e0d600ec (git): Avoid opt_aset_with optimization inside multiple assignment
- Previously, since the opt_aset_with optimization was introduced,
use of the opt_aset_with optimization inside multiple assignment
would result in a segfault or incorrect instructions.
Fixes [Bug #21012]
Co-authored-by: Nobuyoshi Nakada... -
04:17 PM Revision e7281700 (git): [ruby/rdoc] Finalize RDoc::Options before calling
- RDoc::RDoc#parse_files
(https://github.com/ruby/rdoc/pull/1274)
Commit https://github.com/ruby/rdoc/commit/6cf6e1647b97, which went to v6.5.0, changed `RDoc::Options#parse`
to not call `#finish` in it. While the commit adjusted other ca... -
02:36 PM Feature #21000: A way to avoid loading constant required by a type check
- Eregon (Benoit Daloze) wrote in #note-12:
> Maybe a new method or kwarg to `const_get` which has some special behavior regarding autoload (to not trigger them)?
That sounds good to me. What about `Object.const_dig(:JSON, :JSON_LOADED... -
09:55 AM Feature #21000: A way to avoid loading constant required by a type check
- IMO the pattern is not frequent enough to justify adding new syntax for this or breaking compatibility.
In https://pastebin.com/VGfjRWNu many cases are actually not classes, e.g. `defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED`, ... -
01:46 AM Feature #21000: A way to avoid loading constant required by a type check
- If you just want to avoid repetition and don't care autoload, I found a good (and magical) way to do it.
```ruby
class TrueClass
def true?
end
end
if defined?(obj.is_a?(NameSpace::ClassName).true?)
# obj is a NameSpace::... -
02:11 PM Revision 62a15280 (git): Pass allocation size to rb_imemo_new
- This would allow imemo to take advantage of VWA and allocate sizes larger
than RVALUE (40 bytes). -
12:35 PM Bug #21018 (Closed): Show invalid command line option more properly
- Currently the invalid command line option character is printed as-is.
This makes the error message confusing sometimes.
```console
$ ruby -$'\rx'
(-h will show valid options) (RuntimeError)
$ ruby -$'\U1f608'
ruby: invalid ... -
09:41 AM Bug #21017 (Closed): `--with-parser=parse.y` configure option does not work
- Applied in changeset commit:git|051af9529b03c11aff8f6a09522c69983e3a9d72.
----------
[Bug #21017] Fix `--with-parser` configure option -
08:15 AM Bug #21017 (Closed): `--with-parser=parse.y` configure option does not work
-
08:26 AM Revision 051af952 (git): [Bug #21017] Fix `--with-parser` configure option
- 08:12 AM Revision 3c3bde64 (git): Update bundled gems list at ad5fa24e84be97212ef2d876308602 [ci skip]
-
08:12 AM Revision ad5fa24e (git): Skip examples related with OpenStruct in ruby/spec
-
08:12 AM Revision a4528f60 (git): Omit Psych_Unit_Tests if ostruct is not available
-
08:12 AM Revision 599a0601 (git): Switch to use ostruct to open3 with suggestion test
-
08:12 AM Revision 9f5ca633 (git): Refactor to omit JSON::GenericObject tests
-
08:12 AM Revision 6bff923d (git): Rewrite OpenStruct to dummy response class
-
08:12 AM Revision 4da545dd (git): Use erb instead of ostruct for test_frozen_loaded_features
-
08:12 AM Revision 574bfd28 (git): Update documents for ostruct
-
08:12 AM Revision adb4029b (git): Removed logger from stub data
-
08:12 AM Revision 32fb364d (git): Replace target list with stub constants at example of bundled_gems.rb
-
08:12 AM Revision 5f4be3ad (git): Make ostruct as bundled gems
-
08:12 AM Revision d722bdcf (git): Convert ostruct to openstruct
-
07:56 AM Misc #21009: Removed old archives from top-level of cache.ruby-lang.org.
- I think we can remove `snapshot-master.tar.bz2` in <https://cache.ruby-lang.org/pub/ruby/snapshot/> too.
`snapshot-ruby_2_*` and `snapshot-ruby_3_0.*` may need considerations.
(They might have included changes after last release.) -
06:13 AM Feature #21015: Add in a `-g` flag, like `-s` but with a few more quality of life features
- For the record, I love this and want it very badly.
I advocated for `-ss` to mean "an extension of `-s`", much like some CLIs do `-vv` to mean "more verbose". This would mean "more switches"... Since `sflag` is already an integer and ... -
02:22 AM Feature #21015: Add in a `-g` flag, like `-s` but with a few more quality of life features
- sampersand2 (Sam Westerman) wrote:
> # Prior art
> ...
Inversion. Ruby borrowed it from Perl. -
01:50 AM Feature #21015 (Open): Add in a `-g` flag, like `-s` but with a few more quality of life features
- Add in a `-g` flag, like `-s` but with a few more QOL features
## TL;DR
([PR](https://github.com/ruby/ruby/pull/12526).)
Ruby's `-s` flag has quite a few shortfalls that make it difficult to use when writing scripts . A new `-g` f... -
05:13 AM Bug #21011 (Closed): Constant massign segfaults in parse.y with shareable_constant_value: experimental_everything
- Applied in changeset commit:git|b81db531b24a6824bf5b89d8460baed5d5418835.
----------
[Bug #21011] `nd_value` is NULL in massign -
02:52 AM Bug #21011: Constant massign segfaults in parse.y with shareable_constant_value: experimental_everything
- Even with prism:
```ruby
# shareable_constant_value: experimental_everything
A, = ""
p A.frozen? #=> false
```
This `A` should be frozen?
Furthermore:
```ruby
# shareable_constant_value: experimental_everything
A, a = "A"... -
05:11 AM Revision 3e6f5ead (git): Reapply "Suppress WIN32OLE deprecation warnings for the time being"
- Revert the part of commit 10917c5cc026f839a3dcd072b6e274eed211d0f7,
"Update to ruby/spec@18032a7", that discarded the previous commit. -
04:55 AM Bug #20992 (Closed): `eval(ascii_encoded_code)` raises EncodingError when multibyte local variable exists
- Applied in changeset commit:git|1a06bee027d5c5b65ed0aaee76ee0040554d4efd.
----------
Do not intern invalid symbols in eval parse
When the inner code cannot represent the name of the locals in the
outer code, do not bother putting them ... -
04:26 AM Revision b81db531 (git): [Bug #21011] `nd_value` is NULL in massign
-
03:30 AM Revision 1a06bee0 (git): Do not intern invalid symbols in eval parse
- When the inner code cannot represent the name of the locals in the
outer code, do not bother putting them into the constant pool as
they will not be referenced.
Fixes [Bug #20992]
Co-authored-by: Nobuyoshi Nakada <[email protected]> -
03:11 AM Bug #21016: What should massign with `shareable_constant_value: experimental_everything` freeze?
- Yeah we found this when we were building prism (https://bugs.ruby-lang.org/issues/20340). I don't know what the expected behavior here is.
-
02:56 AM Bug #21016 (Closed): What should massign with `shareable_constant_value: experimental_everything` freeze?
- Derived from #21011.
Even with prism:
```ruby
# shareable_constant_value: experimental_everything
A, = ""
p A.frozen? #=> false
```
This `A` should be frozen?
Furthermore:
```ruby
# shareable_constant_value: experimenta... -
02:55 AM Revision 27c9ccb3 (git): Also stub-out with directry using with test script or -e option
-
02:55 AM Revision 4a02a72c (git): Dont't use stub constants like LIBDIR in bundled_gems.rb
-
02:55 AM Revision aaf36f4f (git): Use heredoc to script runner for another ruby process
-
01:48 AM Revision 18f756e4 (git): Remove unnecessary semantic actions
- If you don’t specify an action for a rule, Lrama supplies a default: `$$ = $1`.
-
01:46 AM Revision 76759003 (git): Introduce macro for creating child iseqs with callbacks
- Use macro like `NEW_ISEQ` and `NEW_CHILD_ISEQ`.
-
01:08 AM Bug #21014 (Closed): Prism doesn't set node_id on iseqs correctly
- Applied in changeset commit:git|63723c8d5908569918fb27e070ae5bc9de33c8bd.
----------
Correctly set node_id on iseq location
The iseq location object has a slot for node ids. parse.y was correctly
populating that field but Prism was no... -
12:36 AM Bug #21014: Prism doesn't set node_id on iseqs correctly
- Fix sent here: https://github.com/ruby/ruby/pull/12527
-
12:35 AM Bug #21014 (Closed): Prism doesn't set node_id on iseqs correctly
- Given this code:
```ruby
f = proc { <<END }
heredoc
END
iseq = RubyVM::InstructionSequence.of(f)
p iseq.to_a[4][:node_id]
```
Output on parse.y:
```
$ ./miniruby --parser=parse.y test.rb
3
```
Output on Prism:
... -
01:08 AM Revision 63723c8d (git): Correctly set node_id on iseq location
- The iseq location object has a slot for node ids. parse.y was correctly
populating that field but Prism was not. This commit populates the field
with the ast node id for that iseq
[Bug #21014] -
12:36 AM Bug #21010 (Closed): Endless method definition of `[]=` is SyntaxError in parse.y but allowed in Prism
-
12:00 AM Bug #21013 (Closed): Backport request for YJIT fix for `yield` with keyword arguments
- GitHub PR: https://github.com/ruby/ruby/pull/12525
The patch applies cleanly.
Programs like the following used to crash when run with YJIT:
```ruby
def a = yield(x: 0)
1000.times { a { |x:| x } }
```
01/07/2025
-
10:17 PM Revision 4a78d740 (git): [ruby/mmtk] Remove unused Ruby SHA reference in Cargo.toml
- https://github.com/ruby/mmtk/commit/02b9439ea6
-
08:28 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- > But if we decide with returning a new class, instead of just retunring a longer array, I think the better API would be another method entirely.
Yes, I agree with that. `caller` and `caller_location` are also different methods. I don... -
08:04 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- > Ugh, yes. What about [keyword argument] instead?
I think it may be a bit much.
But if we decide with returning a new class, instead of just retunring a longer array, I think the better API would be another method entirely.
Per... -
03:23 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- **Yusuke**: I went hunting for the `Prism.node_for` method/documentation but couldn't find it. If I understand you correctly, I think you are proposing adding the `.node_for` implementation to Prism? If so, I like the detailed informatio...
-
11:12 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- > I think adding end line and start/end columns is a straightforward and compatible extension of source_location.
I fear it may break code that splats the array, e.g.:
```ruby
some_method(*proc.source_location)
```
So perhaps ... -
08:51 AM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- I read the use case for #20999.
In short, by the following DSL,
```ruby
class Demo
include Initable[[:key, :default, proc { Object.new }]]
end
```
you want to generate the following code string, right?
```ruby
def init... -
08:15 PM Bug #21012: Compiling `a['a','b'],=1` with parse.y fails
- From testing some historical versions on my system:
For: `a['a','b'],=1`
* Ruby 1.9-2.5: No segfault, looks to be correct instructions
* Ruby 2.6-3.1: Segfault
* Ruby 3.2: No segfault, but incorrect instructions
* Ruby 3.3-3.4: ... -
06:43 PM Bug #21012 (Closed): Compiling `a['a','b'],=1` with parse.y fails
- Compiling this code with parse.y fails with segmentation fault.
~~~ruby
a['a','b'],=1
~~~
Compiling `a['a',x],=1` generates instruction sequence that wrong contains `opt_aset_with`.
~~~
$ ruby --parser=parse.y --dump=insn -e "a... -
07:35 PM Revision ad96c5a7 (git): [ruby/prism] Throw syntax error for endless method with `[]=`
- Prism shoudld throw a syntax error for endless methods when the method
name uses brackets. Previously it would not. This matches the behavior
of parse.y.
Fixes https://bugs.ruby-lang.org/issues/21010
https://github.com/ruby/prism/commi... -
07:21 PM Bug #21010: Endless method definition of `[]=` is SyntaxError in parse.y but allowed in Prism
- Fixed in https://github.com/ruby/prism/pull/3377
-
02:44 PM Bug #21010 (Closed): Endless method definition of `[]=` is SyntaxError in parse.y but allowed in Prism
- These codes is SyntaxError in parse.y but accepted in Prism
~~~ruby
def []=(k,v)=1
def obj.[]=(k,v)=1
~~~
These are both SyntaxError in parse.y and Prism by design.
~~~ruby
# invalid method name; a setter method cannot be define... -
06:43 PM Feature #21000: A way to avoid loading constant required by a type check
- After some further thought, I believe the fourth idea could work if autoload constants simply returned "constant". Because if a constant isn’t yet autoloaded, no objects of that type can exist. To recap:
```ruby
defined?(NothingHere)... -
04:25 PM Feature #21000: A way to avoid loading constant required by a type check
- Dan0042 (Daniel DeLorme) wrote in #note-8:
> I hadn’t accounted for how `defined?` should behave with an autoloaded constant. [@Eregon (Benoit Daloze)](/users/772) mentioned `p defined?(Foo) # nil` but it actually returns "constant", whi... -
03:56 PM Feature #21000: A way to avoid loading constant required by a type check
- mame (Yusuke Endoh) wrote in #note-7:
> When you create a ticket, please state clearly the problem you wish to solve.
> ...
Therefore, I want a way to write a decision similar to this idiom without writing the constant name twice. Prefe... -
10:18 AM Feature #21000: A way to avoid loading constant required by a type check
- When you create a ticket, please state clearly the problem you wish to solve.
Here is my understanding. You see *two* problems with the following idiom
```ruby
if defined?(Foo) and obj.is_a?(Foo)
```
* This idiom fires autoloa... -
06:22 PM Bug #21011 (Closed): Constant massign segfaults in parse.y with shareable_constant_value: experimental_everything
- This code segfaults with parse.y
~~~ruby
# shareable_constant_value: experimental_everything
A,=1
~~~
~~~
$ ruby --parser=parse.y
# shareable_constant_value: experimental_everything
A,=1
-: [BUG] Segmentation fault at 0x000000... -
04:01 PM Revision d0f9f3e2 (git): Remove IMEMO_DEBUG
- The code path hasn't compiled for almost a year, since 330830dd1a44b6e497250a14d93efae6fa363f82,
so probably nobody uses it. -
03:57 PM Revision b9d29912 (git): [ruby/reline] Update to Unicode 16.0.0
- (https://github.com/ruby/reline/pull/803)
https://github.com/ruby/reline/commit/24e6128676 -
03:37 PM Revision 2b713f08 (git): [ruby/mmtk] Bump mmtk-core version
- https://github.com/ruby/mmtk/commit/0de72c03ba
-
02:44 PM Bug #20978: Ractor[]/Thread[]/Fiber[] behavior difference
- > Why would anyone want to use strings for this API, if it's going to be converted to Symbol internally anyway and so slower than using the Symbol?
TBH, I’d, too, rather expect only Symbols to work for such “system programming” (so to... -
02:28 PM Bug #20978: Ractor[]/Thread[]/Fiber[] behavior difference
- IIRC it was actually intentional to only allow symbols, as this makes it much more feasible to e.g. represent Fiber storage as object shapes.
This was discussed on the ticket adding Fiber storage.
Strings are not always interned, and... -
02:25 PM Revision 60f235ab (git): [ruby/prism] Move a parser translator test to a known failure
- That issue is exactly about what this test file contains:
A single-quoted heredocs with backslashes
https://github.com/ruby/prism/commit/4820a44c7b -
02:25 PM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
- > > Is there a real-world use case to make a String with a pointer allocated outside of xmalloc?
> ...
Yes, it would be easiest for Nokogiri if non-xmalloc string pointers were supported, but if it was decided to not support this, I wou... -
09:44 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
- > It need not only free function but also realloc function
Maybe I wasn't clear, but I my suggestion is to only use the `free` function to detect if it's compatible with `ruby_xfree`, which we presumbably can know at compile time, so ... -
08:23 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
- Thanks for the benchmark. I briefly talked about this with @nobu, @akr, and @ko1.
The approach of passing a pointer to the `free` function looks a bit too over-the-top, @nobu said.
It need not only `free` function but also `realloc` ... -
11:30 AM Revision 271cdb3c (git): Quarantine failing new specs that require investigation
-
11:30 AM Revision 10917c5c (git): Update to ruby/spec@18032a7
-
10:36 AM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- > It seems clearly wrong that two threads using Zlib with a frozen String literal (which happens to have the same contents/characters for both threads) would fail with temporal locking already locked string (RuntimeError) though.
That... -
06:17 AM Bug #20929 (Open): TestTime have an assertion different from current implementation.
-
06:12 AM Feature #20960 (Third Party's Issue): Support building OpenSSL for Ruby with AWS-LC
- We moved to discuss this on https://github.com/ruby/openssl/issues/833
-
06:10 AM Feature #20818 (Feedback): Allow passing a block to Hash#store (to update current value)
-
05:52 AM Misc #21009 (Closed): Removed old archives from top-level of cache.ruby-lang.org.
- https://cache.ruby-lang.org/pub/ruby/ has `ruby-1.8` to `ruby-2.6` and old versions of snapshot built by 2020.
That archives also stored under like `1.8` directory. We can remove them because Ruby 2.6 was already EOL about 3 years ago... -
04:50 AM Bug #21008 (Closed): Array#sum, Enumerator#sum, Numeric subclass
- Applied in changeset commit:git|b176d4f52e4af67654814dab3e9c5f4bf9170e54.
----------
[Bug #21008] Normalize before sum to float
After switching to `Float`-mode when summing `Numeric` objects,
normalization for `Float` is still needed. -
02:50 AM Bug #21008: Array#sum, Enumerator#sum, Numeric subclass
- https://github.com/ruby/ruby/pull/12522
-
04:29 AM Revision 36d5e2d8 (git): [DOC] Fix `exclude:` as regexps
-
04:21 AM Revision f756950d (git): Improve lookup tables for string escaping.
- Introduce a simplified table for the most common case, which is
`script_safe: false, ascii_only: false`.
On the `script_safe` table, now only `0xE2` does a multi-byte check.
Merge back `convert_ASCII_to_JSON`, as it no longer help much... -
02:38 AM Revision b176d4f5 (git): [Bug #21008] Normalize before sum to float
- After switching to `Float`-mode when summing `Numeric` objects,
normalization for `Float` is still needed. -
12:56 AM Revision e9593eb9 (git): [DOC] Fix an error example
- `%q{c}` after another string literal is parsed as RHS of modulo, `q`
method call with a block. - 12:53 AM Revision be4567e1 (git): [ruby/rdoc] Add missing `RDoc::RubygemsHook` API for `gem server`
- (https://github.com/ruby/rdoc/pull/1270)
This PR fixes https://github.com/ruby/rdoc/pull/1269.
## Expected Behavior
`gem server` command is successful.
```console
$ gem server
Server started at http://[::]:8808
Server started at http...
01/06/2025
-
11:20 PM Bug #21008 (Closed): Array#sum, Enumerator#sum, Numeric subclass
- The following code seems to show a bug or 'quirk'. When using a Numeric subclass, `Array#sum` works correctly, but `Enumerator#sum` does not. They both work fine when using a `Float`.
```ruby
class Length < Numeric
def initializ... -
11:00 PM Revision 9bbcbc3f (git): glibc and musl didn't provide A1-A7, FP and S3-S8 constants.
- * https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/loongarch/sys/ucontext.h
* https://git.musl-libc.org/cgit/musl/tree/arch/loongarch64/bits/signal.h -
10:56 PM Revision 89c505dc (git): Move string escape sequence documention further down
- If someone looks at documention for strings,
I don't think escape sequences is what they look
for in majority of the cases. -
10:56 PM Revision b0d291ec (git): Fix link to strings in literals.rdoc
- Since https://github.com/ruby/ruby/commit/5e1001f754b34e1f0cc67563512c6036b6eb75ab, the string link is broken
Instead of changing the anchor reference, I changed the header directly,
to keep in line with other titles -
10:34 PM Bug #21007: Ractor scheduler issue when multiple threads in a ractor
- PR here: https://github.com/ruby/ruby/pull/12521
Edit: This is getting fixed by a separate PR because someone else noticed this issue too.
That PR is here: https://github.com/ruby/ruby/pull/12094 and should land soon (hopefully). -
10:13 PM Bug #21007 (Closed): Ractor scheduler issue when multiple threads in a ractor
- When there are multiple threads in a ractor, these threads can get in a state where they are yielding every 10ms instead of every 100ms.
This occurs because in `thread_sched_switch0`, which is called by `thread_sched_switch`, `ruby_th... -
10:18 PM Revision b3de2c33 (git): Use `ISEQ_BODY(iseq)` instead of `iseq->body`
- trivial change that unifies the format for access.
-
10:17 PM Revision de8deb5f (git): Remove unused token definitions for `tRPAREN` in Ripper and parser files
-
09:55 PM Bug #20905: Ruby VM hangs while using ractors
- I took a look at this, and it occurs due to an issue in the ractor and thread scheduler. Sometimes a ractor is not enqueued when it should be, therefore all native threads are blocked on `ractor_sched_deq` and they can't continue even if...
-
08:20 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- Yeah, eager to see what the consensus on this becomes from the next dev meeting.
I like the idea of a `Ruby::SourceLocation` or even a `Ruby::Source` object? The latter would be nice because you could message the instance as `source.cod... -
02:39 PM Feature #21005: Update the source location method to include line start/stop and column start/stop details
- I think adding end line and start/end columns is a straightforward and compatible extension of `source_location`.
I will add that to the dev meeting agenda: https://bugs.ruby-lang.org/issues/20949
Changing to return a Hash (or an Array ... -
08:06 PM Bug #21006 (Closed): `defined?((receiver).method)` raises Stack consistency error
- Applied in changeset commit:git|8fb17f86d7ef2a84f82c83a9509e311a07aa93fc.
----------
[Bug #21006] Fix defined_expr compilation of method call with parenth… (#12518)
[Bug #21006] Fix defined_expr compilation of method call with parenthe... -
07:19 PM Bug #21006: `defined?((receiver).method)` raises Stack consistency error
- https://github.com/ruby/ruby/pull/12518
-
07:17 PM Bug #21006 (Closed): `defined?((receiver).method)` raises Stack consistency error
- ~~~
$ ruby -ve "defined?((foo).bar)"
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +MN +PRISM [arm64-darwin22]
-e:1: warning: possibly useless use of defined? in void context
-e:1: [BUG] Stack consistency error (sp: 7, bp: 6)
~~~ -
08:06 PM Revision 8fb17f86 (git): [Bug #21006] Fix defined_expr compilation of method call with parenth… (#12518)
- [Bug #21006] Fix defined_expr compilation of method call with parenthesized receiver
-
07:21 PM Revision 5698f4f2 (git): [ruby/reline] Enter newline if cursor position is middle of input
- (https://github.com/ruby/reline/pull/802)
* Enter newline if cursor position is middle of input
* Add ed_force_submit to allow input confirmation on non-final lines
https://github.com/ruby/reline/commit/8ef534e904 -
06:18 PM Bug #21001 (Closed): unexpected nil result from proc with ensure and next
- Applied in changeset commit:git|31905d9e23ec6d1fa2a52f1ef2533f2056e7c9fb.
----------
Allow escaping from ensures through next
Fixes [Bug #21001] -
06:18 PM Revision 31905d9e (git): Allow escaping from ensures through next
- Fixes [Bug #21001]
-
05:07 PM Revision a61c16ba (git): [ruby/openssl] pkey: simplify X25519/Ed25519 test cases
- When these test cases were written, we did not know the exact OpenSSL
and LibreSSL version number in which they would be implemented. Now that
we know it, we can use that information to ensure the tests are run
whenever they should be.
... -
05:07 PM Revision 3da85010 (git): [ruby/openssl] pkey: fix test case for new_raw_*key
- Method names must start with "test_" to run.
https://github.com/ruby/openssl/commit/fed9d09b76 -
05:07 PM Revision ff708f86 (git): [ruby/openssl] pkey/ec: use heredoc for invalid key example in test cases
- test/openssl/fixtures/pkey/p256_too_large.pem and p384_invalid.pem are
invalid keys where the encoded public key doesn't match the private key.
They are only useful for test cases for OpenSSL::PKey::EC#check_key and
will not be reused el... -
05:07 PM Revision f0095413 (git): [ruby/openssl] x509cert: simplify test cases for Certificate.load_file
- Remove files from test/openssl/fixtures/pkey/ which are not pkeys.
The test cases for OpenSSL::X509::Certificate.load_file can simply use
issue_cert and Tempfile.
https://github.com/ruby/openssl/commit/11216b8bec -
02:41 PM Misc #20949: DevMeeting-2025-01-09
- * [Feature #21005] Update the source location method to include line start/stop and column start/stop details (eregon)
* How about adding end line and start/end columns to `#source_location`? It seems straightforward and compatible.
... -
02:32 PM Feature #21000: A way to avoid loading constant required by a type check
- While these semantics make a certain sense, the opposite also makes just as much sense. If `Foo` is not yet autoloaded, that means neither `Foo` nor `Foo::Bar` are yet defined, and it makes sense to return falsy for both. At the very lea...
-
02:26 PM Feature #21000: A way to avoid loading constant required by a type check
- I'm unsure, I suppose it could be a compatibility concern.
If you want to know if `Foo::Bar` exists and `Foo` is an autoload the only way to know is to load Foo and see if it has a constant `Bar`.
So while surprising these semantics do m... -
01:32 PM Feature #21000: A way to avoid loading constant required by a type check
- Eregon (Benoit Daloze) wrote in #note-2:
> So `defined?(Foo::Bar)` will actually try to load `Foo`.
It would be a good idea to fix that right? -
09:40 AM Feature #21000: A way to avoid loading constant required by a type check
- `defined?` so far always returned `nil` or frozen strings, so I think it's not so great to use for this.
Also `defined?` is particularly error-prone for constants & autoloading, for instance:
```
$DEBUG = true # to show swallowed except... -
02:17 AM Feature #21000: A way to avoid loading constant required by a type check
- Dan0042 (Daniel DeLorme) wrote:
> ### defined?(mod) returns mod if it's a class/module
> ...
I like this, but we will need to consider the incompatibility and inconsistency with other constants.
-
02:04 PM Revision 5412501e (git): [ruby/openssl] pkey: Use openssl generated pkcs8 key instead
- https://github.com/ruby/openssl/commit/6a6fac9958
-
12:45 PM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- https://github.com/ruby/ruby/blob/975461bf885b8fb791cf048ad39c79924d28e4e9/ext/zlib/zlib.c#L1056 but I'm not quite sure how that String is used.
It seems clearly wrong that two threads using Zlib with a frozen String literal (which happ... -
12:37 PM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- @byroot but that's mutating the string, @nobu is asking for a case not mutating the string, which I think there is none.
EDIT: I read too fast, "write a given string into a socket" does not imply mutating the string. -
09:56 AM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- Actually yes, I think it's not an uncommon use case?
e.g. if you need to write a given string into a socket or something like that, you may want to lock it to ensure a concurrent thread won't modify it.
I think `zlic.c` uses it thi... -
09:34 AM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- I'm not aware of any such case, and `.freeze` seems much better for that use case.
-
02:21 AM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
- There isn’t a case that locking a string just to avoid being modified or moved, but not to mutate it?
-
11:17 AM Revision 975461bf (git): Remove SYM2ID for Parser
- Ruby Parser not used SYM2ID.
And sym2id property can be removed from Universal Parser. -
10:49 AM Revision e0591b66 (git): Launchable: Exit 0 not to stop CI pipeline (#12449)
-
10:48 AM Bug #21002: Please include license information of turbo_tests
- I fixed this at https://github.com/ruby/ruby/commit/668701cb0b42f27c5f54309a358c6fcbb24b5d85
-
10:27 AM Bug #21002 (Closed): Please include license information of turbo_tests
-
05:35 AM Bug #21002 (Assigned): Please include license information of turbo_tests
-
09:41 AM Feature #20999 (Rejected): Add RubyVM object source support
-
09:39 AM Revision 54bd5e03 (git): Try to update the latest version of vcpkg
-
09:39 AM Revision 49d8384e (git): Update vcpkg baseline with latest version
- ```
libffi:[email protected]
libyaml:[email protected]#5
openssl:[email protected]
* vcpkg-cmake:x64-windows@2024-04-23
* vcpkg-cmake-config:x64-windows@2024-05-23
* vcpkg-cmake-get-vars:x64-windows@2024-09-22
zlib:... -
09:11 AM Revision 668701cb (git): Added copyright for vendored turbo_tests.
- [Bug #21002]
- 07:19 AM Revision 70decc85 (git): [rubygems/rubygems] Update SPDX license list as of 2024-12-30
- https://github.com/rubygems/rubygems/commit/42aaaff15c
- 06:41 AM Revision 7ec233c8 (git): Fix typo for private constant in Socket
- Signed-off-by: Raul Gutierrez Segales <[email protected]>
-
01:51 AM Bug #20977 (Closed): backtick is used for syntax errors related to 'it'
- 01:50 AM Revision c8e3d745 (git): Use a single quote instead of a backtick for error messages
- Fix https://bugs.ruby-lang.org/issues/20977
- 01:20 AM Revision 8a9f1e60 (git): [ruby/logger] Provide a 'Changelog' link on rubygems.org/gems/logger
- By providing a 'changelog_uri' in the metadata of the gemspec a
'Changelog' link will be shown on https://rubygems.org/gems/logger
which makes it quick and easy for someone to check on the changes
introduced with a new version.
Details ... - 01:19 AM Revision 80b01cc5 (git): [ruby/net-http] Provide a 'Changelog' link on rubygems.org/gems/net-http
- By providing a 'changelog_uri' in the metadata of the gemspec a
'Changelog' link will be shown on https://rubygems.org/gems/net-http
which makes it quick and easy for someone to check on the changes
introduced with a new version.
Detail... - 01:19 AM Revision ce09b43a (git): [ruby/ostruct] Provide a 'Changelog' link on rubygems.org/gems/ostruct
- By providing a 'changelog_uri' in the metadata of the gemspec a
'Changelog' link will be shown on https://rubygems.org/gems/ostruct
which makes it quick and easy for someone to check on the changes
introduced with a new version.
Details... - 01:19 AM Revision 3b659457 (git): [ruby/securerandom] Provide a 'Changelog' link on rubygems.org/gems/securerandom
- By providing a 'changelog_uri' in the metadata of the gemspec a
'Changelog' link will be shown on https://rubygems.org/gems/securerandom
which makes it quick and easy for someone to check on the changes
introduced with a new version.
De... - 12:57 AM Revision e817d155 (git): Update default gems list at 2a1cff40f5e7875f69a7d0ed59eab9 [ci skip]
-
12:56 AM Bug #21003 (Closed): unexpected warning about ignored block
- Applied in changeset commit:git|2a1cff40f5e7875f69a7d0ed59eab92cc86c65ff.
----------
Do not warn unused block when using forwarding
Fixes [Bug #21003] -
12:56 AM Revision 2a1cff40 (git): Do not warn unused block when using forwarding
- Fixes [Bug #21003]