Project

General

Profile

Activity

From 02/18/2020 to 02/24/2020

02/24/2020

11:38 PM Feature #16648: improve GC performance by 5% with builtin_prefetch
I ran the patch on some included GC benchmarks in the repo and it doesn't seem to be a pure win (built-ruby is the patched version):
```
$ make benchmark ITEM=gc_ COMPARE_RUBY=/opt/rubies/2.8.0-clean/bin/ruby OPTS=-v
/opt/rubies/2.6....
alanwu (Alan Wu)
09:41 PM Feature #16597: missing poll()
There is a bug with handling POLLNVAL in the new code. michals (Michal Suchánek)
09:26 PM Bug #16642 (Closed): Splatted empty hash literal produces frozen hash object
This was already fixed in master at commit:f8a8f055123bc81fc13fa295b936504196df0da4, which changed it so ruby2_keywords does not pass empty keyword splats as hashes. Passing empty keyword splats as hashes is not needed in Ruby 3, it is ... jeremyevans0 (Jeremy Evans)
05:10 PM Feature #16652 (Closed): Use RubyGems facilities to install Gems during Ruby installation
Currently, `tools/rbinstall` uses quite some custom code to install gems instead of using functionality available in RubyGems. I don't think this is good, because the code is non transparent ATM and it is duplicating functionality, which... vo.x (Vit Ondruch)
02:58 PM Bug #16647 (Closed): Redefining $/ causes irb to misbehave
It was a problem with Reline. I fixed it by https://github.com/ruby/reline/pull/129.
> My personal opinion is we should deprecate all these variables affecting default separators,
> ...
I think so, but...maybe, so many beginners use ...
aycabta (aycabta .)
09:03 AM Bug #16647: Redefining $/ causes irb to misbehave
Related to https://bugs.ruby-lang.org/issues/14240
changing these variables is deprecated now, and it shows a warning
Hanmac (Hans Mackowiak)
06:55 AM Bug #16651 (Closed): Extensions Do Not Compile on Mingw64 with mingw32-make
When mkmf.rb creates a Makefile for an extension, it will generate something that looks like this:
```makefile
srcdir = .
topdir = C/MSYS64/USR/LOCAL/ruby-2.7.0/include/ruby-2.7.0
hdrdir = $(topdir)
arch_hdrdir = C:/MSYS64/USR/LOC...
cfis (Charlie Savage)
06:44 AM Feature #16650 (Closed): Ruby 2.6.* and 2.7* no longer compile on latest Mingw64
Using the latest version of mingw64 and msys2, neither ruby 2.6.5 nor 2.7.0 compile.
The issue is with miniruby.exe - it gets built but does not work. For example:
$ ./miniruby.exe -v
Returns nothing (I assume it is crashing but...
cfis (Charlie Savage)
06:41 AM Bug #16649 (Closed): Object with [] method doesn't work as String#encode's fallback
Applied in changeset commit:git|8b6e2685a4b7c7de905f7ed60c02ef85e0724754.
----------
Fixed symbol misused as ID
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a
`Symbol`. [Bug #16649]
nobu (Nobuyoshi Nakada)
06:24 AM Bug #16649 (Closed): Object with [] method doesn't work as String#encode's fallback
`String#encode` document says fallback can be a Hash, a Proc, a Method or an object which has `[]` method.
> Sets the replacement string by the given object for undefined character. The object should be a Hash, a Proc, a Method, or a...
pocke (Masataka Kuwabara)
06:37 AM Revision 8b6e2685 (git): Fixed symbol misused as ID
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a
`Symbol`. [Bug #16649]
nobu (Nobuyoshi Nakada)
03:40 AM Revision f8401732 (git): Try with and without "v" prefix for numeric tag
nobu (Nobuyoshi Nakada)
03:33 AM Revision 116b9e6a (git): Retry checking out the version
rss 0.2.9 is tagged without the "v" prefix. nobu (Nobuyoshi Nakada)
03:27 AM Revision 6f92c620 (git): Update bundled gems
nobu (Nobuyoshi Nakada)

02/23/2020

11:53 PM Feature #16456: Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters
I'd definitely like to see this as well. It'd be useful for Sorbet since it uses the parameters method to reconstruct methods when generating scaffolds for gem methods and other Ruby code.
https://github.com/sorbet/sorbet/blob/29a967a...
connorshea (Connor Shea)
03:28 PM Revision f88d209b (git): * 2020-02-24 [ci skip]
git[bot]
03:28 PM Revision 281b3500 (git): Add pattern matching documentation
Add separate doc/syntax/pattern_matching.rdoc, add
link to control_expressions.rdoc.
The documentation is "reverse-engineered" from Ruby 2.7
behavior and early preview presentations, and corrected
by pattern-matching feature author @k-tsj.
zverok (Victor Shepelev)
02:24 PM Feature #16511: Staged warnings and better compatibility for keyword arguments in 2.7.1
Thanks for writing that out.
I think in general tracking whether a Hash is keywords or positional dynamically makes everything complicated.
Long-term, I think it's clear we want to know syntactically whether a Hash is keyword argumen...
Eregon (Benoit Daloze)
11:33 AM Bug #16647: Redefining $/ causes irb to misbehave
Out of curiosity, why do you overwrite $/?
My personal opinion is we should deprecate all these variables affecting default separators,
they tend to break any non-trivial program, not just IRB, and explicit seems always clearer.
Eregon (Benoit Daloze)
07:49 AM Feature #14240 (Closed): warn four special variables: $; $, $/ $\
Applied in changeset commit:git|6298ec2875a6f1a1e75698c96ceac94362f20bcf.
----------
Warn non-nil `$\` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 8a7e0aaa (git): Warn non-nil `$/` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 6298ec28 (git): Warn non-nil `$\` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 588a86e3 (git): Warn non-nil `$,` in `IO#print` too
nobu (Nobuyoshi Nakada)
04:31 AM Revision 0ed3384f (git): Revert "Prefer `exe/ruby` to execute from it"
This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as
an example in bundler expects untouch PATH.
nobu (Nobuyoshi Nakada)

02/22/2020

07:07 PM Feature #16644: qualified const init (self::CONST1 = 1) should be allowed in methods
These are two different things. Ruby always warns for assigning to an existing constant, regardless of using `const_set` or `CONST = ...`. It does not support using `CONST = ...` inside a method, though `const_set` is allowed. Similar... jeremyevans0 (Jeremy Evans)
06:55 PM Bug #16620 (Feedback): [BUG] Segmentation fault at 0x0000000103bae000
Can you please run the failing code from the command line and include the output? The awd files provided are binary files and I have no idea how to read them, and the diag file doesn't include the necessary information.
It appears th...
jeremyevans0 (Jeremy Evans)
06:03 PM Feature #16648 (Open): improve GC performance by 5% with builtin_prefetch
The mark phase of non-incremental major GC is (I believe) dominated by pointer chasing. One way we can improve that is by prefetching cachelines from memory before they are accessed, to reduce stalls. I did some experimenting, and the ... bpowers (Bobby Powers)
03:38 PM Revision f85ca4c8 (git): * 2020-02-23 [ci skip]
git[bot]
03:32 PM Revision 77dcc2c8 (git): hash.c: [DOC] fix examples for ENV.merge!
stomar (Marcus Stollsteimer)
02:47 PM Bug #16646 (Closed): OpenSSL::VERSION is not defined (moved to ruby/openssl)
Eregon (Benoit Daloze)
02:05 AM Bug #16646: OpenSSL::VERSION is not defined (moved to ruby/openssl)
See https://github.com/ruby/openssl/issues/347
Please close. OpenSSL should have a new release soon...
MSP-Greg (Greg L)
01:43 PM Revision 4aebb491 (git): Expand Symbol#to_proc specs to be clearer
Eregon (Benoit Daloze)
01:37 PM Bug #16640: Symbol#to_proc reports -1 for arity
Thanks for the fix nobu! (https://github.com/ruby/ruby/commit/5b29ea0845c14092abd866ce0183c52635bade4c) Eregon (Benoit Daloze)
01:53 AM Bug #16640 (Closed): Symbol#to_proc reports -1 for arity
Applied in changeset commit:git|5b29ea0845c14092abd866ce0183c52635bade4c.
----------
Proc from Symbol needs a receiver
So its arity should be -2 instead of -1.
[Bug #16640]
https://bugs.ruby-lang.org/issues/16640#change-84337
nobu (Nobuyoshi Nakada)
01:43 AM Bug #16640 (Open): Symbol#to_proc reports -1 for arity
nobu (Nobuyoshi Nakada)
07:01 AM Revision c7b71af9 (git): Prefer `exe/ruby` to execute from it
nobu (Nobuyoshi Nakada)
02:54 AM Revision f744d801 (git): check USE_MJIT
iseq->body->jit_unit is not available if USE_MJIT==0 . ko1 (Koichi Sasada)
02:26 AM Misc #16645: Non-warned change of behavior in 2.7 for non-symbol keys
> treating non-Symbol keys as keywords if the method accepts arbitrary keywords is expected behavior
Yes, I was aware of that, it's just that I always thought of this as simply an _additional_ behavior; previously `**hash` would raise a...
Dan0042 (Daniel DeLorme)
12:06 AM Misc #16645 (Rejected): Non-warned change of behavior in 2.7 for non-symbol keys
Yes, treating non-Symbol keys as keywords if the method accepts arbitrary keywords is expected behavior, as mentioned in the Ruby 2.7.0 release notes (https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/). This is a deliber... jeremyevans0 (Jeremy Evans)
01:49 AM Revision 5b29ea08 (git): Proc from Symbol needs a receiver
So its arity should be -2 instead of -1.
[Bug #16640]
https://bugs.ruby-lang.org/issues/16640#change-84337
nobu (Nobuyoshi Nakada)
01:27 AM Revision 31748e69 (git): CI can be NULL.
Unused CI (introduced from peephole optimization, etc) can be NULL
so introduce NULL check.
ko1 (Koichi Sasada)
01:25 AM Revision af12e386 (git): More ENV rdoc [ci skip]
burdettelamar (Burdette Lamar)
01:01 AM Revision da310356 (git): test/readline - allow ENV control of test class creation
In ruby/ruby, the tests run on both readline & reline by creating four test classes:
```
TestReadline
TestReadlineHistory
TestRelineAsReadline
TestRelineAsReadlineHistory
```
Reline inports the test files and uses them in its CI. Addi...
MSP-Greg (Greg L)
12:59 AM Feature #16614 (Closed): New method cache mechanism for Guild
Applied in changeset commit:git|b9007b6c548f91e88fd3f2ffa23de740431fa969.
----------
Introduce disposable call-cache.
This patch contains several ideas:
(1) Disposable inline method cache (IMC) for race-free inline method cache
* ...
ko1 (Koichi Sasada)
12:59 AM Revision d7984d0f (git): * remove trailing spaces. [ci skip]
git[bot]
12:58 AM Revision b9007b6c (git): Introduce disposable call-cache.
This patch contains several ideas:
(1) Disposable inline method cache (IMC) for race-free inline method cache
* Making call-cache (CC) as a RVALUE (GC target object) and allocate new
CC on cache miss.
* This technique allo...
ko1 (Koichi Sasada)
12:58 AM Revision f2286925 (git): VALUE size packed callinfo (ci).
Now, rb_call_info contains how to call the method with tuple of
(mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and
mid+argc+flags only requires 64bits. So this patch packed
rb_call_info to VALUE (1 word) on such cases. If w...
ko1 (Koichi Sasada)

02/21/2020

05:59 PM Revision a1eb1fab (git): use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp()
ko1 (Koichi Sasada)
04:54 PM Misc #16645: Non-warned change of behavior in 2.7 for non-symbol keys
I can not answer your question but I believe matz mentioned the change several times in different
talks before. So a deprecation phase makes no real sense, unless matz and the core team wants
to postpone the change past ruby 3.0 - but ...
shevegen (Robert A. Heiler)
03:29 PM Misc #16645 (Rejected): Non-warned change of behavior in 2.7 for non-symbol keys
In ruby 2.7 non-symbol keys are now accepted as keywords, resulting in the following change in behavior:
```ruby
def foo(*a,**h) p [a,h] end
foo("a"=>42)
# [[{"a"=>42}], {}] in 2.6
# [[], {"a"=>42}] in 2.7
```
Given that the...
Dan0042 (Daniel DeLorme)
04:51 PM Bug #16647 (Closed): Redefining $/ causes irb to misbehave
If I start irb and then do:
``` ruby
$/ = "asdf"
```
then every character I type shows a newline on the irb console. Previous versions of ruby do not have this behavior, and it is annoying.
mehagar (Michael Hagar)
04:30 PM Bug #16646 (Closed): OpenSSL::VERSION is not defined (moved to ruby/openssl)
There are several ways to fix this, maybe add to openssl.rb?
Noticed in several platforms...
MSP-Greg (Greg L)
03:45 PM Revision 5a89c057 (git): * 2020-02-22 [ci skip]
git[bot]
03:45 PM Revision 8c5ca318 (git): `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
With refinements, too. nobu (Nobuyoshi Nakada)
03:30 PM Revision 5cab86f3 (git): `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
nobu (Nobuyoshi Nakada)
03:17 PM Revision 0b4500d9 (git): Adjusted indent [ci skip]
nobu (Nobuyoshi Nakada)
02:16 PM Revision 5e7322b8 (git): [ruby/irb] `yield` outside method definition is a syntax error
https://github.com/ruby/irb/commit/dbc7b059c7 nobu (Nobuyoshi Nakada)
12:30 PM Revision 8d3b7f0f (git): Fixed net-pop, smtp, protocol and imap task for sync tool
hsbt (Hiroshi SHIBATA)
12:25 PM Revision e7f8724f (git): Fixed net-ftp sync task and resync from standalone repo
hsbt (Hiroshi SHIBATA)
12:23 PM Revision fa1cf777 (git): Move an entry of net-ftp to the default gems section
hsbt (Hiroshi SHIBATA)
12:21 PM Revision 9cb1ffaa (git): Promote net-http to the default gems.
test/net/http/test_https.rb: rename fixture methods to read_fixture
because it conflicts with test-unit gem.
hsbt (Hiroshi SHIBATA)
11:41 AM Bug #16337: kernel_gem.rb:68 - ThreadError
I guess this is because you're not using the latest rubygems. Could you run `gem env version` and check that you have a rubygems version older than 3.1?
You need to request upgrading rubygems to google-fluentd, maybe here: https://git...
deivid (David Rodríguez)
10:57 AM Bug #16643: Array#dig converts keywords to positional hash
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> Dan0042 (Daniel DeLorme) wrote in #note-2:
> ...
I personally think that it should not be equivalent. `obj.dig(a, b, c)` was introduced as a safe-navigation like `obj[a][b][c]`, so I thi...
mame (Yusuke Endoh)
07:06 AM Bug #16643: Array#dig converts keywords to positional hash
Dan0042 (Daniel DeLorme) wrote in #note-2:
> Are you seriously telling me that you consider it normal and correct that `obj.dig(**kw)` is _not_ equivalent to `[obj].dig(0, **kw)` ???
It should be equivalent, if `dig` is defined corre...
jeremyevans0 (Jeremy Evans)
02:59 AM Bug #16643: Array#dig converts keywords to positional hash
Are you seriously telling me that you consider it normal and correct that `obj.dig(**kw)` is _not_ equivalent to `[obj].dig(0, **kw)` ???
I will note that your first example produces `2` whether keywords are passed with RB_PASS_CALLED...
Dan0042 (Daniel DeLorme)
10:56 AM Revision a294ec16 (git): Move an entry of net-ftp to the default gems section
hsbt (Hiroshi SHIBATA)
10:09 AM Revision f08d8e5e (git): Promote net-ftp to default gems
hsbt (Hiroshi SHIBATA)
09:39 AM Bug #16632: Remove verbose warning on treating keyword splat as positional argument in Ruby 2.6
As mentioned in https://bugs.ruby-lang.org/issues/16511#note-17
it seems very unlikely this triggers in practice, because indeed who would bother with an extra `**` when the method doesn't take keyword arguments?
Maybe for the case the...
Eregon (Benoit Daloze)
09:34 AM Bug #16640: Symbol#to_proc reports -1 for arity
The arity should actually be `-2` which means 1 required arguments + any number of optional arguments. Eregon (Benoit Daloze)
04:31 AM Revision 4643bf5d (git): * 2020-02-21 [ci skip]
git[bot]
04:31 AM Revision 59c2a115 (git): Fix typo in NEWS-2.7.0
pocke (Masataka Kuwabara)

02/20/2020

08:55 PM Bug #16643 (Rejected): Array#dig converts keywords to positional hash
This behavior is deliberate. `dig` should only be overridden if you want to be able to access objects stored inside the object. dig should accept `*args`, using the first element to look inside the object, and passing the remaining arg... jeremyevans0 (Jeremy Evans)
03:42 AM Bug #16643 (Rejected): Array#dig converts keywords to positional hash
The following behavior for `dig` looks very weird to me:
```ruby
o=Object.new
def o.dig(**kw) p [kw] end
o.dig(x:1)
#no warning
#[{:x=>1}]
[o].dig(0, x:1)
#warning: Using the last argument as keyword parameters is deprecat...
Dan0042 (Daniel DeLorme)
08:37 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
steveb3210 (Stephen Blackstone) wrote in #note-16:
> Unforunately Miller-Rabin is not a deterministic test for arbitrarily large n - its only the work in the paper https://arxiv.org/pdf/1509.00864.pdf that allows us to provide functional...
Dan0042 (Daniel DeLorme)
07:19 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
Attached is the latest diff. steveb3210 (Stephen Blackstone)
07:18 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
Dan0042 (Daniel DeLorme) wrote in #note-15:
> I think it would be interesting to expose the algorithm for larger numbers. So you could have `miller_rabin` which allows any integer, and `prime?` which checks the value and either call `mi...
steveb3210 (Stephen Blackstone)
02:01 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
I think it would be interesting to expose the algorithm for larger numbers. So you could have `miller_rabin` which allows any integer, and `prime?` which checks the value and either call `miller_rabin` or raise ArgumentError.
Dan0042 (Daniel DeLorme)
05:45 AM Feature #16468: Switch to Miller-Rabin for Prime.prime?
- Add bounds check
- Add test
steveb3210 (Stephen Blackstone)
07:08 PM Feature #16644 (Rejected): qualified const init (self::CONST1 = 1) should be allowed in methods
```rb
module Mod1
def self.define_consts
const_set(:CONST1, :CONST1)
# this is actual const re-assignment but only a warning
const_set(:CONST1, :CONST1)


# this is const initialization but becomes an ...
bughit (bug hit)
05:18 PM Feature #16597: missing poll()
An extension that makes poll() features available and does not require integration into ruby core is eventmachine. michals (Michal Suchánek)
01:36 PM Revision df26d36e (git): Prefer alignas() over _Alignas()
to allow Intel C++ compiler to read ruby.h.
This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320
mame (Yusuke Endoh)
12:32 PM Revision 3e12b658 (git): Fallback to load version file in ruby core repository
hsbt (Hiroshi SHIBATA)
12:24 PM Revision a326b4b0 (git): Move an entry of net-imap to the default gems section
hsbt (Hiroshi SHIBATA)
12:24 PM Revision e9d872a0 (git): Promote net-imap to the default gems
hsbt (Hiroshi SHIBATA)
09:19 AM Feature #16614: New method cache mechanism for Guild
> my thoughts were: if respond_to_missing? returns true once, does this have any effect on this cache? even if it might later return false?
Just now, no effect.
ko1 (Koichi Sasada)
08:33 AM Feature #16614: New method cache mechanism for Guild
ko1 (Koichi Sasada) wrote in #note-14:
> Hanmac (Hans Mackowiak) wrote in #note-13:
> ...
my thoughts were: if `respond_to_missing?` returns true once, does this have any effect on this cache? even if it might later return false?
Hanmac (Hans Mackowiak)
07:45 AM Feature #16614: New method cache mechanism for Guild
I'll merge this patch tomorrow.
If you have any suggestion, please tell me.
ko1 (Koichi Sasada)
09:06 AM Revision f5abcf76 (git): [ruby/rdoc] Removed `RDoc::Context::Section#sequence`
It has been deprecated since 2011.
https://github.com/ruby/rdoc/commit/5c2aa0f77d
nobu (Nobuyoshi Nakada)
08:08 AM Revision c3cd9258 (git): Use `brew upgrade` instead of `brew update`
znz (Kazuhiro NISHIYAMA)
07:44 AM Bug #16641: Backport request: MJIT crashes on a certain flow of branches
2.7 backport is done at commit:eaee631d5eda03f77ec39ec6fc1826a06ab06205. k0kubun (Takashi Kokubun)
07:36 AM Revision 0149863d (git): * 2020-02-20 [ci skip]
git[bot]
07:36 AM Revision eaee631d (git): Avoid jumping to a wrong destination
when the next insn is already compiled by former branches. k0kubun (Takashi Kokubun)
04:39 AM Revision 56d33b3e (git): Fixed missing `return`
Get rid of double writing. nobu (Nobuyoshi Nakada)
02:46 AM Revision 75863554 (git): comma at the end of enum is a C++11ism
Comma at the end of enum is allowed in C since C99. We can use them
internally. However when it comes to extension libraries, they could be
written in different C++ versions. We cannot assume sometihng. Public
headers shall keep compa...
shyouhei (Shyouhei Urabe)
02:46 AM Revision 49bb2e64 (git): avoid defining inline
Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which
(kindly!) aborts compilation on redefinition of C++ keywords. Let's not
define this in case of C++.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 4e6bae47 (git): ext/-test-/cxxanyargs: prevent have_devel check
The `cxx.try_compile` command in this file kicks `cxx.have_devel?`
internally, which recursively calls `cxx.try_link` with a different
source code. We don't want that happen (the source code compiled in
this file must be the first one)....
shyouhei (Shyouhei Urabe)
02:46 AM Revision 7aa3f1fe (git): printf can be a macro
Namely glibc has this macro on -DFORTIFY_SOURCE. We have to prevent
macro redefinition with different macro body.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 8920e204 (git): hide vm_ep_in_heap_p_
`make leaked-globals` points out that this function is leaked. This has
not been detected in our CI because it is defined only when
VM_CHECK_MODE is nonzero.
Just make it static and everytihng goes well.
shyouhei (Shyouhei Urabe)
02:46 AM Revision c7e6dbd5 (git): fix arity mismatch
This is a ruby method with arity zero. Which means, this function takes
one argument (that is self).
shyouhei (Shyouhei Urabe)
02:46 AM Revision 984e0233 (git): TestTime#test_memsize: skip when on GC_DEBUG
GC_DEBUG=1 makes this test fail because it changes the size of struct
RVALUE. I don't think the test is useful then. Let's just skip.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 6788c375 (git): suppress clang warnings
Starting clang 11, casts between pointer and (narrower-than-pointer) int
are now warned. However all such thing in our repository are guaranteed
safe. Let's suppress the warnings.
shyouhei (Shyouhei Urabe)
12:10 AM Bug #16642: Splatted empty hash literal produces frozen hash object
Actually, looks like I didn't read the bug report closely enough. This is a different issue, and suggests that we should either recognize the frozen hash in the `ruby2_keywords` case and dup it, or remove the optimization.
The issue ...
jeremyevans0 (Jeremy Evans)
12:04 AM Bug #16642: Splatted empty hash literal produces frozen hash object
I agree it is a bug. I'm not sure it is worth fixing. Basically, the reason behind it is the parser doesn't separate hash compilation from keyword argument compilation, and the optimization for `**{}` as the only keyword argument ends ... jeremyevans0 (Jeremy Evans)

02/19/2020

11:43 PM Revision 036a68ae (git): [DOC] Fixed `ENV.rassoc` result order [ci skip]
nobu (Nobuyoshi Nakada)
07:59 PM Revision eed7235e (git): hash.c: [DOC] fix typos
stomar (Marcus Stollsteimer)
07:57 PM Revision 97e8212a (git): doc/make_cheatsheet.md: fix typos
stomar (Marcus Stollsteimer)
07:31 PM Bug #16632: Remove verbose warning on treating keyword splat as positional argument in Ruby 2.6
This is really interesting. It means that mixing double-splat with positional-only methods was _already_ discouraged.
It feels kinda weird to be more strict about keyword/positional separation in general, but to become more more lenie...
Dan0042 (Daniel DeLorme)
06:22 PM Bug #16642 (Closed): Splatted empty hash literal produces frozen hash object
When splatting an empty hash literal, internally it's optimized using a global frozen hash object, but this implementation detail can leak into the ruby code outside:
```ruby
ruby2_keywords def foo(*a) a.last end
h = foo(**{})
h[1]...
Dan0042 (Daniel DeLorme)
05:57 PM Misc #16561: DevelopersMeeting20200227Japan
* [Feature #16511] Staged warnings and better compatibility for keyword arguments in 2.7.1 (Dan0042)
* All the benefits of separation of keyword/positional arguments.
* Less disruptive migration in the near term; only the strict nece...
Dan0042 (Daniel DeLorme)
03:14 PM Revision 4bc16244 (git): * 2020-02-20 [ci skip]
git[bot]
03:13 PM Revision 57c26231 (git): Use `brew upgrade` instead of `brew update`
znz (Kazuhiro NISHIYAMA)
08:05 AM Misc #16515: one of authoritative name server of ruby-lang.org "pichu.netlab.jp" not responding DNS query
Nice to hear that 🎉 meta@vmeta.jp (Koichiro Iwao)
07:26 AM Bug #16641 (Closed): Backport request: MJIT crashes on a certain flow of branches
## Problem
~~~ruby
def a(b)
".#{b unless b == 1}" if true
end
print(a(0))
~~~
This script `test.rb` crashes by `ruby --disable-gems --jit-verbose=1 --jit-min-calls=1 --jit-wait test.rb`.
## Patch
I fixed this in commit...
k0kubun (Takashi Kokubun)
07:19 AM Revision c4794ed7 (git): Avoid jumping to a wrong destination
when the next insn is already compiled by former branches. k0kubun (Takashi Kokubun)
07:15 AM Feature #16260 (Closed): Symbol#to_proc behaves like lambda, but doesn't aknowledge it
Applied in changeset commit:git|f0b815dc670b61eba1daaa67a8613ac431d32b16.
----------
`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
nobu (Nobuyoshi Nakada)
06:46 AM Revision f0b815dc (git): `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
nobu (Nobuyoshi Nakada)
05:14 AM Feature #16614: New method cache mechanism for Guild
alanwu (Alan Wu) wrote in #note-15:
> If I understand this correctly, the proposed implementation can trigger an allocation on the GC heap for a CC when there is a cache miss.
Correct.
> ...
Yes.
> I'm particularly worried abou...
ko1 (Koichi Sasada)
04:47 AM Revision 90d082e3 (git): * 2020-02-19 [ci skip]
git[bot]
04:47 AM Revision 5fd5666d (git): support multi-run test for test_readline.rb
S_H_ (Shun Hiraoka)
04:43 AM Bug #16640 (Rejected): Symbol#to_proc reports -1 for arity
nobu (Nobuyoshi Nakada)

02/18/2020

11:30 PM Bug #16613 (Closed): Vagrant encounters segmentation fault when starting previously correctly working box
Turns out that this appears to have been due to some corruption in the box itself. Changing the Ruby version solved nothing. Starting over with a new box resulted in a working staging server again. Looks like I was misled by the error re... skaufman (Stan Kaufman)
09:53 PM Bug #16640: Symbol#to_proc reports -1 for arity
Actually this can be closed, as it doesn't make sense for arity > 1. kddnewton (Kevin Newton)
06:49 PM Bug #16640: Symbol#to_proc reports -1 for arity
Oh nice I didn't see that @zverok. kddnewton (Kevin Newton)
06:02 PM Bug #16640: Symbol#to_proc reports -1 for arity
#9250 was closed with the reason
> The proc created by Symbol#to_proc is not a lambda, but a proc
But in #16260, it was discussed that `Symbol#to_proc` behaves more like lambda, and so hopefully all of its introspection methods (`#...
zverok (Victor Shepelev)
04:03 PM Bug #16640: Symbol#to_proc reports -1 for arity
To add some context, this came up because of https://github.com/rails/rails/pull/38474 - specifically https://github.com/rails/rails/blob/2fa1f7c48151617e13b4ad6ca065e47c8d7b42d0/activesupport/lib/active_support/callbacks.rb#L460-L461. T... kddnewton (Kevin Newton)
03:46 PM Bug #16640: Symbol#to_proc reports -1 for arity
Ooo just found https://bugs.ruby-lang.org/issues/9520. I kind of get the argument to keep it consistent with other procs, but this is still a special case within block types, and it will fail if you call it without an argument. kddnewton (Kevin Newton)
03:41 PM Bug #16640 (Closed): Symbol#to_proc reports -1 for arity
When you create a proc using `Symbol#to_proc` syntax, it reports the arity as -1, even though the required number of arguments is actually 1. This can happen based on `lambda(&:hash)`, `proc(&:hash)`, or `some_method(&:hash)`. Opened a P... kddnewton (Kevin Newton)
09:19 PM Misc #16561: DevelopersMeeting20200227Japan
* [Feature #16463] Fixing *args-delegation in Ruby 2.7: ruby2_keywords semantics by default in 2.7.1 (eregon)
* It would be good to decide.
* We can also discuss it at the RubyKaigi dev meeting, but is that not too late for 2.7.1?
Eregon (Benoit Daloze)
01:39 PM Bug #14891: Pathname#join has different behaviour to File.join
zverok (Victor Shepelev) wrote in #note-7:
> > I am wondering about the current behavior of Pathname#join, too. Are there any useful use cases for `Pathname.new('/a').join('/c', '/b').to_s #=> "/b"`
> ...
Thank you for your explanation...
jnchito (Junichi Ito)
10:09 AM Bug #14891: Pathname#join has different behaviour to File.join
> I am wondering about the current behavior of Pathname#join, too. Are there any useful use cases for `Pathname.new('/a').join('/c', '/b').to_s #=> "/b"`
I believe that `Pathname#join` acts kinda like `cd` in the shell: `cd x` is "go ...
zverok (Victor Shepelev)
07:58 AM Bug #14891: Pathname#join has different behaviour to File.join
I am wondering about the current behavior of Pathname#join, too. Are there any useful use cases for `Pathname.new('/a').join('/c', '/b').to_s #=> "/b"`? I think it should be `Pathname.new('/a').join('/c', '/b').to_s #=> "/a/c/b` like Fil... jnchito (Junichi Ito)
06:30 AM Revision ccc3b911 (git): * 2020-02-18 [ci skip]
git[bot]
06:30 AM Revision 789c1df1 (git): increment teeny
naruse (Yui NARUSE)
06:09 AM Revision 0643eb2e (git): Fix typo s/test_ruby2_keywords_hash!/test_ruby2_keywords_hash/
In #2818, `Hash.ruby2_keywords!` has renamed to `Hash.ruby2_keywords_hash`. kamipo (Ryuta Kamizono)
06:09 AM Revision 9820f9ee (git): hash.c: Add a feature to manipulate ruby2_keywords flag
It was found that a feature to check and add ruby2_keywords flag to an
existing Hash is needed when arguments are serialized and deserialized.
It is possible to do the same without explicit APIs, but it would be
good to provide them as a...
mame (Yusuke Endoh)
05:38 AM Bug #16639 (Closed): ARGF.each_line(chomp: true) cannot call without warning
Applied in changeset commit:git|041c2932e336b509b0ddc1fdbd9f160bce8d4893.
----------
Pass keyword arguments to IOs properly [Bug #16639]
nobu (Nobuyoshi Nakada)
02:30 AM Bug #16639 (Closed): ARGF.each_line(chomp: true) cannot call without warning
`ARGF.each_line` with keyword arguments shows warnings on 2.7.0, and does not work on current master.
```
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin18]
$ ruby -e 'p ARGF.each_line(chomp: true).first' < /...
znz (Kazuhiro NISHIYAMA)
05:35 AM Revision 041c2932 (git): Pass keyword arguments to IOs properly [Bug #16639]
nobu (Nobuyoshi Nakada)
02:35 AM Revision 38070ccd (git): * 2020-02-18 [ci skip]
git[bot]
02:34 AM Revision 2115a393 (git): [ruby/io-console] bump up to 0.5.6
nobu (Nobuyoshi Nakada)
02:33 AM Revision 5ef38355 (git): [ruby/io-console] Just ignore the extension on other than CRuby
https://github.com/ruby/io-console/commit/41b6f09574 nobu (Nobuyoshi Nakada)
01:32 AM Feature #16635 (Closed): Reduce allocation of begin-less/end-less range with Integer literal
Merged in commit:527829423088f09cf2f708be12bb4337d640dc69 k0kubun (Takashi Kokubun)
 

Also available in: Atom