Project

General

Profile

Activity

From 10/07/2023 to 10/13/2023

10/13/2023

11:59 PM Bug #19926: Range#size returns an incorrect result for ranges with a Rational endpoint
I made a fix: https://github.com/ruby/ruby/pull/8660 kyanagi (Kouhei Yanagita)
06:10 AM Bug #19926 (Closed): Range#size returns an incorrect result for ranges with a Rational endpoint
```
% ~/tmp/ruby-master/bin/ruby -e '(1...3.1r).each { p _1 }'
1
2
3
```
```
% ~/tmp/ruby-master/bin/ruby -e 'p (1...3.1r).size'
2
```
```
% ~/tmp/ruby-master/bin/ruby -e 'p (1...3.1).size'
3
```
kyanagi (Kouhei Yanagita)
11:33 PM Revision 82c8f22a (git): Use the variable to skip the checkout
k0kubun (Takashi Kokubun)
11:31 PM Revision 9d6ff9c1 (git): Skip a duplicated checkout
k0kubun (Takashi Kokubun)
11:19 PM Revision d67880ab (git): Update default gems list at 0950f22cc0c848a73f1b80d0e63fcd [ci skip]
git[bot]
11:19 PM Revision d7f8c1ee (git): Just reorder the checkout
k0kubun (Takashi Kokubun)
11:18 PM Revision 0950f22c (git): secrets cannot be templated in a shared action
k0kubun (Takashi Kokubun)
11:14 PM Revision 563ba5a6 (git): Give a token to the shared checkout as well
k0kubun (Takashi Kokubun)
11:12 PM Revision 275c1852 (git): Allow `NON_SCALAR_THREAD_ID` machines
s390x (Ubuntu) still fails tests with 62dfaeec2c. ko1 (Koichi Sasada)
10:21 PM Revision 5b08e9ef (git): Use matzbot's token to push misc commits
to bypass status checks of branch protection k0kubun (Takashi Kokubun)
09:11 PM Revision f6564fdd (git): [ruby/prism] Simplify DedentingHeredoc#to_a
Move common ``results << token`` outside case-when.
https://github.com/ruby/prism/commit/84d0722ee9
Maumagnaguagno (Mau Magnaguagno)
07:48 PM Revision 81fbacb5 (git): [ruby/prism] Make PM_NODE_FLAG_COMMON_MASK into a constant
https://github.com/ruby/prism/commit/ec66feb595 kddnewton (Kevin Newton)
07:45 PM Revision e700582d (git): [ruby/prism] Bump version to 0.14.0
https://github.com/ruby/prism/commit/1731bf4520 kddnewton (Kevin Newton)
07:38 PM Revision 42484d12 (git): [ruby/prism] Move common flags to top bits
Moves the common flag bits to the top. This lets us eliminate the `COMMON`
constant, and also allows us to group encoding flags on a nibble so we
can more easily mask them.
https://github.com/ruby/prism/commit/895508659e
eileencodes (Eileen Uchitelle)
07:34 PM Revision 17697c96 (git): [prism] Remove unused make target
kddnewton (Kevin Newton)
07:31 PM Revision b5ee570e (git): [prism] Remove unescape targets
kddnewton (Kevin Newton)
07:31 PM Revision 11e946da (git): [ruby/prism] Fix up PR failings
https://github.com/ruby/prism/commit/11255f636e kddnewton (Kevin Newton)
07:31 PM Revision d06523bc (git): [ruby/prism] Remove now-defunct semantic_field from nodes
https://github.com/ruby/prism/commit/c82a9dad64 kddnewton (Kevin Newton)
07:31 PM Revision 2de02998 (git): [ruby/prism] Final unescapes cleanup
https://github.com/ruby/prism/commit/bfcd8262a4 kddnewton (Kevin Newton)
07:31 PM Revision 10e7e5bc (git): [ruby/prism] Refactor unescape test to simplify
https://github.com/ruby/prism/commit/4392775898 kddnewton (Kevin Newton)
07:31 PM Revision 37d958ea (git): Remove old unescaping code
kddnewton (Kevin Newton)
07:31 PM Revision fa76cddc (git): [ruby/prism] Properly handle unescaping in regexp
https://github.com/ruby/prism/commit/abf9fd6863 kddnewton (Kevin Newton)
07:31 PM Revision e4f1c06a (git): [ruby/prism] Use current_string to handle :" symbols
https://github.com/ruby/prism/commit/eedeec8f9a kddnewton (Kevin Newton)
07:31 PM Revision a1de7629 (git): [ruby/prism] Use current_string for :' symbols
https://github.com/ruby/prism/commit/fadb5be520 kddnewton (Kevin Newton)
07:31 PM Revision 8bf0d381 (git): [ruby/prism] Use current_string for %s symbol literals
https://github.com/ruby/prism/commit/52504f8911 kddnewton (Kevin Newton)
07:31 PM Revision d0614b52 (git): [ruby/prism] Split up lines in tilde heredocs
https://github.com/ruby/prism/commit/21fad0c2ce kddnewton (Kevin Newton)
07:31 PM Revision ad46fc09 (git): [ruby/prism] Calculate heredoc common whitespace while lexing
https://github.com/ruby/prism/commit/c3f43b64a3 kddnewton (Kevin Newton)
07:31 PM Revision d6424453 (git): [ruby/prism] Enable remaining heredoc unescape tests
https://github.com/ruby/prism/commit/c7ea4941c5 kddnewton (Kevin Newton)
07:31 PM Revision 24768d8a (git): [ruby/prism] Use current_string for escapes in heredocs
https://github.com/ruby/prism/commit/fc49acfc59 kddnewton (Kevin Newton)
07:31 PM Revision 1a7364b3 (git): [ruby/prism] Use create_unescaped functions for empty heredocs
https://github.com/ruby/prism/commit/acec5a13cb kddnewton (Kevin Newton)
07:31 PM Revision da47a713 (git): [ruby/prism] Use current_string for x string escape sequences
https://github.com/ruby/prism/commit/66ce9280bb kddnewton (Kevin Newton)
07:31 PM Revision a7f71e46 (git): [ruby/prism] Use token buffer for string lexing
https://github.com/ruby/prism/commit/087cd8f28b kddnewton (Kevin Newton)
07:31 PM Revision 973ecf68 (git): [ruby/prism] Extract out a couple more token buffer functions
https://github.com/ruby/prism/commit/341e027d23 kddnewton (Kevin Newton)
07:31 PM Revision af8484bc (git): [ruby/prism] Capture the token buffer logic into its own struct and functions
https://github.com/ruby/prism/commit/4334f0775b kddnewton (Kevin Newton)
07:31 PM Revision ef1e5b65 (git): [ruby/prism] Use current_string to handle escapes in string literals
https://github.com/ruby/prism/commit/d912d48104 kddnewton (Kevin Newton)
07:31 PM Revision f64a0434 (git): [ruby/prism] Use current_string to handle %I
https://github.com/ruby/prism/commit/831d5f4b45 kddnewton (Kevin Newton)
07:31 PM Revision 5fc34f1c (git): [ruby/prism] Use current_string for handling %W lists
https://github.com/ruby/prism/commit/edb1674725 kddnewton (Kevin Newton)
07:31 PM Revision 41ac8ddc (git): [ruby/prism] Extract out string handling for %W lists
https://github.com/ruby/prism/commit/dba9bd6b1f kddnewton (Kevin Newton)
07:31 PM Revision 3c743445 (git): [ruby/prism] Use current_string to handle %i escapes
https://github.com/ruby/prism/commit/9c90d0a777 kddnewton (Kevin Newton)
07:31 PM Revision 4e3013f4 (git): [ruby/prism] Use current_string to handle %w escapes
https://github.com/ruby/prism/commit/b8420ea7ae kddnewton (Kevin Newton)
07:31 PM Revision 3dba3ab4 (git): [ruby/prism] Strip out old char unescaping
https://github.com/ruby/prism/commit/27ca207ab3 kddnewton (Kevin Newton)
07:31 PM Revision dd398687 (git): [ruby/prism] Handle remaining escape sequences for character literals
https://github.com/ruby/prism/commit/ba33607034 kddnewton (Kevin Newton)
07:31 PM Revision 1a941c70 (git): [ruby/prism] Track current_string to pass forward for character literals
https://github.com/ruby/prism/commit/be1d8ae8bb kddnewton (Kevin Newton)
07:31 PM Revision e179e62b (git): [ruby/prism] Skip tests that are currently failing
https://github.com/ruby/prism/commit/23b2336148 kddnewton (Kevin Newton)
07:31 PM Revision a0a0cd0c (git): [ruby/prism] Fix escaped 8 and escaped 9
https://github.com/ruby/prism/commit/c3a46e2de5 kddnewton (Kevin Newton)
07:31 PM Revision 8e223366 (git): [ruby/prism] More thoroughly test unescapes
https://github.com/ruby/prism/commit/e86196dde6 kddnewton (Kevin Newton)
07:24 PM Revision d7058852 (git): [PRISM] Add --dump=prism mode (#8643)
jemmai (Jemma Issroff)
06:35 PM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
> I wouldn't expect a test framework to rescue OutOfMemoryError for example,
Well Minitest does rescue Exception:
https://github.com/minitest/minitest/blob/6719ad8d8d49779669083f5029ea9a0429c49ff5/lib/minitest/test.rb#L196
Pretty ...
byroot (Jean Boussier)
06:27 PM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
byroot (Jean Boussier) wrote in #note-10:
> > since NotImplementedError doesn't inherit from StandardError I kind of wish there was a new exception class
> ...
It is something I would like rescued broadly. For example if I'm test driv...
tenderlovemaking (Aaron Patterson)
05:06 PM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
> since NotImplementedError doesn't inherit from StandardError I kind of wish there was a new exception class
Could you elaborate? For this use case I think not inheriting from `StandardError` is better, as it's not something you'd wa...
byroot (Jean Boussier)
04:32 PM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
tenderlovemaking (Aaron Patterson) wrote in #note-8:
> I'm guilty of using `NotImplementedError` for abstract classes. I like the idea of changing the documentation, but on the other hand, since `NotImplementedError` doesn't inherit fr...
Quintasan (Michał Zając)
04:19 PM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
I'm guilty of using `NotImplementedError` for abstract classes. I like the idea of changing the documentation, but on the other hand, since `NotImplementedError` doesn't inherit from StandardError I kind of wish there was a new exceptio... tenderlovemaking (Aaron Patterson)
05:59 PM Revision 34add1e5 (git): [PRISM] Compile fixes (#8644)
* Fix compiling UndefNodes
* Fix compiling super on ClassNode
* Fix compile popped for ModuleNode
* Add checks for NULL nodes
* Only add newhash if not popped
jemmai (Jemma Issroff)
05:17 PM Bug #19921: TestYJIT#test_bug_19316 test failure
@jaruga could you please help with the reproducer. I think you are the best person 😇 vo.x (Vit Ondruch)
04:30 PM Bug #19921: TestYJIT#test_bug_19316 test failure
I don't see anything that stands out in your build logs, so I'm still not sure if I can reproduce the issue myself. Since you seem to know how to reproduce this, could you consider reproducing the same issue on GitHub Actions (by modifyi... k0kubun (Takashi Kokubun)
11:59 AM Bug #19921: TestYJIT#test_bug_19316 test failure
Trying to reproduce this, I have hit this on x86_64 as well as on aarch64, while it passed on other architectures. The build is here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=107436987
You can go into the architecture sp...
vo.x (Vit Ondruch)
03:07 AM Bug #19921: TestYJIT#test_bug_19316 test failure
Replying to the comment I can do quickly for now:
k0kubun (Takashi Kokubun) wrote in #note-5:
> > 94) Failure:
> ...
Actually the other 93 tests are "Skipped". So build log shows something like:
```
Finished tests in 557.802217s...
mtasaka (Mamoru TASAKA)
04:40 PM Revision 92bdc375 (git): Ignore the failures of CodeQL
It randomly fails like this:
https://github.com/ruby/ruby/actions/runs/6510372995/job/17683918027
and we don't want to pay for and use a larger runner for the job that
only generates false positives most of the time.
k0kubun (Takashi Kokubun)
04:16 PM Misc #19925: DevMeeting-2023-11-07
* [Feature #18915] Change documentation for `NotImplementedError` or introduce new exception
* People use `NotImplementedError` for abstract classes, but documentation says it's only for "a feature is not implemented on the current pl...
tenderlovemaking (Aaron Patterson)
03:31 AM Misc #19925 (Closed): DevMeeting-2023-11-07
# The next dev meeting
**Date: 2023/11/07 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev meeting is a place we can ask Matz, nobu, nurse and o...
mame (Yusuke Endoh)
03:52 PM Revision 62dfaeec (git): disable MN schedulers for some platforms
* on `__EMSCRIPTEN__` provides epoll* declarations, but no implementations.
* on `NON_SCALAR_THREAD_ID`, now we can not debug issues on x390s/Ubuntu so skip it.
x390s/RHEL works fine, so I think we can remove second limitation but
I cou...
ko1 (Koichi Sasada)
03:52 PM Revision 5808999d (git): YJIT: Fallback opt_getconstant_path for const_missing (#8623)
* YJIT: Fallback opt_getconstant_path for const_missing
* Fix a comment [ci skip]
* Remove a wrapper function
k0kubun (Takashi Kokubun)
03:44 PM Bug #19927: TestCoverage#test_coverage_suspendable fails on ppc64le
I have not looked into the code, but it seems that the `:method` hash display order is different. vo.x (Vit Ondruch)
03:32 PM Bug #19927 (Closed): TestCoverage#test_coverage_suspendable fails on ppc64le
Testing on Fedora Rawhide, I am facing the following test error on ppc64le:
~~~
94) Failure:
TestCoverage#test_coverage_suspendable [/builddir/build/BUILD/ruby-3.3.0-35edc14ee1/test/coverage/test_coverage.rb:870]:
pid 192974 exit ...
vo.x (Vit Ondruch)
02:41 PM Revision 0bf1749e (git): YJIT: Fix argument clobbering in some block_arg+rest_param calls (#8647)
Previously, for block argument callsites with some specific argument
count and callee local variable count combinations, YJIT ended up
writing over arguments that are supposed to be collected into a rest
parameter array unmodified.
Dete...
alanwu (Alan Wu)
02:21 PM Revision 511571b5 (git): Only ruby/ruby repository runs on macos-arm-oss [ci skip]
nobu (Nobuyoshi Nakada)
02:00 PM Bug #19885: Invalid Warning for Default Gems That Will Move to Bundled Gems
Thank you, that's much clearer.
If you want to make it perfect maybe just tweak the grammar:
"webrick is not part of the default gems since Ruby 3.0.0"
"webrick will no longer be part of the default gems in Ruby 3.0.0"
Dan0042 (Daniel DeLorme)
08:28 AM Bug #19885 (Closed): Invalid Warning for Default Gems That Will Move to Bundled Gems
I changed this warning feature only for `LoadError` at https://github.com/ruby/ruby/pull/8636.
The current behavior is here:
```
$ ruby -v -r bigdecimal -e ''
ruby 3.3.0dev (2023-10-13T07:22:09Z master 35edc14ee1) +YJIT [arm64-da...
hsbt (Hiroshi SHIBATA)
01:00 PM Feature #18573: Object#pack1
If we introduce a new method for this, I think it would be better to design a more descriptive API instead of reusing a hacky pack format directive, such as `0x1234.to_binary_string(4, endian: :big) #=> "\x00\x00\x12\x34"`. mame (Yusuke Endoh)
12:30 PM Bug #19923 (Closed): Ractor / YJIT failures on PPC64LE
byroot (Jean Boussier)
12:22 PM Bug #19923: Ractor / YJIT failures on PPC64LE
ko1 (Koichi Sasada) wrote in #note-4:
> could you try with 10ba3fc302 (current master)?
Testing with commit:git|35edc14ee1 it seems the issue has bee fixed. Thx
vo.x (Vit Ondruch)
07:22 AM Revision 35edc14e (git): Ignore duplicated warning with native extension
hsbt (Hiroshi SHIBATA)
07:22 AM Revision c6728cae (git): Fix wrong gem name
hsbt (Hiroshi SHIBATA)
07:22 AM Revision fe5329f0 (git): Ignore warning on LoadError when running under Bundler
hsbt (Hiroshi SHIBATA)
07:22 AM Revision 62eea99a (git): Added recovery instructions for RubyGems
hsbt (Hiroshi SHIBATA)
07:22 AM Revision fdf0589a (git): Surpressing double warnings
hsbt (Hiroshi SHIBATA)
07:22 AM Revision b49346ee (git): Warn only LoadError without Bundler environment
hsbt (Hiroshi SHIBATA)
07:22 AM Revision ba4fed47 (git): Removed examples for warning bundled gems
hsbt (Hiroshi SHIBATA)
07:22 AM Revision 57c2ae20 (git): Move additional warnings for Gem author under Gem::BUNDLED_GEMS.
hsbt (Hiroshi SHIBATA)
07:22 AM Revision ea05ddbe (git): Move path normalization into Gem from Bundler class
hsbt (Hiroshi SHIBATA)
07:22 AM Revision c2bdb198 (git): Dont't handle inline Gemfile
hsbt (Hiroshi SHIBATA)
07:22 AM Revision 75644f98 (git): Use Gem::BUNDLED_GEMS.warning? at Bundler.setup
hsbt (Hiroshi SHIBATA)
06:59 AM Revision d8a74207 (git): use `uint32_t` instead of `__uint32_t`
ko1 (Koichi Sasada)
04:42 AM Bug #19910: Set#delete_if behavior inconsistent with Array/Hash
Took a stab at it in https://github.com/ruby/ruby/pull/8642 the_spectator (Akshay Birajdar)
03:29 AM Feature #19839: Need a method to check if two ranges overlap
Just FYI: Documentation has been added at commit:c23b25f75f6180b7428f9650e063b1e50fc161e2 for the corner cases of minimum value. mame (Yusuke Endoh)
03:21 AM Misc #18984: Doc for Range#size for Float/Rational does not make sense
Discussed at the dev meeting. @matz said that he wanted to try to fix the behavior of Range#size instead of changing the document. If the incompatibilty is found significant, it will be reconsidered.
```ruby
(0.51..5.quo(2)).size #=>...
mame (Yusuke Endoh)
03:18 AM Bug #18903: Stack overflow signal handling seems to be triggered once and then not working after
Discussed at the dev meeting. @nobu said he would investigate if he could fix it with M2.
Recovering from a stack overflow in C is not portable and complete, but it is a fact that they work almost well in Linux, which is the main prod...
mame (Yusuke Endoh)
03:10 AM Bug #19866 (Rejected): Future of `readline.rb`
Discussed at the dev meeting, and agreed that the current status be maintained.
* Dependency on external libraries is not very happy, but not a problem itself. Actually, set.rb had longly depended on rbtree gem.
* As long as it is na...
mame (Yusuke Endoh)
12:30 AM Revision 842d9c0a (git): Remove paths-ignore from required status checks (#8646)
k0kubun (Takashi Kokubun)
12:19 AM Bug #19919 (Closed): Variable assignments in condition are warned however class variable assignment and constant declaration are not warned
Applied in changeset commit:git|2794a8fef65eb16767c2f46f8f5058c10b4591b9.
----------
[Bug #19919] Warn class variable assignment and constant declaration in condition
yui-knk (Kaneko Yuichiro)
12:19 AM Revision cdb36dfe (git): fix `native_thread_destroy()` timing
With M:N thread scheduler, the native thread (NT) related resources
should be freed when the NT is no longer needed. So the calling
`native_thread_destroy()` at the end of `is will be freed when
`thread_cleanup_func()` (at the end of Rub...
ko1 (Koichi Sasada)

10/12/2023

10:35 PM Revision 2794a8fe (git): [Bug #19919] Warn class variable assignment and constant declaration in condition
yui-knk (Kaneko Yuichiro)
10:15 PM Revision dcee3cc6 (git): Avoid duplicating a --repeat-count=2 job
--repeat-count=2 jobs are generally too slow for no good reason.
It doesn't seem related to testing the universal parser either.
k0kubun (Takashi Kokubun)
09:37 PM Revision b2808cc4 (git): Update default gems list at 3aba21511b37723b5212e44429f5e8 [ci skip]
git[bot]
09:36 PM Revision 3aba2151 (git): [ruby/irb] Bump version to 1.8.2
https://github.com/ruby/irb/commit/47693a2213 st0012 (Stan Lo)
09:25 PM Bug #19921 (Feedback): TestYJIT#test_bug_19316 test failure
I cannot reproduce your problem in my x86_64-linux environment (Ubuntu 22.04). It also seems to succeed on Ruby CI's Fedora 38 x86_64 and all other CIs. It might be specific to how you build Ruby. Can you provide a way to reproduce your ... k0kubun (Takashi Kokubun)
03:49 PM Bug #19921: TestYJIT#test_bug_19316 test failure
mtasaka (Mamoru Tasaka) wrote in #note-2:
> This is failing (for me) since https://github.com/ruby/ruby/commit/492e9437dd33f64e283a9de21f49c65d3195c1f0
Interesting. Thx for looking into this. I saw this commit, but ruled it out initi...
vo.x (Vit Ondruch)
03:34 PM Bug #19921: TestYJIT#test_bug_19316 test failure
This is failing (for me) since https://github.com/ruby/ruby/commit/492e9437dd33f64e283a9de21f49c65d3195c1f0 mtasaka (Mamoru TASAKA)
12:43 PM Bug #19921: TestYJIT#test_bug_19316 test failure
Just FTR, previously I was testing with 904413997f and everything worked just fine. vo.x (Vit Ondruch)
12:41 PM Bug #19921 (Closed): TestYJIT#test_bug_19316 test failure
Testing with 52709a4862 on Fedora Rawhide, I observe following failure:
~~~
94) Failure:
TestYJIT#test_bug_19316 [/builddir/build/BUILD/ruby-3.3.0-52709a4862/test/ruby/test_yjit.rb:1126]:
Expected no exits, but got
{:opt_and=>1}
...
vo.x (Vit Ondruch)
07:11 PM Feature #18573: Object#pack1
matz (Yukihiro Matsumoto) wrote in #note-7:
> Array.pack1 is unlikely because there is no connection between the responsibilities of the method and the Array class. I also disagree with String.pack1 for the same reason.
> ...
Feature #...
tenderlovemaking (Aaron Patterson)
04:21 AM Feature #18573: Object#pack1
Array.pack1 is unlikely because there is no connection between the responsibilities of the method and the Array class. I also disagree with String.pack1 for the same reason.
The most natural candidate is Object#pack1, but I question the...
matz (Yukihiro Matsumoto)
06:30 PM Bug #19924 (Closed): Character literal escaped \xFF stops parsing
Applied in changeset commit:git|17b0643392749f45b7aacb64fc1c1bd704d42b4c.
----------
[Bug #19924] Source code should be unsigned char stream
Use `peekc` or `nextc` to fetch the next character, instead of reading
from `lex.pcur` directl...
nobu (Nobuyoshi Nakada)
03:50 PM Bug #19924 (Closed): Character literal escaped \xFF stops parsing
When you have a character literal, you can have an escaped character. For things that don't actually need escaping, this works out to just returning the character itself. For example:
``` ruby
?\d # => "d"
```
This works for ever...
kddnewton (Kevin Newton)
06:19 PM Bug #19923: Ractor / YJIT failures on PPC64LE
could you try with 10ba3fc302 (current master)? ko1 (Koichi Sasada)
04:39 PM Bug #19923: Ractor / YJIT failures on PPC64LE
The likely suspect would be N:M threads. cc @ko1 byroot (Jean Boussier)
03:44 PM Bug #19923: Ractor / YJIT failures on PPC64LE
Just FTR, previously I was testing with 904413997f and everything worked just fine. vo.x (Vit Ondruch)
03:44 PM Bug #19923 (Closed): Ractor / YJIT failures on PPC64LE
Let me share snippet of the log:
~~~
... snip ...
+ DISABLE_TESTS=
+ MSPECOPTS=
+ DISABLE_TESTS=' -n !/TestYJIT#test_bug_19316/'
+ make -C redhat-linux-build check 'TESTS=-v --show-skip -n !/TestYJIT#test_bug_19316/' 'MSPECOPT...
vo.x (Vit Ondruch)
05:32 PM Revision 81399a5c (git): Use `lex_eol` macros
nobu (Nobuyoshi Nakada)
05:28 PM Revision 17b06433 (git): [Bug #19924] Source code should be unsigned char stream
Use `peekc` or `nextc` to fetch the next character, instead of reading
from `lex.pcur` directly, for compilers that plain char is signed.
nobu (Nobuyoshi Nakada)
05:11 PM Revision 2dca02e2 (git): disable MN scheduler on !`USE_MN_THREADS`
ko1 (Koichi Sasada)
04:54 PM Revision 1126bd8c (git): [ruby/irb] Fix require path completion disturbing string method
completion
(https://github.com/ruby/irb/pull/726)
https://github.com/ruby/irb/commit/e42dc74ce0
tompng (tomoya ishida)
04:09 PM Revision 10ba3fc3 (git): Use `sysconf()` to get PAGE_SIZE
Some systems use not 4096 page size (64KB for example). ko1 (Koichi Sasada)
04:01 PM Revision 4387af1b (git): [ruby/prism] Fix parsing symbols in strings after labels
https://github.com/ruby/prism/commit/e16531650d Haldun Bayhantopcu
03:26 PM Revision 5c876447 (git): [ruby/prism] Increase the depth for the For node index variable
In CRuby's parser locals in for nodes appear deeper in the ast than they
do in Prism, but we can fix that with a transparent scope
https://github.com/ruby/prism/commit/460187f41e
eightbitraptor (Matt V-H)
03:00 PM Revision c23b25f7 (git): describe the assumption for Range#overlap?.
Range#overlap? assumes that there is no minimum value.
This assumption makes
+(...-Float::INFINITY).overlap?((...-Float::INFINITY))+ returns true
while +(...-Float::INFINITY)+ is empty.
akr (Akira Tanaka)
02:05 PM Revision b2e1ddff (git): YJIT: port call threshold logic from Rust to C for performance (#8628)
* Port call threshold logic from Rust to C for performance
* Prefix global/field names with yjit_
* Fix linker error
* Fix preprocessor condition for rb_yjit_threshold_hit
* Fix third linker issue
* Exclude yjit_calls_at_interv from...
maximecb (Maxime Chevalier-Boisvert)
02:03 PM Revision 0c42c285 (git): Test YJIT on macOS Arm64 GitHub Actions (#8633)
* cp macos.yml yjit-macos.yml
* Test YJIT on macOS Arm64 GitHub Actions
* Add a non-YJIT macOS Arm64 job as well
k0kubun (Takashi Kokubun)
01:55 PM Revision cf21c72c (git): [ruby/irb] Fix test runner exit bug
(https://github.com/ruby/irb/pull/728)
* Remove useless test setup and teardown that sets MAIN_CONTEXT to nil
* Avoid adding command methods to main object in test
https://github.com/ruby/irb/commit/f204829a08
tompng (tomoya ishida)
12:56 PM Bug #19922 (Open): ObjectSpace.dump_all in multiple threads in parallel causes SEGV
`ObjectSpace.dump_all` in multiple threads in parallel causes SEGV.
The reproduce code is here:
```
$ ruby -robjspace -e 'def dump; 10.times { ObjectSpace.dump_all } end; Thread.new { dump }; dump'
/home/wanabe/.rbenv/versions/master...
wanabe (_ wanabe)
12:53 PM Revision e029375a (git): [ruby/irb] Decouple RubyLex from prompt and line_no
(https://github.com/ruby/irb/pull/701)
* Remove instance variable prompt and line_no from RubyLex
* Fix prompt test
* Rename prompt generating method and make it private
https://github.com/ruby/irb/commit/1ceb97fe2e
tompng (tomoya ishida)
11:52 AM Bug #19920: Ruby 3.1 fails to build with --enable-shared on macos-arm64: is an incompatible architecture (have 'arm64', need '')
Proof that it fails without ruby-build: https://github.com/ruby/ruby-builder/actions/runs/6494853372/job/17638623490
With:
```yml
steps:
- run: curl -O https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz
- run: ta...
Eregon (Benoit Daloze)
11:02 AM Bug #19920 (Closed): Ruby 3.1 fails to build with --enable-shared on macos-arm64: is an incompatible architecture (have 'arm64', need '')
See https://github.com/ruby/ruby-builder/actions/runs/6494296018/job/17636968796#step:18:9
```
installing bundled gems: /Users/runner/hostedtoolcache/Ruby/3.1.4/arm64/lib/ruby/gems/3.1.0
...
Eregon (Benoit Daloze)
11:37 AM Feature #19422 (Closed): Make `--enabled-shared` mandatory on macOS
Applied in changeset commit:git|9694445051c4192c8f659529133acab253bd0bc3.
----------
[Feature #19422] Enable shared by default on macOS
nobu (Nobuyoshi Nakada)
09:02 AM Feature #19422: Make `--enabled-shared` mandatory on macOS
We discuss this at dev meeting.
We only change default configuration to `--enable-shared` for macOS. If user want to use `--disable-shared` explicitly, we accept it.
hsbt (Hiroshi SHIBATA)
10:26 AM Revision 96944450 (git): [Feature #19422] Enable shared by default on macOS
nobu (Nobuyoshi Nakada)
08:46 AM Revision 52709a48 (git): Fix `dir_config` cache for -include and -lib options
Set to "--with-" options, not "--without-" keys. nobu (Nobuyoshi Nakada)
08:46 AM Revision 1cef5f59 (git): Include default values in `dir_config` cache keys
The extconf.rb in mysql2 gem repeats `dir_config('mysql')`, without
and with the default path. The third call returns the former results
even with the default path. Since it does not check the results of
the third call, that `nil` is p...
nobu (Nobuyoshi Nakada)
08:36 AM Revision 2cd9aae4 (git): Fix unused-function warning for 'ruby_ppoll' [ci skip]
nobu (Nobuyoshi Nakada)
08:34 AM Revision 769f53eb (git): Add benchmarks for Range#reverse_each
kyanagi (Kouhei Yanagita)
08:34 AM Revision 66fabefa (git): Add Range#reverse_each implementation for performance
kyanagi (Kouhei Yanagita)
08:30 AM Feature #13933 (Rejected): Add Range#empty?
One drawback of `Range#empty?` is that we have several corner cases that cannot determine emptiness correctly (e.g., regarding exclude_end ranges or infinity).
Upon the fact we don't see the real-world use-case yet, we reject the propos...
matz (Yukihiro Matsumoto)
08:22 AM Revision 1c871c08 (git): Switch mid dump to dump_append_string_value
I don't think it's possible to create a CI with a mid which would need
escaping to be in a JSON string, but I think we might as well not rely
on that assumption.
jhawthorn (John Hawthorn)
08:22 AM Revision 635b9209 (git): Fix ObjectSpace.dump with super() callinfo
super() uses 0 as mid for its callinfo, so we need to check for that to
avoid a segfault when using dump_all.
jhawthorn (John Hawthorn)
07:59 AM Feature #18515: Add Range#reverse_each implementation
I accept this as a performance improvement.
Matz.
matz (Yukihiro Matsumoto)
06:07 AM Revision 9859dbc7 (git): Fix leaked symbols on FreeBSD [ci skip]
nobu (Nobuyoshi Nakada)
05:58 AM Feature #19842 (Closed): Introduce M:N threads
Applied in changeset commit:git|be1bbd5b7d40ad863ab35097765d3754726bbd54.
----------
M:N thread scheduler for Ractors
This patch introduce M:N thread scheduler for Ractor system.
In general, M:N thread scheduler employs N native threa...
ko1 (Koichi Sasada)
05:58 AM Revision feac15c1 (git): [ruby/securerandom] Extract `assert_uuid_v7`
https://github.com/ruby/securerandom/commit/029677584d nobu (Nobuyoshi Nakada)
05:47 AM Revision be1bbd5b (git): M:N thread scheduler for Ractors
This patch introduce M:N thread scheduler for Ractor system.
In general, M:N thread scheduler employs N native threads (OS threads)
to manage M user-level threads (Ruby threads in this case).
On the Ruby interpreter, 1 native thread is ...
ko1 (Koichi Sasada)
04:54 AM Bug #16927 (Rejected): String#tr won't return the expected result for some sign with diacritics
naruse (Yui NARUSE)
04:53 AM Bug #16927: String#tr won't return the expected result for some sign with diacritics
As nobu says, since String#tr is for codepoints, so this proposal is rejected.
Maybe though a dedicated method for this use case can be reasonable, the current use case is not enough to design it.
naruse (Yui NARUSE)
04:49 AM Bug #19919: Variable assignments in condition are warned however class variable assignment and constant declaration are not warned
This should be addressed.
Matz.
matz (Yukihiro Matsumoto)
03:31 AM Revision 096ee064 (git): Bump ruby/setup-ruby from 1.155.0 to 1.156.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.155.0 to 1.156.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d37167af451eb51448db3354e1057b75c4...
dependabot[bot]
02:41 AM Feature #5825: Sweet instance var assignment in the object initializer
Maybe a different proposal, but if the `def initialize(@a, @b)` is ugly, how about a new method similar to `attr_{reader,writter}` like
```rb
class User
init_with :name, :age
# or maybe
attributes :name, :age
end
User....
matheusrich (Matheus Richard)

10/11/2023

11:22 PM Revision 5140e6a4 (git): Fix calling exit if irb_context is nil
Trying to avoid a flaky failure like:
https://github.com/ruby/ruby/actions/runs/6486918029/job/17616113816
k0kubun (Takashi Kokubun)
11:05 PM Revision 70d583a7 (git): Specify everything in matrix.include
ubuntu.yml had that style because it needed a default value for configure.
For macos.yml, since `os` and `configure` always vary, there's no need
to declare them that way.
k0kubun (Takashi Kokubun)
10:56 PM Revision eee1ea2a (git): Add test_task in the matrix for better labels
They appear on GitHub and this looks nicer. k0kubun (Takashi Kokubun)
10:55 PM Revision 09a79d39 (git): Fix the way to specify extra jobs
k0kubun (Takashi Kokubun)
10:50 PM Revision eca1c2e7 (git): Remove redundancy in macOS jobs
I don't think we need to test the same OS twice or the same
configuration twice. This is similar to .github/workflows/ubuntu.yml.
I also tweaked the label of Slack notifications.
k0kubun (Takashi Kokubun)
10:26 PM Revision 94508a8a (git): Fix Typo
αlpha 0x00
10:18 PM Revision 9dcaa832 (git): [rubygems/rubygems] Avoid excess Arrays when partitioning Gem::Version.canonical_segments
https://github.com/rubygems/rubygems/commit/338c48f935 martinemde (Martin Emde)
07:07 PM Revision 8a8b23c0 (git): [lib/rubygems/path_support.rb] Rephrase comment
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> Ellen Marie Dash
07:07 PM Revision be32109d (git): [rubygems/rubygems] Move "Defaulting to user installation ..." message, so `--install-dir` and `--user-install` can suppress it.
https://github.com/rubygems/rubygems/commit/6677fc6853 Ellen Marie Dash
07:07 PM Revision 28a6c4a1 (git): [rubygems/rubygems] Update incorrect comments.
https://github.com/rubygems/rubygems/commit/6b21f593f3 Ellen Marie Dash
07:07 PM Revision c83f8ad8 (git): [rubygems/rubygems] Simplify logic for Gem::PathSupport#home, and make GEM_HOME always overide it.
https://github.com/rubygems/rubygems/commit/64273fd7e3 Ellen Marie Dash
07:07 PM Revision e84b7339 (git): [rubygems/rubygems] Call check_that_user_bin_dir_is_in_path ANY time Gem.paths.home == Gem.user_dir.
(As opposed to only if `--user-install` is passed.)
https://github.com/rubygems/rubygems/commit/0b42d0e869
Ellen Marie Dash
07:07 PM Revision ee9cb86b (git): [rubygems/rubygems] Split out Gem::PathSupport#default_home_dir to fix "bundle doctor" specs.
https://github.com/rubygems/rubygems/commit/d7f3f901f1 Ellen Marie Dash
07:07 PM Revision 0b9b07a7 (git): [rubygems/rubygems] Allow test_gem_install_update_options to raise Errno::ACCES, in addition to Gem::FilePermissionError.
https://github.com/rubygems/rubygems/commit/784fe2a814 Ellen Marie Dash
07:07 PM Revision 225c05e3 (git): [rubygems/rubygems] Update tests to match new implementation of falling back to user-writable directories.
https://github.com/rubygems/rubygems/commit/a06e657ac6 Ellen Marie Dash
07:07 PM Revision 262f3453 (git): [rubygems/rubygems] [test_gem_install_update_options.rb] Fix linter warnings.
https://github.com/rubygems/rubygems/commit/cdcb8394f6 Ellen Marie Dash
07:07 PM Revision 4925570d (git): [rubygems/rubygems] Try a different approach for fallback to --user-install.
https://github.com/rubygems/rubygems/commit/13e0704c40 Ellen Marie Dash
07:07 PM Revision 7aebe2a5 (git): [rubygems/rubygems] If GEM_HOME exists + isn't writable, use --user-install.
https://github.com/rubygems/rubygems/commit/6d20585645 Ellen Marie Dash
06:30 PM Feature #19842: Introduce M:N threads
👍 byroot (Jean Boussier)
06:27 PM Feature #19842: Introduce M:N threads
byroot (Jean Boussier) wrote in #note-32:
> > this branch is bit of unstable.
> ...
Now I finished to ready-to-merge version (sorry too slow).
Naruse-san (release manager) allows me to merge it if it is easy to revert, so I want to tr...
ko1 (Koichi Sasada)
06:26 PM Revision 9af5abd2 (git): [ruby/prism] Allow Scope nodes to be created for a For loop
https://github.com/ruby/prism/commit/ded8711807 eightbitraptor (Matt V-H)
06:14 PM Revision 802ca3a1 (git): `RUBY_DEBUG_LOG` supports `%p` for pid
ko1 (Koichi Sasada)
05:55 PM Revision f413e50e (git): [ruby/prism] Add Node::type
https://github.com/ruby/prism/commit/ca4943e3f9 kddnewton (Kevin Newton)
05:09 PM Revision 94cb5765 (git): [ruby/irb] Rename current completor to RegexpCompletor and
refactored for future extension
(https://github.com/ruby/irb/pull/707)
* Move completion implementation to completion/regexp_completor for future extension
* Remove constant CompletionProc and PerfectMatchedProc and add a class method
...
tompng (tomoya ishida)
05:02 PM Revision b9a6fca6 (git): [rubygems/rubygems] Don't delete the release version from pre-release string more than once
https://github.com/rubygems/rubygems/commit/6485adda54 martinemde (Martin Emde)
02:16 PM Revision cc311e1c (git): [ruby/irb] Avoid locking the debug UI to a single thread
(https://github.com/ruby/irb/pull/725)
Since `debug` stores and updates the target thread via its Session's
`@tc` variable, we don't need to and shouldn't lock the UI to the thread
that activates the integration.
https://github.com/rub...
st0012 (Stan Lo)
10:42 AM Revision 380c25f8 (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
10:39 AM Bug #19918: Should `a[&b]=c` be syntax valid?
Whether or not that is useful, it is at least intentional as there are some tests for them. nobu (Nobuyoshi Nakada)
08:50 AM Bug #19918: Should `a[&b]=c` be syntax valid?
mame (Yusuke Endoh) wrote in #note-1:
> Assuming this is intentionally valid, I wonder if `a[&b] = c` should evaluate `b` before `c`.
That's the kind of complications which I think illustrates the Ruby syntax shouldn't support such e...
Eregon (Benoit Daloze)
06:24 AM Bug #19918: Should `a[&b]=c` be syntax valid?
Is it bad that my first consideration is how this might be abused to do bad things for code golfing reasons? I blame mame. baweaver (Brandon Weaver)
05:59 AM Bug #19918: Should `a[&b]=c` be syntax valid?
Assuming this is intentionally valid, I wonder if `a[&b] = c` should evaluate `b` before `c`. mame (Yusuke Endoh)
05:40 AM Bug #19918 (Closed): Should `a[&b]=c` be syntax valid?
These codes are syntax valid now. Prism parses it as syntax error.
~~~ruby
a[&b]=c
a[&b]+=c
a[&b]&&=c
a[&b]||=c
~~~
Is this syntax intentional or should be error?
Issue of Prism
https://github.com/ruby/prism/issues/1636
...
tompng (tomoya ishida)
10:22 AM Revision f9fe7aee (git): Extract NODE_FL_NEWLINE access to macro
yui-knk (Kaneko Yuichiro)
09:42 AM Misc #19883: DevMeeting-2023-10-12
* [Bug #19919] Variable assignments in condition are warned however class variable assignment and constant declaration are not warned
* Is it better to warn class variable assignment and constant declaration ?
yui-knk (Kaneko Yuichiro)
09:37 AM Bug #19919 (Closed): Variable assignments in condition are warned however class variable assignment and constant declaration are not warned
Is it better to warn for class variable assignment and constant declaration in condition?
```ruby
(x, y = 1, 2) ? x : y # test.rb:1: warning: found `= literal' in conditional, should be ==
if a = 1 # test.rb:3: warning: found `= l...
yui-knk (Kaneko Yuichiro)
08:58 AM Feature #16294: Make MatchData frozen and forbid MatchData.allocate
Looks good, I think we should merge it.
(and this is already the case on TruffleRuby)
Eregon (Benoit Daloze)
07:55 AM Feature #16294: Make MatchData frozen and forbid MatchData.allocate
I've forgot this for years, and just happened to discover this branch.
https://github.com/ruby/ruby/pull/8624
nobu (Nobuyoshi Nakada)
06:45 AM Revision b17ae888 (git): [flori/json] skip TruffleRuby
https://github.com/flori/json/commit/bab704eb49 hsbt (Hiroshi SHIBATA)
06:45 AM Revision e42df781 (git): [flori/json] define_method is also private at Ruby 2.3 and 2.4
https://github.com/flori/json/commit/3804f38bf4 hsbt (Hiroshi SHIBATA)
06:45 AM Revision 1b19e919 (git): [flori/json] remove_method of Module is private at Ruby 2.3 and 2.4
https://github.com/flori/json/commit/6cbadf6b6e hsbt (Hiroshi SHIBATA)
06:33 AM Revision e3afc212 (git): shape.h: Make attr_index_t uint8_t
Given `SHAPE_MAX_NUM_IVS 80`, we transition to TOO_COMPLEX
way before we could overflow a 8bit counter.
This reduce the size of `rb_shape_t` from 32B to 24B.
If we decide to raise `SHAPE_MAX_NUM_IVS` we can always increase
that type ag...
byroot (Jean Boussier)
06:15 AM Revision e5d97308 (git): Update default gems list at 8f6a96e6ada05b2716ee6f441fd246 [ci skip]
git[bot]
06:13 AM Revision 8f6a96e6 (git): [ruby/psych] Bump up v5.1.1
https://github.com/ruby/psych/commit/f306512d60 hsbt (Hiroshi SHIBATA)
04:46 AM Revision 40ab7b8c (git): Skip test_bug_13526 with High Sierra
hsbt (Hiroshi SHIBATA)
04:32 AM Revision 0fb10074 (git): Fix error when gems/src is read-only
When I shared srcdir as read-only in lima-vm,
`make install` causes following error:
```
Update rbs to 33813a60752624d58dfe5ae770b39bfaf29fbaf1
error: cannot open .git/FETCH_HEAD: Read-only file system
```
I cannot find any ignore opti...
znz (Kazuhiro NISHIYAMA)
04:07 AM Bug #19866 (Assigned): Future of `readline.rb`
hsbt (Hiroshi SHIBATA)
04:05 AM Bug #19866: Future of `readline.rb`
>I wonder what is the future of readline.rb? It still tries to load readline.so by default. Is this intended behavior?
It's intentional. `readline.rb` is same as `yaml.rb` for migrating backend.
`reline` is mostly compatible `libre...
hsbt (Hiroshi SHIBATA)
01:37 AM Revision a84d0945 (git): Semicolon after `SWITCH_BY_COND_TYPE` for auto-indent [ci skip]
nobu (Nobuyoshi Nakada)

10/10/2023

09:54 PM Revision 4d0a619f (git): YJIT: Allow --yjit-trace-exits on release builds (#8619)
k0kubun (Takashi Kokubun)
05:27 PM Revision ef7fa8bd (git): Integer#times is not a C method [ci skip]
k0kubun (Takashi Kokubun)
05:10 PM Revision a6d190fa (git): Update yjit.md
maximecb (Maxime Chevalier-Boisvert)
02:01 PM Feature #19884: Make Safe Navigation Operator work on classes
@nobu has said this already, but just to reiterate, if we changed `Foo&.bar` to do nothing in the case that it was undefined, it would break things like zeitwerk and other libraries that handle const_missing. kddnewton (Kevin Newton)
12:47 PM Revision 5cc44f48 (git): Refactor rb_shape_transition_shape_capa to not accept capacity
This way the groth factor is encapsulated, which allows
rb_shape_transition_shape_capa to be smarter about ideal sizes.
byroot (Jean Boussier)
12:17 PM Bug #19917 (Closed): Segmentation fault or lost objects when using Ractor.select with moved exceptions
I stumbled upon loss of messages with exceptions or even Segmentation fault during transfer of exception from Ractor when moving the exception. In versions 3.0 and 3.1 I saw only loss of messages, in 3.2 also Segmentation fault. Loss of ... toy (Ivan Kuchin)
11:53 AM Bug #18914: Segmentation fault during Ruby test suite execution
ruby_3_1 84f2aabd272a54e79979795d2d405090704a1d07 merged revision(s) ada9f8a9f78b3ccd8a5187775d06f45eb9f636f5. usa (Usaku NAKAMURA)
11:52 AM Revision 84f2aabd (git): merge revision(s) ada9f8a9f78b3ccd8a5187775d06f45eb9f636f5: [Backport #18914]
[ruby/fiddle] closure: follow variable name change
GitHub: GH-102
https://github.com/ruby/fiddle/commit/2530496602
---
ext/fiddle/closure.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
U.Nakamura
11:35 AM Bug #19880: Missing write barrier in iseq instruction list
ruby_3_1 e031eff34387f300be27c24a725ddaa17f18f7e3. usa (Usaku NAKAMURA)
11:28 AM Revision e031eff3 (git): Fix missing write barrier in iseq instruction list
[Bug #19880]
There's a missing write barrier for operands in the iseq instruction
list, which can cause crashes.
It can be reproduced when Ruby is compiled with `-DRUBY_DEBUG_ENV=1`.
Using the following command:
```
RUBY_GC_HEAP_OLDOB...
peterzhu2118 (Peter Zhu)
11:09 AM Revision 92d155ce (git): Should not do `brew upgrade`
See 1b0da1e6236ad9a380abfe4ca8b51f06c34bb6f9 U.Nakamura
11:02 AM Bug #19855: Array#bsearch gets wrong result when its block returns a non-integer numeric value.
ruby_3_1 eb54ed809f61fb25a0de101a7a6a649e8d4a434c merged revision(s) a28c5151f567cada0d2f5c0c3ec4df7f97b80784. usa (Usaku NAKAMURA)
11:02 AM Revision eb54ed80 (git): merge revision(s) a28c5151f567cada0d2f5c0c3ec4df7f97b80784: [Backport #19855]
Fix Array#bsearch when block returns a non-integer numeric value
---
array.c | 4 ++--
test/ruby/test_array.rb | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
U.Nakamura
09:02 AM Revision fd214608 (git): [rubygems/rubygems] Update bundle-plugin man page
The formatting was odd, and it hadn't been updated for how the global
source is handled.
https://github.com/rubygems/rubygems/commit/bf19a266ab
Cody Cutrer
07:32 AM Revision 47274ba8 (git): Extract numparam nterms
nobu (Nobuyoshi Nakada)
07:32 AM Revision 9095e712 (git): Use `rb_node_exits_t` instead of `NODE`
nobu (Nobuyoshi Nakada)
07:32 AM Revision e2998c42 (git): Forward declaration of `struct RNode_DEF_TEMP` and its typedef
nobu (Nobuyoshi Nakada)
07:00 AM Revision c68f92aa (git): Update bundled gems list at 2023-10-10
git[bot]
04:52 AM Feature #19588: Allow Comparable#clamp(min, max) to accept nil as a specification
If possible, could you merge the document and test update?
https://github.com/ruby/ruby/pull/7759
https://github.com/ruby/ruby/pull/7692
kyanagi (Kouhei Yanagita)
02:05 AM Revision 5245123a (git): Remove not used fields from DEFN
yui-knk (Kaneko Yuichiro)
01:50 AM Feature #13933: Add Range#empty?
While this is slightly off-topic, it's relevant to `MINIMUM`, so I'm noting it here.
`0.0..Float::INFINITY` represents the entire range of floating-point numbers that is greater or equal to 0.0.
Therefore, semantically, the range rep...
kyanagi (Kouhei Yanagita)

10/09/2023

10:53 PM Revision 7de6908a (git): LLDB: Print actual node structure [ci skip]
yui-knk (Kaneko Yuichiro)
10:48 PM Feature #19915: URI::HTTP.build accepts user: and password: keyboard arguments, but do not populate #user or #password
I would expect either for unused options to raise an ArgumentError, or for `user:` and `password:` to be accepted and used. Since `URI::HTTP.build` is actually accepting a Hash [1], this makes it harder to validate the given Hash keys an... postmodern (Hal Brodigan)
12:25 AM Feature #19915: URI::HTTP.build accepts user: and password: keyboard arguments, but do not populate #user or #password
`URI::HTTP.build` does not accept keyword arguments, it accepts an array/hash. If you pass keyword arguments, they get turned into a hash, similarly to any Ruby method that does not explicitly accept keyword arguments. The method only r... jeremyevans0 (Jeremy Evans)
08:15 PM Revision c3fc70cc (git): [rubygems/rubygems] Exempt default gem 'etc' in setup tests for rubies before 3.2 on windows
https://github.com/rubygems/rubygems/commit/834ae8a29a martinemde (Martin Emde)
03:09 PM Revision a8d71535 (git): Pre-allocate `NODE_DEFN`/`NODE_DEFS` nodes
To fix the order of node IDs, for typeprof tests. nobu (Nobuyoshi Nakada)
03:09 PM Revision 4c00ab7f (git): Refactor NODE_DEF_TEMP
Use `NODE_DEF_TEMP` as the wrapper of `NODE_DEFS` in ripper, not only
of `NODE_DEFN`, so that `endless_method_name` works consistently.
nobu (Nobuyoshi Nakada)
03:09 PM Revision ceec988f (git): ripper: Support member references in the DSL
nobu (Nobuyoshi Nakada)
03:05 PM Revision 6c952ac6 (git): testing_ruby.md: Document running test suites on s390x CPU architecture [ci skip] (#8589)
Jun Aruga
03:03 PM Misc #19883: DevMeeting-2023-10-12
* [Feature #13933] Add Range#empty?
* "empty?" is a basic concept for core classes
* Related to the implementation of `Range#overlap?` (empty_region_p) so why not make it a public interface?
* For beginless ranges we cannot use ...
Dan0042 (Daniel DeLorme)
11:54 AM Revision f44cee90 (git): [rubygems/rubygems] Avoid duplicates -rbundler/setup in RUBYOPT with Ruby preview
When using a Ruby preview the require path of `bundler/setup` is
similar to `-r/opt/ruby3.3.0-preview2/lib/ruby/3.3.0+0/bundler/setup`.
The special character `+` in the string makes the Regexp fail,
leading to multiple addition of the sa...
Jacopo
10:16 AM Revision 0fdee133 (git): [ruby/prism] Attach the ast node to the scope
So when building instruction sequences for a scope we can reference
items from the ast node that requires the scope. This is useful for for
loops, where the local variable tables from the parent scope will need
to be referenced.
https:/...
eightbitraptor (Matt V-H)
10:08 AM Revision 8c2a4932 (git): Fix cast node type
yui-knk (Kaneko Yuichiro)
08:13 AM Bug #19916 (Closed): URI#to_s can serialize to a value that doesn't deserialize to the original
It appears that when we're serializing a URI to string, we don't check/confirm that it is represented in a form that can be deserialized back into the original. I think it's fair to expect that serialize+deserialize produces an object th... yawboakye (yaw boakye)
04:33 AM Revision 3049b5e3 (git): Differentiate VAR nodes
yui-knk (Kaneko Yuichiro)
04:33 AM Revision 09b33ea1 (git): Differentiate CALL nodes
yui-knk (Kaneko Yuichiro)
03:38 AM Revision b9a23486 (git): Take care of internal node type
In parse.y, node can be NODE_DEF_TEMP or NODE_EXITS.
Hit "unknown node" without taking care of them.
For example `ruby --dump=y lib/cgi/util.rb` causes
"[BUG] unknown node: 107".
yui-knk (Kaneko Yuichiro)
03:23 AM Revision a78acf18 (git): Bump ruby/setup-ruby from 1.154.0 to 1.155.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.154.0 to 1.155.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/52b8784594ec115fd17094752708121dc5...
dependabot[bot]
03:16 AM Revision a149ca51 (git): Bump ossf/scorecard-action from 2.2.0 to 2.3.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md...
dependabot[bot]

10/08/2023

11:10 PM Feature #19915 (Open): URI::HTTP.build accepts user: and password: keyboard arguments, but do not populate #user or #password
I noticed that `URI::HTTP.build` accepts the `user:` and `password:` keyword arguments, but does not actually set the `user` or `password` attributes of the built URI object. It does however correctly accept a `userinfo:` keyword argumen... postmodern (Hal Brodigan)
07:31 PM Feature #19884: Make Safe Navigation Operator work on classes
______________________________________________ Anonymous
10:40 AM Feature #19884: Make Safe Navigation Operator work on classes
nobu (Nobuyoshi Nakada) wrote in #note-10:
> Rather the extension of `defined?` operator which returns the value (instead of the expression type string) or nil.
> ...
Yes, that would be nice.
p8 (Petrik de Heus)
07:53 AM Feature #19884: Make Safe Navigation Operator work on classes
What you want doesn't seem the extension of the safe navigation operator.
p8 (Petrik de Heus) wrote:
> If a constant isn't defined it will raise a NameError:
> ...
Rather the extension of `defined?` operator which returns the value (ins...
nobu (Nobuyoshi Nakada)
04:30 AM Feature #19884: Make Safe Navigation Operator work on classes
sawa (Tsuyoshi Sawada) wrote:
> > > > You stated that you want &. to work on classes, but that does not make sense. If ActiveRecord::Base is not defined, it is not a class. How would Ruby know that it is (supposed to be) a class?
p8 ...
sawa (Tsuyoshi Sawada)
07:34 AM Revision b5d74f4f (git): Remove not used fields from EVSTR
yui-knk (Kaneko Yuichiro)
07:33 AM Bug #19913: Getting interpreter error
pbvdon (pbv pbv) wrote in #note-3:
> Any solution for this ?
You can try 2.5.9 which had been released as the final 2.5 release, or more recent versions.
Anyway we can do nothing unless we know how to reproduce it at least, even if ...
nobu (Nobuyoshi Nakada)
07:12 AM Misc #19912: [Small potential for slight improvement in regards to trailing / that were omitted in a regex]
I've forgot about inline option and comment, so it was complicated than I thought first.
https://github.com/nobu/ruby/tree/warn-multiline-regexp
nobu (Nobuyoshi Nakada)
04:17 AM Revision 2b6228be (git): [rubygems/rubygems] Reduce allocations when parsing compact index
This still allocates a ton (a string for each line, plus a bunch of
splits into arrays), but it helps a bit when Bundler has to go through
dependency resolution.
```
==> memprof.after.txt <==
Total allocated: 194.14 MB (2317172 objects)...
segiddins (Samuel Giddins)
02:25 AM Bug #19914 (Feedback): RDoc :method: directives swallowed by immediate private keyword
It has been documented.
https://github.com/ruby/rdoc/blob/master/lib/rdoc/parser/ruby.rb#L141-L142
> Note that by default, the :method: directive will be ignored if there is a
> ...
nobu (Nobuyoshi Nakada)
02:18 AM Bug #19914: RDoc :method: directives swallowed by immediate private keyword
It appears that the next method takes precedence over the `:method:` directive.
And that directive seems like parsed as a simple document.
nobu (Nobuyoshi Nakada)
02:03 AM Bug #19914: RDoc :method: directives swallowed by immediate private keyword
With a simplified example like bellow, `private` does not affect the results.
```ruby
class Bug19914
##
# :method: foo
#
# :call-seq: foo(*args)
#
# Foo
private
end
```
nobu (Nobuyoshi Nakada)
01:36 AM Bug #19914: RDoc :method: directives swallowed by immediate private keyword
zzak (zzak _) wrote:
> @jonathanhefner Recently discovered this bug in RDoc and fixed it in Rails, so I'm reporting it here on their behalf.
> ...
This should probably be reported to https://github.com/ruby/rdoc/issues instead.
austin (Austin Ziegler)
12:15 AM Bug #19914 (Feedback): RDoc :method: directives swallowed by immediate private keyword
@jonathanhefner Recently discovered this bug in RDoc and fixed it in Rails, so I'm reporting it here on their behalf.
Examples:
* https://github.com/rails/rails/commit/c8b3642eded5a25ee5cc11c48395bed05f92424e
* https://github.com/...
zzak (zzak _)

10/07/2023

04:04 PM Revision bf71b0ed (git): [rubygems/rubygems] Optimize allocations in Gem::Version
From running in a random rails app I have locally, here are the changes
1) for `bundle lock --update --bundler` (forcing Bundler to go through
dependency resolution)
```
==> memprof.after.txt <==
Total allocated: 2.98 MB (48307 objects...
segiddins (Samuel Giddins)
02:45 PM Feature #19884: Make Safe Navigation Operator work on classes
sawa (Tsuyoshi Sawada) wrote in #note-6:
> Then you should edit and write that in the description.
I've updated the description. Hopefully it's more clear now.

> ...
```ruby
defined?(UndefinedConstant) # returns nil instead of...
p8 (Petrik de Heus)
11:37 AM Feature #19884: Make Safe Navigation Operator work on classes
p8 (Petrik de Heus) wrote in #note-5:
> > Furthermore, the specification you are asking for is not clear. What Exception classes do you want `&.` to rescue?
> ...
Then you should edit and write that in the description.
> `defined?` ...
sawa (Tsuyoshi Sawada)
10:00 AM Feature #19884: Make Safe Navigation Operator work on classes
sawa (Tsuyoshi Sawada) wrote in #note-1:
> Currently, you can do `ActiveRecord::Base.some_method rescue nil`
That would also rescue UndefinedMethodError, ArgumentError, and any error occuring in `some_method`.
> ...
`NameError`
...
p8 (Petrik de Heus)
09:50 AM Feature #19884: Make Safe Navigation Operator work on classes
There's multiple examples in the Rails code base:
https://github.com/rails/rails/blob/7f7f9df8641e35a076fe26bd097f6a1b22cb4e2d/railties/lib/rails/generators/named_base.rb#L139
https://github.com/rails/rails/blob/7f7f9df8641e35a076fe26bd...
p8 (Petrik de Heus)
02:24 AM Feature #19884: Make Safe Navigation Operator work on classes
@rubyFeedback
It's common in library code, that want's to be flexible to different configurations of the target application. E.g. https://github.com/rubocop/rubocop/blob/a455e9d55771f1e3dfea0cc4183e66f9632b431c/lib/rubocop/lockfile.rb...
AMomchilov (Alexander Momchilov)
08:54 AM Revision 5810304c (git): Remove not used fields from asgn nodes
yui-knk (Kaneko Yuichiro)
08:54 AM Revision 529a651f (git): Differentiate ASGN nodes
yui-knk (Kaneko Yuichiro)
08:54 AM Revision fbd53467 (git): Correctly casting node for accessing nd_value and nd_vid in compile.c
yui-knk (Kaneko Yuichiro)
08:54 AM Revision b7ee728a (git): Correctly casting node for accessing nd_value and nd_vid in parse.y
yui-knk (Kaneko Yuichiro)
08:54 AM Revision f28d3803 (git): Pass nd_value to NODE_REQUIRED_KEYWORD_P
yui-knk (Kaneko Yuichiro)
08:54 AM Revision b1a3c11c (git): Use rb_node_masgn_t instead of NODE
yui-knk (Kaneko Yuichiro)
03:25 AM Misc #19883: DevMeeting-2023-10-12
* [Misc #18984] Doc for Range#size for Float/Rational does not make sense (kyanagi)
* Range#size may return a non-nil value even if the range can't be iterated.
* Should it return nil?
* [Feature #18515] Add Range#reverse_each imp...
kyanagi (Kouhei Yanagita)
12:47 AM Misc #18984: Doc for Range#size for Float/Rational does not make sense
It seems that there is a similar issue with beginless ranges.
```
(..0).size # => Infinity
(..0).count # => Infinity
(..0).each {} # => can't iterate from NilClass (TypeError)
```
Is it reasonable to say the size is infinite ev...
kyanagi (Kouhei Yanagita)
 

Also available in: Atom