Project

General

Profile

Activity

From 09/09/2022 to 09/15/2022

09/15/2022

11:07 PM Bug #19005 (Closed): Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
This seems related to https://bugs.ruby-lang.org/issues/18912 and https://bugs.ruby-lang.org/issues/18981 .
Steps to reproduce:
1. Upgrade to XCode 14.
2. Compile a new Ruby interpreter. I used the version provided in https://gith...
stanhu (Stan Hu)
07:23 PM Feature #18776: Object Shapes
# Summary
The implementation has been updated to solve some performance problems and simplify both source code and generated code.
The performance of this branch against multiple benchmarks, including microbenchmarks, RailsBench an...
jemmai (Jemma Issroff)
02:14 PM Revision cc7f6fe7 (git): YJIT should die if we compile on Aarch64 with no instruction cache clear available (#6380)
YJIT should die if we compile on ARM64 with no icache clear available Noah Gibbs
02:12 PM Revision 64a02032 (git): Add asm comments to make disasm more readable (#6377)
maximecb (Maxime Chevalier-Boisvert)
01:36 PM Misc #18977: DevMeeting-2022-09-22
- [Bug #18978] Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in (peterzhu2118)
- Passing 8 arguments causes both the 7th (microseconds) and 8th arguments to be ignored.
- The behaviour is undocumente...
peterzhu2118 (Peter Zhu)
03:26 AM Misc #18977: DevMeeting-2022-09-22
* [Bug #18960] Module#using raises RuntimeError when called at toplevel from wrapped script (shioyama)
* @jeremyevans0 mentioned this, but I think this is a bug based on common reading of the wrap argument to load.
* See also context...
shioyama (Chris Salzberg)
01:28 PM Bug #18995: IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
Can anyone confirm that this is a bug and not a misunderstanding? It looks like the changes to fix this will require a fair bit of refactoring, and there don't yet appear to be any tests around the various cases for arguments to `IO#set... javanthropus (Jeremy Bopp)
01:16 PM Feature #18885: End of boot advisory API for RubyVM
So I wrote a reproduction script to showcase the effect of constant caches on Copy on Write performance:
```ruby
class MemInfo
def initialize(pid = "self")
@info = parse(File.read("/proc/#{pid}/smaps_rollup"))
end
def...
byroot (Jean Boussier)
11:21 AM Feature #16946: Add an `intersperse` method
Just came across this while attempting to see if there was an elegant way to do this. My use case is that I want to generate an array with separator elements -- specifically, I want to generate a nested array of "cellable" objects in Pra... Vegard (Vegard Itland)
05:49 AM Revision 68a5b0f0 (git): [rubygems/rubygems] Mask the file mode when extracting files
When extracting files from the tarball, a mode is retrieved from
the header. Occasionally you'll encounter a gem that was packaged
on a system whose permission bits result in a value that is larger
than the value that File.chmod will all...
kddnewton (Kevin Newton)
05:48 AM Revision bf72afa7 (git): Remove warning for old TLS version connection
RubyGems.org already has refused connection requests using older than
TLS 1.2.
nobu (Nobuyoshi Nakada)
03:50 AM Revision 6b2b9e00 (git): [rubygems/rubygems] Also added x86_64-darwin-21
https://github.com/rubygems/rubygems/commit/c03e7e1564 hsbt (Hiroshi SHIBATA)
03:50 AM Revision ec0d9a6a (git): [rubygems/rubygems] Added arm64-darwin-22 to lockfiles for testing
https://github.com/rubygems/rubygems/commit/d7956e9ce5 hsbt (Hiroshi SHIBATA)
03:19 AM Feature #10320: require into module
The `wrap` option to `load` has recently been expanded to allow passing a module instead of a boolean (https://bugs.ruby-lang.org/issues/6210) (thanks @jeremyevans0)! This opens the door to new approaches to this problem.
I think there ...
shioyama (Chris Salzberg)
01:25 AM Revision d152ac67 (git): Make CodeQL ignore syntax_suggest because of the performance problem
https://github.com/github/codeql/discussions/10120#discussioncomment-3485880 nobu (Nobuyoshi Nakada)
01:03 AM Feature #12084: `Class#instance`
matz (Yukihiro Matsumoto) wrote in #note-6:
> * `attached_object` is better, at least for singleton classes. But there's still no real-world use-case.
I recently ran into a real-world use-case inside one of the gems I maintain and I ...
ufuk (Ufuk Kayserilioglu)
12:39 AM Revision aecb57ce (git): Fix style on vm_ivar benchmarks (#6379)
jemmai (Jemma Issroff)

09/14/2022

11:25 PM Revision 752ae81e (git): [ruby/irb] Refine assertion for failures
https://github.com/ruby/irb/commit/fd047512b3 nobu (Nobuyoshi Nakada)
11:25 PM Revision ae2e8d36 (git): [ruby/irb] `Dir.mktmpdir` creates a directory including the process ID
https://github.com/ruby/irb/commit/a15f68ffdb nobu (Nobuyoshi Nakada)
10:18 PM Bug #18983: Range#size for beginless Range is not nil.
Nevermind. Build failed. thiagofm (Thiago Massa)
08:50 PM Revision 513a11b4 (git): Add vm_ivar get, get_unitialized, and lazy_set benchmarks
jemmai (Jemma Issroff)
08:22 PM Misc #18977: DevMeeting-2022-09-22
* [Bug #18960] Module#using raises RuntimeError when called at toplevel from wrapped script (jeremyevans0)
* Do we want to support this? I think since #using is permitted at top level and inside a module, we should.
* [Bug #18919] R...
jeremyevans0 (Jeremy Evans)
08:15 PM Revision f98d6d3f (git): YJIT: Implement specialized respond_to? (#6363)
* Add rb_callable_method_entry_or_negative
* YJIT: Implement specialized respond_to?
This implements a specialized respond_to? in YJIT.
* Update yjit/src/codegen.rs
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
jhawthorn (John Hawthorn)
04:38 PM Revision d5cdc2ed (git): [TravisCI] The source of YAML is no longer bundled
nobu (Nobuyoshi Nakada)
04:38 PM Revision fb2e9053 (git): [TravisCI] Make gems/src directory writable
nobu (Nobuyoshi Nakada)
03:32 PM Revision 0953ea64 (git): * 2022-09-15 [ci skip]
git[bot]
03:31 PM Revision b6a9e683 (git): Add noarch-fake.rb target
`yes-fake` depends on it when `arch=noarch` is given, but the rule to
generate it from fake.rb.in is ignored now.
nobu (Nobuyoshi Nakada)
02:32 PM Revision 758a1d73 (git): Initial support for VM_CALL_ARGS_SPLAT (#6341)
* Initial support for VM_CALL_ARGS_SPLAT
This implements support for calls with splat (*) for some methods. In
benchmarks this made very little difference for most benchmarks, but a
large difference for binarytrees. Looking at side exit...
Jimmy Miller
02:27 PM Revision 8f37e9c9 (git): YJIT: Add Opnd#with_num_bits to use only 8 bits (#6359)
* YJIT: Add Opnd#sub_opnd to use only 8 bits
* Add with_num_bits and let arm64_split use it
* Add another assertion to with_num_bits
* Use only with_num_bits
k0kubun (Takashi Kokubun)
02:14 PM Revision 2e25b85a (git): configure.ac: Apply suggestions from code review in #6366
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Kenta Murata
02:10 PM Revision 960db13c (git): Reuse `opt_arg_append` function
S_H_ (Shun Hiraoka)
01:21 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
> Some users even decided to disable it completely because the colors are unreadable to them. I have also seen people sharing tips for disabling this feature: [example](https://twitter.com/sdogruyol/status/1538512030449254400).
JFYI, I'...
k0kubun (Takashi Kokubun)
01:17 PM Revision f512df73 (git): configure.ac: Add --with-gmp-dir (#6366)
Add the `--with-gmp-dir` to specify the prefix directory of GMP.
The`--without-gmp` option is preserved for convenience. It can
be used to force to reject using GMP even if the `--with-gmp-dir`
option is specified.
Kenta Murata
12:24 PM Revision 075df960 (git): Add comments to touch libyjit
nobu (Nobuyoshi Nakada)
12:24 PM Revision e1a9d884 (git): Touch libyjit.a which may be still old due to the cache
nobu (Nobuyoshi Nakada)
12:24 PM Revision f2429f0a (git): Expand dependency for `$(YJIT_LIBS)`
Currently, miniruby is rebuild **always** when yjit is enabled, even
if nothing is changed.
nobu (Nobuyoshi Nakada)
11:12 AM Bug #18914: Segmentation fault during Ruby test suite execution
I believe this error is a problem of the Fiddle gem, as according to FFI upstream, when process forks with allocated FFI Closures on SELinux systems, the Parent and Child process need to coordinate on memory usage see my comment on the F... jprokop (Jarek Prokop)
08:30 AM Revision d66b29cc (git): Add link to how to build Ruby
naruse (Yui NARUSE)
02:27 AM Revision 2e324b64 (git): Manage paths for bundler tests
nobu (Nobuyoshi Nakada)
02:27 AM Revision 035978d7 (git): Pass job-server FDs to bundler tests
nobu (Nobuyoshi Nakada)
02:27 AM Revision c428fc0e (git): -undefined dynamic_lookup is obsolete
nobu (Nobuyoshi Nakada)
02:24 AM Revision c28a4e03 (git): Replace "Fixes"/"Fixed" in commit logs as well as vcs.rb [ci skip]
Use the same regexp to replace "(#NNNN)" and "GH-NNNN" style
references in vcs.rb, too.
nobu (Nobuyoshi Nakada)
02:14 AM Revision f863bc50 (git): [ruby/irb] Fix the error when LC_MESSAGES config value is nil
https://github.com/ruby/irb/commit/6bbde84369 nobu (Nobuyoshi Nakada)
01:53 AM Feature #18571: Removed the bundled sources from release package after Ruby 3.2
commit:e4f5296f065110fa83eb450d3a861253e76e534f removed them. hsbt (Hiroshi SHIBATA)
01:42 AM Revision e2b47b83 (git): configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
nobu (Nobuyoshi Nakada)
01:15 AM Revision 9299db49 (git): [ruby/irb] Fix history file saving with concurrent irb sessions when history file doesn't exist
If history file didn't exist when irb was started, @loaded_history_mtime
would be nil. However, if the history file didn't exist before, but it
exists when saving history, that means the history file was modified,
and we should handle i...
jeremyevans (Jeremy Evans)

09/13/2022

10:21 PM Revision b876230e (git): * 2022-09-14 [ci skip]
git[bot]
10:21 PM Revision 6a78ae2f (git): Remove CODEOWNERS to switch to auto-request-review (#6365)
* Remove CODEOWNERS to switch to auto-request-review
* Random change to test reviews
* Revert "Random change to test reviews"
This reverts commit 814b10d062d82d953019ea4afadc3f8fcf638379.
k0kubun (Takashi Kokubun)
06:44 AM Revision 316b44df (git): Add GMP support for mswin
U.Nakamura
01:48 AM Revision 391eebfe (git): Increase the timeout for make all on MinGW
https://github.com/ruby/ruby/actions/runs/3041702828/jobs/4899106526#step:14:1219 k0kubun (Takashi Kokubun)
01:38 AM Revision 2e21fef6 (git): Drop synchronized event
because it doesn't seem to be working. It's a bit annoying that
synchronized doesn't work, but in many cases, opened and
ready_for_review should be enough. As a last resort, you could
close/reopen it.
Also, the token scope needs to be p...
k0kubun (Takashi Kokubun)
01:24 AM Revision 64cd0970 (git): Tweak the glob for auto_request_review
k0kubun (Takashi Kokubun)
01:18 AM Revision 9179f666 (git): Configure auto_request_review for YJIT team
We need to use pull_request_target instead of pull_request to use secrets.
pull_request_target seems to be executed from the default branch, so
pushing this to master to test this.
k0kubun (Takashi Kokubun)
12:25 AM Revision bc8bbd23 (git): * 2022-09-13 [ci skip]
git[bot]
12:25 AM Revision fcf861a1 (git): Try latest debug.gem
ko1 (Koichi Sasada)

09/12/2022

01:23 PM Feature #18949: Deprecate and remove replicate and dummy encodings
In https://github.com/ruby/ruby/pull/6323 I managed to replace all usages of `rb_define_dummy_encoding()` by just `rb_raise(rb_eArgError, "unknown encoding name - %s", name);`, and all tests pass.
Feedback/review appreciated.
Eregon (Benoit Daloze)
12:05 PM Feature #18949 (Open): Deprecate and remove replicate and dummy encodings
Done:
* Deprecate Encoding#replicate
* Remove get_actual_encoding() and the dynamic endian detection for dummy UTF-16/UTF-32 (https://github.com/ruby/ruby/pull/6322)
Still to do:
* Limit the number of dynamic encodings defined by rb_def...
Eregon (Benoit Daloze)
12:02 PM Feature #18949 (Closed): Deprecate and remove replicate and dummy encodings
Applied in changeset commit:git|6525b6f760ccd9612c9546b0313ab1c7e4af5e66.
----------
Remove get_actual_encoding() and the dynamic endian detection for dummy UTF-16/UTF-32
* And simplify callers of get_actual_encoding().
* See [Feature ...
Eregon (Benoit Daloze)
01:13 PM Revision 2aa8edae (git): [rubygems/rubygems] Deduplicate results just once
Instead of checking for uniqueness for every spec.
https://github.com/rubygems/rubygems/commit/97d28c9665
deivid (David Rodríguez)
01:13 PM Revision 75d90cc8 (git): [rubygems/rubygems] Use a single hash to keep track of prereleases
https://github.com/rubygems/rubygems/commit/9d7bd177b0 deivid (David Rodríguez)
01:13 PM Revision 03d19627 (git): [rubygems/rubygems] Remove unnecessary sorting
Already done by the gem version promoter.
https://github.com/rubygems/rubygems/commit/aae2cc9fe0
deivid (David Rodríguez)
01:13 PM Revision dce73c86 (git): [rubygems/rubygems] Simplify instantiating the gem version promoter
https://github.com/rubygems/rubygems/commit/c4e2737f2c deivid (David Rodríguez)
01:13 PM Revision 6a21d196 (git): [rubygems/rubygems] Let specs be sorted just once by the gem version promoter
https://github.com/rubygems/rubygems/commit/3cea25a39d deivid (David Rodríguez)
01:13 PM Revision 8d2bcc88 (git): [rubygems/rubygems] This sorting seems unnecessary too
https://github.com/rubygems/rubygems/commit/823cb1fef9 deivid (David Rodríguez)
01:13 PM Revision a4860e04 (git): [rubygems/rubygems] Remove unnecessary spec sorting
Specs in a SpecSet with the same name are only sorted by platform
priority when they are read. No need to sort everything eagerly.
https://github.com/rubygems/rubygems/commit/aeafff52df
deivid (David Rodríguez)
12:59 PM Revision acc61cbf (git): Add NEWS entry for the previous commit
Eregon (Benoit Daloze)
12:02 PM Revision 6525b6f7 (git): Remove get_actual_encoding() and the dynamic endian detection for dummy UTF-16/UTF-32
* And simplify callers of get_actual_encoding().
* See [Feature #18949].
* See https://github.com/ruby/ruby/pull/6322#issuecomment-1242758474
Eregon (Benoit Daloze)
10:53 AM Revision ed029e9b (git): Autoconf 2.70 or AC_PROG_CC_C99 for earlier is checking for C99
It is no longer necessary to add it to `CFLAGS`/`CPPFLAGS` later.
Furthermore, as `CPPFLAGS` is used also with C++ compiler, the option
particular to C such as `-std=gnu99` results in an error.
nobu (Nobuyoshi Nakada)
07:24 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
@nagachika it's my fault. For backporting purpose `cf7d07570f50ef9c16007019afcff11ba6500d70` alone should be backported and `c6aa65430fbb94651f4d15e2a976f59b5475ca19` should be ignored. byroot (Jean Boussier)

09/11/2022

10:50 PM Revision 89077b4c (git): Add comments for some peephole optimizations [ci skip]
wildmaples (Maple Ong)
10:48 PM Revision 6f8267b7 (git): * 2022-09-12 [ci skip]
git[bot]
10:47 PM Revision 9205b8c8 (git): Revert "defs/gmake.mk: no _FORTIFY_SOURCE unless optimization"
This reverts commit b8c376cb9d91854fd40f6e06f07773404899b54f, as it
seems no longer needed probably.
nobu (Nobuyoshi Nakada)
02:08 PM Bug #18880 (Closed): IO#sysread on Windows does not validate arguments
Applied in changeset commit:git|684353fc03afd6e7c887b65bd18f0b3aeb98101c.
----------
[Win32] Negative length `IO#sysread`
Raise `ArgumentError` in `IO#sysread` on Windows when given a negative
length.
Fixes [Bug #18880]
javanthropus (Jeremy Bopp)
02:08 PM Revision 684353fc (git): [Win32] Negative length `IO#sysread`
Raise `ArgumentError` in `IO#sysread` on Windows when given a negative
length.
Fixes [Bug #18880]
javanthropus (Jeremy Bopp)
10:45 AM Feature #18798: `UnboundMethod#==` with inherited classes
This would be really helpful for checking if a class has redefined a method inherited form a superclass.
As an example, I’m working on a compiler that replaces certain method calls with their inlined expected behaviour from an abstrac...
joel@drapper.me (Joel Drapper)
10:30 AM Misc #18977: DevMeeting-2022-09-22
* [Feature #18798] `UnboundMethod#==` with inherited classes (eregon)
* OK to change `UnboundMethod#==` to check if same method definition (and ignore from which class `instance_method` was used on)? If yes, what about `UnboundMethod#e...
Eregon (Benoit Daloze)
07:13 AM Feature #12354 (Closed): PKey::EC Can't output public key pem when private key exists
openssl v2.2 added OpenSSL::PKey::PKey#public_to_pem and #public_to_der for this purpose.
https://github.com/ruby/openssl/pull/297
Ruby 3.0 includes v2.2 by default.
rhenium (Kazuki Yamaguchi)
06:58 AM Bug #18763 (Closed): The configure option “--with-openssl-dir” has lower precedence than pkg-config
Upstream issue for this bug: https://github.com/ruby/openssl/pull/486
Yes. This is resolved by openssl gem releases 2.1.4/2.2.2/3.0.1. Backporting is requested in #18999.
rhenium (Kazuki Yamaguchi)
06:39 AM Revision 472e7b85 (git): MJIT: Use the built-in PACK_MAP
106744107b made this possible. k0kubun (Takashi Kokubun)
06:30 AM Revision 10674410 (git): [ruby/fiddle] Fix PACK_MAP for unsigned types (https://github.com/ruby/fiddle/pull/110)
https://github.com/ruby/fiddle/commit/4a71246645ccff001292c9d80b855b2ef5bf06c1 k0kubun (Takashi Kokubun)
02:54 AM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote in #note-68:
> Pull request: https://github.com/ruby/ruby/pull/6353
Very nice.
I don't think `keyword_init` and "naming as the first argument"
features are needed for new `Data`. So, I guess that s...
nobu (Nobuyoshi Nakada)
02:49 AM Feature #18951: Object#with to set and restore attributes around a block
This idea is very similar to Algebraic effects, which dry-rb has a variant on:
https://dry-rb.org/gems/dry-effects/main/
I would personally like the `with` variant myself, granting that it is a bit vague, but is also in line with w...
baweaver (Brandon Weaver)
02:34 AM Feature #18951: Object#with to set and restore attributes around a block
It would be super nice to somehow support `ENV` as well, since it is super common pattern in test suites. retro (Josef Šimánek)
01:14 AM Revision 7232f264 (git): Remove -j from MinGW test-all
MinGW CI has been crashing too often. Now that we don't have slow test_mjit in MinGW, I'd like to see if not using parallel test workers fixes the problem. k0kubun (Takashi Kokubun)
12:09 AM Revision aa8a3b23 (git): MJIT: Do not hang after forking with threads
First, rb_mjit_fork should call rb_thread_atfork to stop threads after
fork in the child process. Unfortunately, we cannot use rb_fork_ruby to
prevent this kind of mistakes because MJIT needs special handling of
waiting_pid and mjit_paus...
k0kubun (Takashi Kokubun)

09/10/2022

09:46 PM Bug #18880: IO#sysread on Windows does not validate arguments
I submitted PR https://github.com/ruby/ruby/pull/6354 with a simple fix. I don't have a Windows system to test with though, so I couldn't verify that it works. javanthropus (Jeremy Bopp)
06:14 PM Feature #18949 (Open): Deprecate and remove replicate and dummy encodings
Eregon (Benoit Daloze)
05:03 PM Feature #18949 (Closed): Deprecate and remove replicate and dummy encodings
Applied in changeset commit:git|14bcf69c9c36875c7956d0ec8c04bfeaec514dd1.
----------
Deprecate Encoding#replicate
* See [Feature #18949].
Eregon (Benoit Daloze)
05:46 PM Bug #19004 (Closed): Complex can be nested by Complex.polar
`Complex.polar` with one argument can return a "nested" Complex instance, whose real part is also a Complex one.
```ruby
puts RUBY_DESCRIPTION
# ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]
p Complex.polar(1+0i)
...
msnm (Masahiro Nomoto)
05:03 PM Revision c22a6685 (git): * 2022-09-11 [ci skip]
git[bot]
05:02 PM Revision 14bcf69c (git): Deprecate Encoding#replicate
* See [Feature #18949]. Eregon (Benoit Daloze)
04:41 PM Feature #16122: Data: simple immutable value object
Indeed, that's what I meant. Alright, I guess we need to support positional arguments too then.
Because that's implemented in the subclass `.new` it should be possible to optimize it pretty well.
Eregon (Benoit Daloze)
02:12 PM Feature #16122: Data: simple immutable value object
> Regarding creating a new Data subclass instance, I wonder if we should support both positional and kwargs, or if we should only support keyword arguments
Am I understanding correctly that you propose to only leave `Measure.new(amoun...
zverok (Victor Shepelev)
02:04 PM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote in #note-70:
> I am not sure whether we have a C-level API for passing keyword args one-by-one, not by packing to Hash and unpacking back?.. My C-foo might be not strong enough for defining specialized ini...
Eregon (Benoit Daloze)
01:55 PM Feature #16122: Data: simple immutable value object
@Eregon Yeah, those are valuable observations!
The specialized `initialize` also looks more reasonable to me, actually, but I followed what the `Struct` does so far.
I am not sure whether we have a C-level API for passing keyword...
zverok (Victor Shepelev)
01:46 PM Feature #16122: Data: simple immutable value object
Looks good to me.
Regarding overriding `initialize` and calling `super`, that would not work if we define an optimized `initialize` instance method on the subclass by Data.define (it would result in NoMethodError or the slower generic...
Eregon (Benoit Daloze)
12:35 PM Feature #16122: Data: simple immutable value object
Pull request: https://github.com/ruby/ruby/pull/6353
Copying from its description:
Example docs rendering: [Data](https://zverok.space/ruby-rdoc/Data.html)
Design and implementation decisions made:
**1. The "define data object method...
zverok (Victor Shepelev)
11:08 AM Feature #16122: Data: simple immutable value object
Agreed with @k0kubun. Also `Class.define` wouldn't make it clear it defines a data class and creates Data (subclass) instances. Eregon (Benoit Daloze)
01:24 PM Feature #19001: Data: Add #to_h symmetric to constructor with keyword args [Follow-on to #16122 Data: simple immutable value object]
There isn't any need for this ticket as a separate request, as far as I am concerned.
It works in the initial implementation of data already as submitted in https://bugs.ruby-lang.org/issues/16122#note-68, and even works with ol' good S...
zverok (Victor Shepelev)
12:32 PM Revision f6411795 (git): [win32] Set proper `NULLCMD` in rbconfig.rb [ci skip]
nobu (Nobuyoshi Nakada)
12:31 PM Bug #18998: Kernel#Integer does not convert SimpleDelegator object expectly
> it would be best if you defined #to_int on your delegator
I've tried this approach but it was failed because `base` and `exception` arguments cannot be passed to `#to_i` method on my delegator.
Therefore, I've overridden `Kernel#In...
taichi730 (Taichi Ishitani)
11:50 AM Revision c7225971 (git): [MSWin] Get rid of single quotes in sed command lines
GnuWin32 sed strips only double quotes, but not single quotes, and
dies:
```
sed: -e expression #1, char 1: unknown command: `''
```
nobu (Nobuyoshi Nakada)
11:14 AM Revision 92b907d1 (git): Enable deprecation warnings for test-all
* So deprecated methods/constants/functions are dealt with early,
instead of many tests breaking suddenly when removing a deprecated
method/constant/function.
* Follows https://bugs.ruby-lang.org/issues/17591
Eregon (Benoit Daloze)
07:54 AM Revision 9581248c (git): merge revision(s) b7577b4d9e0fd92522fc30e10fe712e245adee8c:
The tzdata 2022c removed Amsterdam Mean Time
---
spec/ruby/core/time/shared/local.rb | 2 ++
1 file changed, 2 insertions(+)
nagachika (Tomoyuki Chikanaga)
07:13 AM Bug #18936: Backport 261753249996d46e00c2549fff2527816bf387db
ruby_3_1 4508901fbd8825cc8d9aaf535b5201ade17a8392 merged revision(s) 261753249996d46e00c2549fff2527816bf387db. nagachika (Tomoyuki Chikanaga)
07:12 AM Bug #18990: Pattern matching unexpectedly raises "duplicated key name" error
ruby_3_1 163947f4dc031bb5e619ae64ad4a6a02f8885717 merged revision(s) db0e0dad1171456253ebd899e7e878823923d3d8. nagachika (Tomoyuki Chikanaga)
07:12 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
I tried to backport cf7d07570f50ef9c16007019afcff11ba6500d70 and c6aa65430fbb94651f4d15e2a976f59b5475ca19 into ruby_3_1 branch, but the test `test_utf8_method_names` failed. Maybe some more changesets are needed. I will investigate it fu... nagachika (Tomoyuki Chikanaga)
07:04 AM Revision 4508901f (git): merge revision(s) 261753249996d46e00c2549fff2527816bf387db: [Backport #18936]
Free cached mark stack chunks when freeing objspace
Cached mark stack chunks should also be freed when freeing objspace.
---
gc.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
nagachika (Tomoyuki Chikanaga)
07:00 AM Revision 163947f4 (git): merge revision(s) db0e0dad1171456253ebd899e7e878823923d3d8: [Backport #18990]
Fix unexpected "duplicated key name" error in paren-less one line
pattern matching
[Bug #18990]
---
parse.y | 16 ++++++++++++----
test/ruby/test_pattern_matching.rb |...
nagachika (Tomoyuki Chikanaga)
03:29 AM Revision 5e39b3b8 (git): YJIT: Branch directly when nil? is known from types
jhawthorn (John Hawthorn)
03:29 AM Revision d3191843 (git): YJIT: Branch directly when truthyness is known
jhawthorn (John Hawthorn)
12:32 AM Revision 79f50b9d (git): Using is_broken_string function
S_H_ (Shun Hiraoka)
12:32 AM Revision 51830188 (git): Fix parallel build on MINGW
When the build is running with a base ruby then generating `x64-ucrt-ruby320.rc`
could fail due to a missing dependency to `x64-mingw-ucrt-fake.rb`.
This commit adds this dependency.
A failing build looks like so:
```
generating x64-min...
larskanis (Lars Kanis)

09/09/2022

11:06 PM Feature #16122: Data: simple immutable value object
shugo (Shugo Maeda) wrote in #note-65:
> why not use Class.define to return a new immutable Struct-like class?
Given that Matz is also thinking about introducing `Struct.define`, if we do the immutable one with `Class.define`, we'd n...
k0kubun (Takashi Kokubun)
09:26 PM Feature #16122: Data: simple immutable value object
If we choose `define` instead of `new`, why not use Class.define to return a new immutable Struct-like class?
* The name Data doesn't imply immutability, so Class.define is OK too.
* It's clearer that Class.define returns a class.
shugo (Shugo Maeda)
10:41 PM Revision 5b5c627d (git): YJIT: eliminate redundant mov in csel/cmov on x86 (#6348)
* Eliminate redundant mov in csel/cmov. Translate mov reg,0 into xor
* Fix x86 asm test
* Remove dbg!()
* xor optimization unsound because it resets flags
maximecb (Maxime Chevalier-Boisvert)
10:14 PM Bug #18998: Kernel#Integer does not convert SimpleDelegator object expectly
> My thought is that Integer method should convert a Delegator object like when a String is given.
I don't think it would be advisable for `Kernel#Integer` to know about `Delegator`. `Delegator` is just a class from the stdlib, you co...
byroot (Jean Boussier)
05:10 PM Bug #18998: Kernel#Integer does not convert SimpleDelegator object expectly
Thank you for your reply.
I understood that there is no documented specification and the current implementation.
How should Integer method behave for this case?
My thought is that Integer method should convert a Delegator object lik...
taichi730 (Taichi Ishitani)
08:44 PM Feature #12354: PKey::EC Can't output public key pem when private key exists
If you're linked against OpenSSL >= 3, the workarounds suggested here don't seem to work any longer because a pkey is not allowed to be modified:
```
Failure/Error: pub.public_key = SIGNING_KEY.public_key
OpenSSL::PKey::PKeyError:...
brandur (Brandur Leach)
03:38 PM Revision 2a08a39d (git): * 2022-09-10 [ci skip]
git[bot]
03:37 PM Revision 848037ca (git): Better offsets (#6315)
* Introduce InstructionOffset for AArch64
There are a lot of instructions on AArch64 where we take an offset
from PC in terms of the number of instructions. This is for loading
a value relative to the PC or for jumping.
We were usually...
kddnewton (Kevin Newton)
10:38 AM Revision b350053a (git): [rubygems/rubygems] Fix resolution on non-musl platforms
Gems without specific platform were being preferred over matching
platform specific gems.
https://github.com/rubygems/rubygems/commit/37b95b9159
deivid (David Rodríguez)
09:58 AM Revision cfe10e48 (git): [DOC] Update `Struct#new` behavior with `keyword_init: true`
nobu (Nobuyoshi Nakada)
09:17 AM Bug #19003 (Rejected): TracePoint behavior inconsistency in 3.2.0-preview2
This is kind of continuation of my previous report about global/local TP processing (#18730).
Sample script:
```rb
def foo
return 1
end
puts RubyVM::InstructionSequence.of(method :foo).disasm
def step_over
TracePoint.ne...
hurricup (Alexandr Evstigneev)
07:03 AM Revision aff6534e (git): Avoid unnecessary copying when removing the leading part of a string
Remove the superfluous str_modify_keep_cr() call from rb_str_update().
It ends up calling either rb_str_drop_bytes() or rb_str_splice_0(),
which already does checks if necessary.
The extra call makes the string "independent". This is no...
rhenium (Kazuki Yamaguchi)
06:47 AM Revision 9faa9ced (git): Support sub-library in builtin-loader
Previously, it was supported in prelude.c, but has not followed up the
builtin-loader system.
nobu (Nobuyoshi Nakada)
06:19 AM Revision 56e5210c (git): More robust macro parser (#6343)
I want to use more complicated macros with MJIT. For example:
```
# define SHAPE_MASK (((unsigned int)1 << SHAPE_BITS) - 1)
```
This commit adds a simple recursive descent parser that produces an AST
and a small visitor that convert...
tenderlovemaking (Aaron Patterson)
05:23 AM Revision be560332 (git): Move RDoc `--`/`++` directives to comments
nobu (Nobuyoshi Nakada)
05:20 AM Revision 2dcaeb75 (git): Built-in function table sentinels do not need names
nobu (Nobuyoshi Nakada)
05:16 AM Bug #18990: Pattern matching unexpectedly raises "duplicated key name" error
@zeke
Thanks for reporting.
ktsj (Kazuki Tsujimoto)
05:06 AM Bug #18990 (Closed): Pattern matching unexpectedly raises "duplicated key name" error
Applied in changeset commit:git|db0e0dad1171456253ebd899e7e878823923d3d8.
----------
Fix unexpected "duplicated key name" error in paren-less one line pattern matching
[Bug #18990]
ktsj (Kazuki Tsujimoto)
05:00 AM Revision db0e0dad (git): Fix unexpected "duplicated key name" error in paren-less one line pattern matching
[Bug #18990] ktsj (Kazuki Tsujimoto)
02:36 AM Revision 59eadf3d (git): Ignore EACCES on Windows
nobu (Nobuyoshi Nakada)
01:47 AM Feature #19002: Explicit splat for enumerator kwarg blocks
I also had
``` ruby
module Enumerable
def **(proc) = each { |arg| proc[**arg] }
end
ary.map ** ->(foo:, bar:) { foo+bar } #=> [143, 222]
```
which is kinda fun, but not so readable.
inopinatus (Joshua GOODALL)
01:12 AM Feature #19002 (Open): Explicit splat for enumerator kwarg blocks
I'm renovating some 2.x-era code that relied heavily on autosplat for block kwargs. As we all know, this throws an ArgumentError in Ruby 3:
``` ruby
ary = [
{ foo: 42, bar: 101 },
{ foo: 99, bar: 123 }
]
ary.map { |foo:, ba...
inopinatus (Joshua GOODALL)
 

Also available in: Atom