Project

General

Profile

Activity

From 05/05/2024 to 05/11/2024

05/11/2024

09:41 PM Feature #20484 (Feedback): A new pragma for eager resolution of classes referenced in rescue clauses.
I've been using Ruby for 20 years, and just today learned (the hard way) that the class name(s) referenced in a `rescue` clause are not resolved until an exception occurs.
Upon reflection, this behavior probably makes sense in a lot o...
jfrisby (Jon Frisby)
06:12 PM Feature #20483 (Open): More intuitive initialisation of null Range
Hi all 👋🏻
I've come across cases where I want a method to return a Range. In some cases, the Range should be empty.
I see from the documentation, that it's possible to initialise a null Range by passing in values where a is greate...
bodacious (Gavin Morrice)
04:45 PM Bug #20482 (Closed): nil variables in a guard clause of a standalone => or in expression

The following expression produces a TypeError, which is quite unexpected:
```ruby
[1, 2] in a, b if b == 2*a
```
```
x.rb:1:in `*': nil can't be coerced into Integer (TypeError)
[1, 2] in a, b if b == 2*a
...
Soilent (Konstantin x)
04:21 PM Feature #20300: Hash: set value and get pre-existing value in one call
mame (Yusuke Endoh) wrote in #note-24:
> It was originally intended as a method to improve the efficiency of `Set#add?`, but the use case was shifted to a method for thread safety. This history makes the use case less persuasive.
T...
AMomchilov (Alexander Momchilov)
11:47 AM Revision 7e604a02 (git): Fix SEGV when ripper hits `backref_error` on `command_asgn` or `arg`
yui-knk (Kaneko Yuichiro)
01:12 AM Bug #20481 (Closed): Untrusted Marshal data can overwrite class/module instance variables
The following code snippet shows how class/module instance variables can be overwritten in Ruby. Checked on Ruby 3.3.1.
```ruby
class <<Object; attr_reader :foo; end
p Object.foo
# => nil
# Marshal.load("\x04\x08Ic\x0BObject\x...
qnighy (Masaki Hara)

05/10/2024

05:19 PM Revision 68b6fe70 (git): [ruby/reline] Avoid STDIN.winsize called in `require "reline"`
(https://github.com/ruby/reline/pull/703)
https://github.com/ruby/reline/commit/21891c47c4
tompng (tomoya ishida)
05:10 PM Revision 3ec5a932 (git): Update default gems list at afdfff933fefa17a8ef12f791b7f36 [ci skip]
git[bot]
05:09 PM Revision afdfff93 (git): [PRISM] Bump to version 0.29.0
kddnewton (Kevin Newton)
05:09 PM Revision 2e4f3739 (git): [PRISM] Enable passing argument forwarding tests
kddnewton (Kevin Newton)
03:54 PM Revision 83f481eb (git): [ruby/prism] Enhance parameter forwarding error messages
https://github.com/ruby/prism/commit/826657232e kddnewton (Kevin Newton)
03:48 PM Revision 955f1323 (git): [PRISM] Enable passing IRB tests
kddnewton (Kevin Newton)
03:47 PM Revision 77b6c980 (git): [PRISM] Handle operator->binary_operator rename
kddnewton (Kevin Newton)
03:47 PM Revision 2e446645 (git): [ruby/prism] operator rename
https://github.com/ruby/prism/commit/b5e47f5c42 kddnewton (Kevin Newton)
03:00 PM Misc #20436: DevMeeting at RubyKaigi 2024
* [Misc #20238] Use prism for mk_builtin_loader.rb
* This was discussed at a previous dev meeting, but not everyone was present, so I would like to discuss it again.
* [Bug #20401] Duplicated when clause warning line number
* Is i...
kddnewton (Kevin Newton)
02:47 PM Revision 34e0b5b2 (git): [ruby/prism] Fix tapioca require order
https://github.com/ruby/prism/commit/15bf727881 kddnewton (Kevin Newton)
01:58 PM Revision 2bc309e7 (git): [ruby/prism] Fix RBS outside of prism
https://github.com/ruby/prism/commit/ee73ad757f kddnewton (Kevin Newton)
01:44 PM Bug #20478: Circular parameter syntax error rules
Yes, I very much think they should all be syntax errors. kddnewton (Kevin Newton)
07:48 AM Bug #20478: Circular parameter syntax error rules
Given that these `Proc`s are only created if the argument `bar` is not assigned, should they all be syntax errors? nobu (Nobuyoshi Nakada)
01:40 PM Revision 3f664c37 (git): [ruby/prism] Prism::CallNode#full_message_loc
https://github.com/ruby/prism/commit/fa6fe9be84 kddnewton (Kevin Newton)
11:40 AM Revision c68bb240 (git): [ruby/irb] Add a new initialization step to validate IRB.conf's
values
(https://github.com/ruby/irb/pull/953)
Currently, users can only find out that they have set a wrong value
for IRB configs when the value is used, with opaque error messages like
"comparison of Integer with true failed (TypeError...
st0012 (Stan Lo)
10:53 AM Bug #20480: Complie failure for unable to configure NET_LUID using msys2 mingw64-gcc
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Could you share `AC_CHECK_TYPE([NET_LUID], ...)` part in your config.log?
I see, maybe there is a compiler bug, produce a Segmentation fault in NET_LUID check
```
configure:13208: checking for ...
nekoyama32767 (Jinsong Yu)
09:31 AM Bug #20480: Complie failure for unable to configure NET_LUID using msys2 mingw64-gcc
Could you share `AC_CHECK_TYPE([NET_LUID], ...)` part in your config.log? nobu (Nobuyoshi Nakada)
08:34 AM Bug #20480 (Open): Complie failure for unable to configure NET_LUID using msys2 mingw64-gcc
Master commit:`2f915e729ac8c66f4009f4b28a57773923d7e7d1`
NET_LUID is not successfully checked in win32 configure.
When try to compile in msys2 mingw64-gcc there will be a error message like follow.
```
win32/win32.c:4365:7: error: ...
nekoyama32767 (Jinsong Yu)
09:39 AM Revision 69d0a3b0 (git): [ruby/irb] Simplify regexp to account for prism error messages
(https://github.com/ruby/irb/pull/954)
https://github.com/ruby/irb/commit/e0c29be074
Co-authored-by: Stan Lo <stan001212@gmail.com>
kddnewton (Kevin Newton)
04:54 AM Revision 2f915e72 (git): [PRISM] Enable passing test_string
kddnewton (Kevin Newton)
04:54 AM Revision 346f7bf3 (git): [ruby/prism] Fix escaping control+x
https://github.com/ruby/prism/commit/0f0b4c1161 kddnewton (Kevin Newton)
03:16 AM Revision f53b46e9 (git): Bump ossf/scorecard-action from 2.3.1 to 2.3.3
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.3.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md...
dependabot[bot]
12:55 AM Revision fd2876e6 (git): Update ASAN docs to refer to Clang 18's release
Clang 18 has the bugfix we need, so we no longer need to tell people to
compile Clang from source.
kjtsanaktsidis (KJ Tsanaktsidis)

05/09/2024

08:29 PM Feature #20443: Allow Major GC's to be disabled
matz (Yukihiro Matsumoto) wrote in #note-12:
> I am neutral on this proposal. However, I am concerned that there may not be a Major GC when GC made pluggable.
> ...
I think this is still relevant when GC is pluggable. Ruby will always ...
eightbitraptor (Matt V-H)
12:56 PM Feature #20443: Allow Major GC's to be disabled
I am neutral on this proposal. However, I am concerned that there may not be a Major GC when GC made pluggable.
Matz.
matz (Yukihiro Matsumoto)
07:39 PM Bug #20479: Ensure line number in begin...end in method
It's only visible if you manually `RubyVM::InstructionSequence.compile` and then specifically ask an ensure ISEQ for `first_lineno`. This doesn't seem likely, and since RubyVM::ISEQ is private, it should be okay? kddnewton (Kevin Newton)
01:20 AM Bug #20479: Ensure line number in begin...end in method
Is the line number in NODE_ENSURE visible to the user?
When I introduced node location, I wanted to match the line number with the first_lineno of the location if possible. However, since lineno has been heuristically tuned and there ...
mame (Yusuke Endoh)
01:46 PM Feature #20415: Precompute literal String hash code during compilation
So there's pretty much only two `yjit-bench` benchmarks on which it makes a visible difference `rack` and `liquid-c`, both use string literal keys:
(ran 3 times to account for variance)
```
head: ruby 3.4.0dev (2024-05-09T10:37:25...
byroot (Jean Boussier)
12:54 PM Feature #20415: Precompute literal String hash code during compilation
> Is using a string literal as a hash key very common?
It's quite common in a few places, e.g. Active Record attribute accessors generate code such as:
```ruby
# frozen_string_literal: true
def title
_read_attribute("title")
...
byroot (Jean Boussier)
12:48 PM Feature #20415: Precompute literal String hash code during compilation
The benchmark seems great. But I'm not yet sure if this is worth the hustle. Is using a string _literal_ as a hash key very common? It would be much convincing to me if there are any non-micro benchmarks. shyouhei (Shyouhei Urabe)
01:38 PM Revision 444030fc (git): [PRISM] Enable passing tests
kddnewton (Kevin Newton)
10:37 AM Revision 74c911df (git): Add a ruby_bug spec for String#index clearing $~
[Bug #20421]
The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a
byroot (Jean Boussier)
10:33 AM Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
Here's more targeted patch for Ruby 3.2: https://github.com/ruby/ruby/pull/10751 byroot (Jean Boussier)
09:59 AM Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
I got a ruby-bug spec at https://github.com/ruby/ruby/pull/10750
As for 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a, it might make sense to make a more targeted fix for backport, as this is a more general refactor.
byroot (Jean Boussier)
10:26 AM Bug #19920 (Closed): Ruby 3.1 fails to build with --enable-shared on macos-arm64: is an incompatible architecture (have 'arm64', need '')
Closing this to mark it as backport required for 3.1.
The commit to backport is https://github.com/ruby/ruby/commit/48644e71096c70132be9dfdcbfb414ec2e68d18b
Eregon (Benoit Daloze)
10:23 AM Revision e82138e4 (git): Stabilize TestObjSpace#test_dump_special_consts
The test assumes `:foo` is a static symbol, but that is only true
if a literal `:foo` was parsed before `"foo".to_sym` was evaled:
```ruby
require 'objspace'
foo_sym = "foo".to_sym
puts ObjectSpace.dump(eval(":foo"))
```
```
{"address"...
byroot (Jean Boussier)
09:53 AM Revision 8b3280be (git): Update default gems list at fba7bdb710de11343fe7acaac8eba3 [ci skip]
git[bot]
09:52 AM Revision fba7bdb7 (git): [ruby/reline] Bump version to 0.5.6
(https://github.com/ruby/reline/pull/700)
https://github.com/ruby/reline/commit/1b6c29a2b1
ima1zumi (Mari Imaizumi)
08:58 AM Misc #17569 (Closed): `uri` lib maintainership
We have been merged the followings instead of https://github.com/ruby/uri/pull/15
* https://github.com/ruby/uri/pull/22
* https://github.com/ruby/uri/pull/26
* https://github.com/ruby/uri/pull/27
I'll close this.
hsbt (Hiroshi SHIBATA)
08:53 AM Feature #20469 (Third Party's Issue): Add a JSON addition for Enumerator::ArithmeticSequence
hsbt (Hiroshi SHIBATA)
08:51 AM Feature #19528 (Third Party's Issue): `JSON.load` defaults are surprising (`create_additions: true`)
hsbt (Hiroshi SHIBATA)
08:39 AM Revision fb6cfb41 (git): Mark rdoc as bundled gems at Ruby 3.5
hsbt (Hiroshi SHIBATA)
06:59 AM Revision 6bff0707 (git): Update bundled gems list as of 2024-05-08
git[bot]
06:22 AM Revision 9df3f205 (git): test-syntax-suggest is not working with mswin environment
hsbt (Hiroshi SHIBATA)
03:28 AM Revision 43b18dac (git): Bump github/codeql-action from 3.25.3 to 3.25.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.3 to 3.25.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
02:40 AM Revision d10615c0 (git): [DOC] Update `--dump` option arguments in the ruby man page
Related to [Feature #20329]. nobu (Nobuyoshi Nakada)
01:45 AM Revision 58bde016 (git): [DOC] Fix the pattern for man pages
nobu (Nobuyoshi Nakada)
01:11 AM Revision d6564615 (git): Fix format specifier for `DWORD`
nobu (Nobuyoshi Nakada)
01:11 AM Revision d224bfdc (git): `redblack_cache_ancestors` is enabled only when `mmap` is available
nobu (Nobuyoshi Nakada)

05/08/2024

11:58 PM Revision 8bd6ae4c (git): [rubygems/rubygems] Monthly man update for May 2024.
https://github.com/rubygems/rubygems/commit/9ee7069841 retro (Josef Šimánek)
06:56 PM Revision 442e398e (git): [ruby/prism] Ensure keyword parameters are not constants
https://github.com/ruby/prism/commit/fd210115c1 kddnewton (Kevin Newton)
06:43 PM Bug #20479 (Closed): Ensure line number in begin...end in method
In the following example:
```ruby
def foo
begin
rescue
p :rescue
ensure
p :ensure
end
end
```
the ISEQ has the label: `#<ISeq:ensure in foo@test.rb:6 (6,4)-(6,13)>`, but tracepoint reports that `first_linen...
kddnewton (Kevin Newton)
05:58 PM Revision 128c9a92 (git): [ruby/prism] Enhance def params term error message
https://github.com/ruby/prism/commit/3af1acd5da kddnewton (Kevin Newton)
05:30 PM Revision 2d631cf4 (git): [ruby/prism] Fix line number of unreachable statement warning
https://github.com/ruby/prism/commit/62f6b1f2e2 kddnewton (Kevin Newton)
04:52 PM Revision 61829eec (git): [ruby/prism] Ensure keyword parameters do not end in ! or ?
https://github.com/ruby/prism/commit/57d86a8545 kddnewton (Kevin Newton)
04:38 PM Revision 84ba35e8 (git): [ruby/prism] Invalid escape character syntax for nested unicode escapes
https://github.com/ruby/prism/commit/623a0bb995 kddnewton (Kevin Newton)
04:26 PM Revision 7c1e11fe (git): [ruby/prism] Validate Unicode escape sequences are not surrogates
https://github.com/ruby/prism/commit/64d2ce2622 kddnewton (Kevin Newton)
04:07 PM Bug #20478 (Closed): Circular parameter syntax error rules
I would like to revisit https://bugs.ruby-lang.org/issues/16343.
These cases are syntax errors:
```ruby
def foo(bar = -> { bar }) end # no lambda parameters
def foo(bar = ->() { bar }) end # no lambda parameters
def fo...
kddnewton (Kevin Newton)
04:02 PM Revision e9378788 (git): Revert "Update revision.h if branch unmatch not only revision"
This reverts commit 5a332940ed2f809cb17af7e4d068089b6e1fa6ca.
Something does not work well on Github Actions.
nobu (Nobuyoshi Nakada)
04:00 PM Revision 26446ccc (git): [ruby/reline] Implement bracketed paste insert
(https://github.com/ruby/reline/pull/655)
https://github.com/ruby/reline/commit/e92dcbf514
tompng (tomoya ishida)
02:22 PM Revision ad9c89fa (git): Update default gems list at 548a72e537e4a189817f7e6ca28ad8 [ci skip]
git[bot]
02:20 PM Revision 548a72e5 (git): [PRISM] Sync prism version bump
kddnewton (Kevin Newton)
02:18 PM Revision 06a1df3e (git): [PRISM] Enable more passing tests
kddnewton (Kevin Newton)
12:52 PM Revision 74d948a6 (git): [ruby/prism] Better error message on missing hash value
https://github.com/ruby/prism/commit/b20e37e82e kddnewton (Kevin Newton)
12:39 PM Revision 5a332940 (git): Update revision.h if branch unmatch not only revision [ci skip]
nobu (Nobuyoshi Nakada)
12:24 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
> If we don't want to change that, then how about simply quoting these symbols that need it?
+1
Dan0042 (Daniel DeLorme)
12:20 PM Bug #20474: Heredoc common leading whitespace calculation question
> However, the string is equal to `"\nh\n\n"`.
I would have expected it to be
```
" \nh\n \n"
```
but ignoring all whitespace from blank lines seems like a convenient feature to me.
> ...
I'm pretty sure that's normal;...
Dan0042 (Daniel DeLorme)
12:14 PM Bug #20474: Heredoc common leading whitespace calculation question
Thank you! kddnewton (Kevin Newton)
12:12 PM Bug #20474 (Closed): Heredoc common leading whitespace calculation question
Applied in changeset commit:git|5bb656e4f063e717262efe2dc303ed914eb1dd6c.
----------
[Bug #20474] Keep spaces in leading blank line
nobu (Nobuyoshi Nakada)
06:05 AM Bug #20474: Heredoc common leading whitespace calculation question
It looks like a bug. nobu (Nobuyoshi Nakada)
12:12 PM Revision ba062a62 (git): [PRISM] Use correct warning encoding
kddnewton (Kevin Newton)
11:12 AM Revision a10a0d0c (git): CI: Pass -O2 for annocheck
Because `optflags` is pasted into the invocation line after `CC`, we were
building with -O1 unintentionally. You can see this in the configuration
summary: https://github.com/ruby/ruby/actions/runs/3933391169/jobs/6727044423#step:9:753
...
alanwu (Alan Wu)
11:12 AM Revision 8029ee41 (git): [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
This commit fixes the following errors in the tests.
Because the OpenSSL project changed the code to make the time string format
without second invalid. So, we drop the assertions.
```
1) Error: test_generalizedtime(OpenSSL::TestASN1): ...
Jun Aruga
11:12 AM Revision 0ca642cd (git): [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
OpenSSL 3.3.0 9 Apr 2024 is also broken.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
https://github.com/ruby/net-http/commit/ab525c956d
Xi Ruoyao
10:25 AM Revision 5bb656e4 (git): [Bug #20474] Keep spaces in leading blank line
nobu (Nobuyoshi Nakada)
10:20 AM Bug #20477: RJIT NoMatchingPatternError when initialize Hash literal with more 8 items
Thank you!
I guessed, RJIT will be production solution in some future, sorry.
ukolovda (Dmitry Ukolov)
09:44 AM Bug #20477: RJIT NoMatchingPatternError when initialize Hash literal with more 8 items
Thanks for the easy reproduction steps. As a reminder from the previous ticket,
> Given its experimental nature, it's somewhat intended that RJIT's assembler doesn't cover some patterns. It's for developers to try some stuff, so feel ...
k0kubun (Takashi Kokubun)
09:43 AM Bug #20477 (Feedback): RJIT NoMatchingPatternError when initialize Hash literal with more 8 items
k0kubun (Takashi Kokubun)
07:26 AM Bug #20477 (Feedback): RJIT NoMatchingPatternError when initialize Hash literal with more 8 items
When I create Hash with 8 or more items, I got the error:
```bash
ruby --rjit -e "a = 1; 1.upto(10) { b={a1: a&1, a2: a&1, a3: a&1, a4: a&1, a5: a&1, a6: a&1, a7: a&1, a8: a&1} }"
/home/ukolovda/.rvm/rubies/ruby-3.3.1/lib/ruby/3....
ukolovda (Dmitry Ukolov)
09:39 AM Revision 841b45a4 (git): [ruby/openssl] Add to_text for PKCS7 and Timestamp::Response
https://github.com/ruby/openssl/commit/71cd1e3f5c segiddins (Samuel Giddins)
08:24 AM Revision aabe718e (git): Show the caller location of assertion methods
Not only defined in `Test::Unit` or `CoreAssertions`, also show the
caller location of assertion methods defined in the current class or
ancestors.
nobu (Nobuyoshi Nakada)
07:29 AM Bug #20475: RJIT `and' NoMatchingPatternError
Make new issue #20477 with reproduce steps ukolovda (Dmitry Ukolov)

05/07/2024

11:25 PM Feature #20476: Add Enumerator#eager that returns self, like Enumerator::Lazy#lazy
Added a PR https://github.com/ruby/ruby/pull/10739 shan (Shannon Skipper)
11:24 PM Feature #20476 (Open): Add Enumerator#eager that returns self, like Enumerator::Lazy#lazy
I'd like to propose adding an Enumerator#eager method. We currently have Enumerator#lazy, Enumerator::Lazy#lazy, Enumerator::Lazy#eager, but not Enumerator#eager.
I like that you can always call `enum.lazy` with any type of Enumerator...
shan (Shannon Skipper)
08:50 PM Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
We should also add a test so this doesn't regress on 3.3 & master, that seems fine as a `ruby_bug` spec in ruby/spec. Eregon (Benoit Daloze)
08:48 PM Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
Given this is a clear bug (which can break programs' logic) I think it's good to backport. Eregon (Benoit Daloze)
04:57 PM Bug #20421 (Closed): String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
The issue doesn't affect 3.3 and master. It appears fixed by commit:9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a. If you would like the fix backported to 3.2, please respond. jeremyevans0 (Jeremy Evans)
08:45 PM Bug #20475 (Feedback): RJIT `and' NoMatchingPatternError
Given its experimental nature, it's somewhat intended that RJIT's assembler doesn't cover some patterns. It's for developers to try some stuff, so feel free to open a pull request to add support for that instruction encoding, or just swi... k0kubun (Takashi Kokubun)
08:30 PM Bug #20475 (Feedback): RJIT `and' NoMatchingPatternError
I try use RJIT for testing of Rails application:
```bash
$ RUBYOPT="--rjit" bin/bundle exec rake test
Started with run options --seed 63595
...
/home/ukolovda/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/ruby_vm/rjit/assembler.rb:124:in ...
ukolovda (Dmitry Ukolov)
08:44 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
I think always having spaces would help readability.
If we don't want to change that, then how about simply quoting these symbols that need it?
Eregon (Benoit Daloze)
07:01 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
I submitted a pull request for the most backwards compatible change, which only uses spaces around `=>` for symbols ending in `[!?*=<]`: https://github.com/ruby/ruby/pull/10737 jeremyevans0 (Jeremy Evans)
06:32 PM Bug #20474 (Closed): Heredoc common leading whitespace calculation question
I think I understand that <<~ will strip common leading whitespace from all lines. However, I am confused by the following example:
```ruby
eval("<<~H\n \nh\n \nH\n")
```
In this example, the heredoc has 3 lines: " \n...
kddnewton (Kevin Newton)
06:24 PM Revision b4b39a61 (git): [PRISM] Enable test_methoddef_endless_command
kddnewton (Kevin Newton)
06:24 PM Revision 2bfc4875 (git): [PRISM] Enable more passing tests
kddnewton (Kevin Newton)
06:03 PM Revision 21b94ae0 (git): [ruby/prism] Extend error message for unterminated HEREDOC
https://github.com/ruby/prism/commit/c1b07ec11b kddnewton (Kevin Newton)
05:22 PM Revision dcbe0edb (git): [ruby/prism] Better error message for contents of hash pattern
https://github.com/ruby/prism/commit/60dbf60f48 kddnewton (Kevin Newton)
05:15 PM Revision 5d448468 (git): [ruby/prism] Disallow implicit hash in array pattern
https://github.com/ruby/prism/commit/bdd509c6ac kddnewton (Kevin Newton)
04:44 PM Revision ef3803ed (git): Ignore the result of pthread_kill in ubf_wakeup_thread
After an upgrade to Ruby 3.3.0, I experienced reproducible production crashes
of the form:
[BUG] pthread_kill: No such process (ESRCH)
This is the only pthread_kill call in Ruby. The result of pthread_kill was
previously ignored in Rub...
jeremyevans (Jeremy Evans)
04:31 PM Revision 8ec1c416 (git): [ruby/prism] Specific error message for symbol literal with interpolation in hash patterns
https://github.com/ruby/prism/commit/31f0201bae kddnewton (Kevin Newton)
04:31 PM Revision 8cc733df (git): [ruby/prism] Add error for invalid implicit local writes
https://github.com/ruby/prism/commit/ab21882561 kddnewton (Kevin Newton)
02:56 PM Revision eb8efa42 (git): [ruby/prism] shareable_constant_value line warnings
https://github.com/ruby/prism/commit/8c984b6922 kddnewton (Kevin Newton)
01:48 PM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
True, OTOH the trade-offs made in #15554 like every method using `super` considered to "accept a block" might not be suitable for static analysis.
And it's also fairly easy to find whether a method uses `yield` and has a block parameter...
Eregon (Benoit Daloze)
12:57 PM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
This already exists for `**nil`, as in:
```ruby
irb(main):001> def foo(**nil); end
=> :foo
irb(main):002> method(:foo).parameters
=> [[:nokey]]
irb(main):003>
```
I think adding this would be really nice from any static persp...
kddnewton (Kevin Newton)
12:17 PM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
From https://bugs.ruby-lang.org/issues/20436#note-12:
@ufuk wrote:
> Can we at least get runtime introspection for methods that should not be accepting a block? Something like: `method(:foo).parameters #=> [:noblock]` maybe?
`#param...
Eregon (Benoit Daloze)
01:25 PM Bug #20468: Segfault on safe navigation in for target
@nobu it's the same possibilities in `for`, `rescue`, and multi-write. As in:
```ruby
for (foo, @foo, @@foo, $foo, Foo, Foo::Foo, foo.foo, foo[foo]) in bar; end
begin; rescue => foo; end
begin; rescue => @foo; end
begin; rescue ...
kddnewton (Kevin Newton)
11:57 AM Misc #20436: DevMeeting at RubyKaigi 2024
* [Misc #20432] Proposal for workflow changes related to teeny releases (ufuk)
* Can we discuss the proposals to make branch maintainers' lives easier, so that we can target 6-7 teeny releases per stable version per year?
* [Feature ...
ufuk (Ufuk Kayserilioglu)
05:58 AM Misc #20436: DevMeeting at RubyKaigi 2024
* [Feature #20437] Could be the licensing conditions be made less ambiguous?
* [Bug #20438][Bug #20439] String format "%\n" and "%\0" does not raise format error
* "%\n" has been treated as "%%" since commit:554b989ba162 , probably Tue...
nobu (Nobuyoshi Nakada)
06:59 AM Revision e1e6b497 (git): Update bundled gems list as of 2024-05-07
git[bot]
05:36 AM Revision 80adf6a1 (git): [rubygems/rubygems] Accept WASI as an OS name in Gem::Platform
https://github.com/rubygems/rubygems/commit/1209d3c6b0 katei (Yuta Saito)
04:03 AM Bug #20465: parse.y adds an extra empty string to the AST
tenderlovemaking (Aaron Patterson) wrote in #note-2:
> It's not a problem for the compiler (of course), but a problem for the language server use case. Users didn't write `""` there, so consumers of the AST will have to detect and hand...
nobu (Nobuyoshi Nakada)
04:01 AM Feature #15554: warn/error passing a block to a method which never use a block
I want the message to be separated for caller and callee, to tag jump.
Current:
> /home/runner/.rubies/ruby-head/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:284: warning: the block passed to 'priority_setup' d...
nobu (Nobuyoshi Nakada)
03:37 AM Revision 7c8903d0 (git): Bump actions/checkout from 4.1.4 to 4.1.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
02:55 AM Revision e9356bec (git): Bump actions/checkout in /.github/actions/setup/directories
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]

05/06/2024

11:06 PM Revision 481e16d5 (git): [PRISM] Support for compiling ractor constant path writes
kddnewton (Kevin Newton)
11:06 PM Revision eeba1581 (git): [PRISM] Support for compiling ractor constant writes
kddnewton (Kevin Newton)
06:58 PM Feature #20205: Enable `frozen_string_literal` by default
While your concern is absolutely valid, I don't think it's much of a problem in practice. There is pretty much an infinite amount of code out there, so I don't think there is any way really to discount it, but after having migrated a gig... byroot (Jean Boussier)
06:00 PM Feature #20205: Enable `frozen_string_literal` by default
I am a bit late to the party but nobody seems to have raised a concern I have.
If a chilled string appears to be `frozen?` then a consumer may proceed to use the string expecting it to remain frozen, such as for a cache key. If that s...
headius (Charles Nutter)
06:56 PM Bug #20473 (Assigned): Ractor array/hash literals
There are many optimizations in place in the compiler to ensure Ruby doesn't overflow the stack when an array or hash literal has many values. For example:
```ruby
puts RubyVM::InstructionSequence.compile(<<~RUBY).disasm
[#{Array.ne...
kddnewton (Kevin Newton)
05:39 PM Bug #20472 (Assigned): Ractor support for ** into hash literal
```ruby
# shareable_constant_value: experimental_copy
a = { "foo" => "bar" }
A = { **a }
```
In this example, Ruby fails an assertion and crashes. I think we should either provide support for this, or we should explicitly provide ...
kddnewton (Kevin Newton)
05:06 PM Revision 00b1553d (git): [rubygems/rubygems] Remove more unnecessary compatibility code
https://github.com/rubygems/rubygems/commit/00d91f141b deivid (David RodrĂ­guez)
05:06 PM Revision 5c018cdd (git): [rubygems/rubygems] Remove unnecessary compatibility code
https://github.com/rubygems/rubygems/commit/160a515412 deivid (David RodrĂ­guez)
04:09 PM Revision e2769295 (git): [PRISM] Enable test_unexpected_fraction
kddnewton (Kevin Newton)
04:09 PM Revision d4fdc459 (git): [ruby/prism] Unexpected fractional component error messages
https://github.com/ruby/prism/commit/e893bc2230 kddnewton (Kevin Newton)
04:09 PM Revision 5e6bb085 (git): [PRISM] Enable passing forwarding parameter tests
kddnewton (Kevin Newton)
04:09 PM Revision f92d82ef (git): [ruby/prism] More specific error for conflicting forwarding parameters
https://github.com/ruby/prism/commit/1c3b48fedb kddnewton (Kevin Newton)
03:12 PM Revision 14d40082 (git): [PRISM] Enable passing test_brace_after_literal_argument test
kddnewton (Kevin Newton)
03:09 PM Revision 5909186d (git): [ruby/prism] Fix up error message for unexpected {
https://github.com/ruby/prism/commit/80dbe035ba kddnewton (Kevin Newton)
02:56 PM Revision 88d74a48 (git): [DOC] Fix typos in WeakMap docs
Earlopain (Earlopain _)
02:28 PM Revision 1df1edc0 (git): YJIT: Fix comment and counter in rb_yjit_invalidate_ep_is_bp() (#10722)
`mem::take` substitutes an empty instance which makes `jit.ep_is_bp()`
return false.
alanwu (Alan Wu)
01:29 PM Feature #17944: Remove Socket.gethostbyaddr and Socket.gethostbyname
The commit for the deprecated documents was added in 2017.
Deprecation document for gethostbyname,gethostbyaddr.
https://github.com/ruby/ruby/commit/b5c6fc856100b17b6f20e6e792a02ee7e33306bc
Date: Sat Oct 21 13:13:02 2017 +0000
The co...
jaruga (Jun Aruga)
09:07 AM Misc #20436: DevMeeting at RubyKaigi 2024
- [Feature #20415] Precompute literal String hash code during compilation (byroot / etienne)
- Simple optimization that closes most of the performance gap between symbol indexed hashes and string indexed ones for string literals.
-...
byroot (Jean Boussier)
04:51 AM Revision a5cb8c8c (git): [DOC] rewrite inject doc (#10009)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Dennis Dashkevich <dskecse@gmail.com>
Dave Thomas
02:51 AM Revision 2a807bcd (git): Bump ruby/setup-ruby from 1.175.1 to 1.176.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.175.1 to 1.176.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/1198b074305f9356bd56dd4b311757cc0d...
dependabot[bot]

05/05/2024

11:22 PM Revision 95ae1233 (git): [ruby/did_you_mean] Move development dependencies to Gemfile
https://github.com/ruby/did_you_mean/commit/24c06dd509 nobu (Nobuyoshi Nakada)
05:24 PM Bug #20168 (Closed): Process won't exit when Ractor.select waiting a Ractor
Applied in changeset commit:git|6747fbe77dcac26a457bb1386f55f3c27321040a.
----------
Fix interrupts during Ractor.select
Fixes [Bug #20168]
luke-gru (Luke Gruber)
03:20 PM Bug #18995: IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
@jeremyevans0, did you ever take a look at this issue when I referenced it in #18899? The behavior is unchanged in Ruby 3.3.
The script above prints the following:
```
external encoding: #<Encoding:UTF-8> internal encoding: #<...
javanthropus (Jeremy Bopp)
03:14 PM Revision 6747fbe7 (git): Fix interrupts during Ractor.select
Fixes [Bug #20168] luke-gru (Luke Gruber)
01:37 PM Bug #20471: Problem creating a file on a windows share and copy it afterwards
nobu (Nobuyoshi Nakada) wrote in #note-1:
> budiljak (Benjamin Udiljak) wrote:
> ...
Yes. I even tried 5 seconds, but it didn't help neither.
budiljak (Benjamin Udiljak)
11:12 AM Revision 5398a468 (git): Update default gems list at 93cffcf961daa58b5bc0b3e9194b79 [ci skip]
git[bot]
11:11 AM Revision 93cffcf9 (git): [ruby/irb] Bump version to v1.13.1
(https://github.com/ruby/irb/pull/951)
https://github.com/ruby/irb/commit/66318d0a34
st0012 (Stan Lo)
10:44 AM Revision e973f9cb (git): [ruby/irb] Clarify that the context is IRB context
(https://github.com/ruby/irb/pull/950)
https://github.com/ruby/irb/commit/8cde57f55a
st0012 (Stan Lo)
08:00 AM Revision 7d42010f (git): [ruby/openssl] read: don't clear buffer when nothing can be read
To be consistent with regular Ruby IOs:
```ruby
r, _ = IO.pipe
buf = "garbage".b
r.read_nonblock(10, buf, exception: false) # => :wait_readable
p buf # => "garbage"
```
Ref: https://github.com/redis-rb/redis-client/commit/98b8944460a11...
byroot (Jean Boussier)
07:22 AM Revision fca6c55a (git): [ruby/reline] Remove not implemented variables
(https://github.com/ruby/reline/pull/699)
https://github.com/ruby/reline/commit/328699e901
ima1zumi (Mari Imaizumi)
07:09 AM Revision d679afe9 (git): [ruby/reline] Add name defined in readline to completion key
bindings C-i C-p C-n
(https://github.com/ruby/reline/pull/698)
https://github.com/ruby/reline/commit/1314787bbb
tompng (tomoya ishida)
 

Also available in: Atom