Activity
From 01/13/2021 to 01/19/2021
01/19/2021
-
11:43 PM Bug #17564 (Closed): Source command in irb exits after reading and evaluating the file
- In the irb of ruby 2.3.7 (the version that comes with Macos) the “source“ command allows ruby code to be fed to irb as if it were typed in by hand. This has a advantage over the “load” command because variables can be setup not just fun...
-
11:36 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
- I’m afraid if it’s safe when multi-ractor.
-
10:34 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
- Using `ivar_set` seems reasonable to me, but I'd like to get @nobu's input as to whether this is acceptable.
-
09:59 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
- Good bug hunting 👍
Your solution is sounds like the right one, I imagine @jeremyevans0 will confirm. -
09:52 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
- I've tried simply replacing `rb_ivar_set` with `ivar_set`, which skips the freeze check, but otherwise behaves the same. Since the instance variable `"__tmp_classpath__"` really looks like an internal property, modifying the frozen objec...
-
08:03 PM Bug #17563 (Closed): FrozenError raised from Module#const_set when receiver is not frozen
- The following code executed without error on Ruby 2.7.1 and many earlier 2.* versions. The behavior has changed on Ruby 3.0.0 and now raises a Frozen Error:
```
% ruby -e 'Module.new.const_set(:Foo, Class.new.freeze)'
-e:1:in `const... -
08:06 PM Revision 9e0075a3 (git): Replace "iff" with "if and only if"
- iff means if and only if, but readers without that knowledge might
assume this to be a spelling mistake. To me, this seems like
exclusionary language that is unnecessary. Simply using "if and only if"
instead should suffice. -
05:38 PM Feature #17562: Update -E option in --help
- I need to fix description because --help and -h should be less than 80 characters...
-
04:42 PM Feature #17562 (Open): Update -E option in --help
- I would like to propose explaining the arguments of the -E option specifically in --help.
The current explanation is a bit difficult for beginners to understand.
I tried to change `Encoding.default_internal`, but I changed `Encoding.... -
05:01 PM Bug #17556: ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"
- The fix was merged in https://github.com/ruby/psych/pull/438
-
05:04 AM Bug #17556 (Closed): ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"
- 再現方法
ruby '2.7.2'
'rails', '~> 6.0.3'
- 利用している ruby のバージョン(ruby -v)
2.7.2
- 再現スクリプト
```ruby
$ bundle exec rails c
[1] pry(main)> ::YAML.dump '20210101_'
ArgumentError: invalid value for Integer(): "20210101_"
... - 04:58 PM Revision a8dc5156 (git): * 2021-01-20 [ci skip]
-
04:57 PM Revision 1f87725c (git): [ruby/irb] Rescue Errno::EINVAL on IRB pp
- http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210119T070008Z.log.html.gz
is caused by:
/export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `winsize': Invalid argument - <STDIN> (... -
04:03 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- Since ruby2_keywords is often used conditionally, I think there is little value for it to return Symbols:
https://github.com/rails/rails/blob/291a3d2ef29a3842d1156ada7526f4ee60dd2b59/actionpack/lib/action_dispatch/middleware/stack.rb#L9... -
03:28 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- zverok (Victor Shepelev) wrote in #note-4:
> Shouldn't it actually return method's name?.. For things like
> ...
That was not my intention, though I don't object to it if someone else wants to make that change. Note that it would have... -
03:08 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- Shouldn't it actually return method's name?.. For things like
```ruby
private ruby2_keywords def my_method
# ....
end
```
?.. -
03:03 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- My intention was to return `nil`, so this is a documentation bug.
-
09:41 AM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- I think either is fine. This is a weak opinion, but it looks safer to me not to change the actual return value. @jeremyevans0 Do you have an opinion?
-
09:34 AM Bug #17560 (Closed): Does `Module#ruby2_keywords` return `nil` or `self`?
- The RDoc says that it returns `self`:
```
ruby2_keywords(method_name, ...) -> self
```
This seems consistent with other methods which accept method names, e.g., `public`, `private`, etc.
But it actually returns `nil`, and `... -
02:40 PM Bug #17561 (Closed): The timeout option for Addrinfo.getaddrinfo is not reliable on Ruby 2.7.2
- #15553 introduced a timeout option for Addrinfo.getaddrinfo, which uses getaddrinfo_a internally. It appears this has since been reverted in the development branch via https://github.com/ruby/ruby/commit/5d8bcc4870601ab1ee05346346f241d4a...
-
01:21 PM Bug #17559: Conflict with BasicSocket#send and Object#send
- It's intentional. It's kind of a crash of cultures (message send from Lisp culture, data send from UNIX culture). The conflict has been known for years (actually from the beginning). That's the reason we introduced `__send__` as workarou...
-
08:38 AM Bug #17559 (Closed): Conflict with BasicSocket#send and Object#send
- `Object#__send__`
-
08:14 AM Bug #17559 (Closed): Conflict with BasicSocket#send and Object#send
- `Object#send` can be used in most objects like:
```
's'.send :class
=> String
```
But `BasicSocket` objects call `BasicSocket#send` instead of `Object#send`:
```
TCPSocket('example.com', 'echo').send :class
Traceback (most ... -
10:01 AM Feature #14430: net/http: use Socket.tcp with connect_timeout, instead of TCPSocket.open wrapped in Timeout.timeout
- The PR is updated, based on master and adds Net::HTTP#resolve_timeout, which delegates to Socket.tcp resolve_timeout, based on https://bugs.ruby-lang.org/issues/16381 but reraiseing Errno::ETIMEOUT as Net::OpenTimeout
-
08:59 AM Bug #17558 (Closed): ruby2_keywords ignores arguments after a block defined method
- Applied in changeset commit:git|eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c.
----------
Fixed premature return
After setting ruby2_keywords for bmethod, the rest of arguments
had been ignored. [Bug #17558] -
07:46 AM Bug #17558 (Closed): ruby2_keywords ignores arguments after a block defined method
- The result of `foo_bar2` should be the same as `foo_bar1`.
```ruby
class C
def bar(*args, **kw)
[args, kw]
end
def nothing_1(*args)
end
define_method(:nothing_2) do |*args|
end
def foo_bar1(*args)
... -
08:59 AM Revision eeacdcb9 (git): Fixed premature return
- After setting ruby2_keywords for bmethod, the rest of arguments
had been ignored. [Bug #17558] -
08:14 AM Revision e6af81bd (git): [ruby/irb] Stub a screen size for test_context
- http://ci.rvm.jp/logfiles/brlog.trunk-random1.20210119-074232
https://github.com/ruby/irb/commit/ea87592d4a -
07:55 AM Revision 4da4ad69 (git): [ruby/irb] Support GitHub Actions
- https://github.com/ruby/irb/commit/8e9e6c4037
-
07:50 AM Bug #17557: IRB array returned in multiple lines
- Thanks, (1) solved the issue.
-
06:46 AM Bug #17557: IRB array returned in multiple lines
- The point 2 was merged to IRB master https://github.com/ruby/irb/pull/174. It seems `'s'.methods` returns way more things than what's written in the description and thus it doesn't help your case though.
-
06:18 AM Bug #17557 (Closed): IRB array returned in multiple lines
- We changed the default IRB inspector from inspect-based one to pretty_inspect-based one, which prints a content in multiple lines when it exceeds 79 chars, for Ruby 3.1+ IRB.
Given that, we have two choices:
1. Use `IRB.conf[:INSPE... -
05:18 AM Bug #17557 (Closed): IRB array returned in multiple lines
- Hi Rubysts. In previous versions of IRB an array was displayed in a single line like:
's'.methods
=> [:unicode_normalize, :unicode_normalize!, :ascii_only?, :to_r, :unpack, ..., :!=, :equal?, :__id__, :instance_eval, :instanc... -
07:35 AM Revision b2159f7c (git): [ruby/irb] Stub a screen size for tests
- https://github.com/ruby/irb/commit/6663057083
-
06:52 AM Revision 82386f21 (git): [ruby/irb] Use a real screen size for pp by default
- https://github.com/ruby/irb/commit/9b9300dec2
-
05:16 AM Revision a7d933e5 (git): fix conditon of vm_cc_invalidated_p()
- vm_cc_invalidated_p() returns false when the cme is *NOT*
invalidated. -
04:44 AM Revision 4886535a (git): Avoid suppressing unrelated warnings
-
04:40 AM Revision f12320cd (git): test/ruby/test_jit.rb: Avoid a warning
- http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_jit.rb:781:
warning: -e:5: warning: possibly useless use of -@ in void cont... -
04:34 AM Revision ff8c9235 (git): test/ruby/test_pattern_matching.rb: Avoid a warning
- http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_pattern_matching.rb:798:
warning: assigned but unused variable - x
``` - 04:27 AM Revision 41d0c708 (git): * 2021-01-19 [ci skip]
-
04:07 AM Feature #17551 (Closed): Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
-
03:59 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- I believe this issue should be closed, as it has an alternative resolution available:
I will start to implement pattern matching interfaces in Ruby core classes as well as common gems, and I will link back providing tracking informati... -
04:01 AM Revision 58509767 (git): Backport lib/reline, ext/readline, and lib/irb for 3.0.1 (#4085)
- * Get rid of inconsistent dll linkages against vcpkg readline
* [ruby/irb] Enhance colored inspect output
https://github.com/ruby/irb/commit/dffcdb5269
* [ruby/irb] Add color_printer.rb to gemspec
https://github.com/ruby/irb/commit/b... -
02:51 AM Revision 5741236a (git): Use real-case version number for the result of `gem list`
-
12:05 AM Feature #16806 (Assigned): Struct#initialize accepts keyword arguments too by default
01/18/2021
-
11:47 PM Bug #17555 (Rejected): subclasses method in 2.7.2 is buggy
-
09:31 PM Bug #17555: subclasses method in 2.7.2 is buggy
- subclasses is provided by rails not Ruby.
Also it's not a bug, simply a known behavior. Rails's `subclass` method can only list loaded classes, you are testing in autoload mode. -
08:23 PM Bug #17555: subclasses method in 2.7.2 is buggy
- mark@MacBook-Pro-2 my-project-rails5 % rvm use ruby-2.7.0
Using /Users/mark/.rvm/gems/ruby-2.7.0
mark@MacBook-Pro-2 my-project-rails5 % rails c
Warning: the running version of Bundler (2.1.2) is older than the version that created the... -
08:21 PM Bug #17555 (Rejected): subclasses method in 2.7.2 is buggy
- I am finding that the subclasses method in 2.7.2 gives a faulty result, containing only one of the many subclasses in my system. Example, running 2.7.0 first, then 2.7.2:
mark@MacBook-Pro-2 my-project-rails5 % rvm use ruby-2.7.0
Usi... -
11:34 PM Revision 1b89b999 (git): Mark pattern labels as unremoveable
- Peephole optimization doesn't play well with find pattern at
least. The only case when a pattern matching could have
unreachable patterns is when we have lasgn/dasgn node, which
shouldn't happen in real-life.
Fixes https://bugs.ruby-lan... -
10:52 PM Revision 9d1475c6 (git): Fix JIT link failures
- forgotten in https://github.com/ruby/ruby/pull/4018
-
09:27 PM Bug #17534: Pattern-matching is broken with find pattern
- As a quick fix I propose marking patterns as unremoveable: https://github.com/ruby/ruby/pull/4094
-
08:32 PM Bug #17534: Pattern-matching is broken with find pattern
- So, what I found: the bug is caused by `iseq_peephole_optimize` and find patterns iseq incompatibility; `remove_unreachable_chunk` doesn't remove `while_begin`, `next_loop` and other find_pattern specific labels, but removes general patt...
-
04:59 PM Bug #17534: Pattern-matching is broken with find pattern
- palkan (Vladimir Dementyev) wrote in #note-1:
> That could be related to https://github.com/ruby/ruby/pull/3104.
> ...
Hm, nope. Reproduced in the older revision (`d6c9c014e2`). Investigating further.
-
07:18 AM Bug #17534: Pattern-matching is broken with find pattern
- zverok (Victor Shepelev) wrote:
> The minimal reproduction code:
> ...
That could be related to https://github.com/ruby/ruby/pull/3104.
I'll take a look. -
07:02 PM Revision e812b362 (git): Fix typo: invaldate -> invalidate
-
06:11 PM Bug #17497: Ractor performance issue
- I too have seen strange results testing ractors. I used the code at https://github.com/keithrbennett/keithrbennett-ractor-test/blob/master/my_ractor.rb to do some arbitrary but predictable work. I have a 24-core Ryzen 9 CPU, and I compar...
-
05:16 PM Feature #17103 (Closed): Add a :since option to ObjectSpace.dump_all
-
02:36 PM Feature #17103: Add a :since option to ObjectSpace.dump_all
- This was merged in Ruby 3.0 and can now be closed.
-
04:59 PM Bug #17552: [PATCH] Fix a NULL pointer crash in ObjectSpace.dump_all
- So with some extra debug code, I've managed to identify the object that causes this, it's only one object on a multi-GiB dump:
```json
{"address":"0x7f32c8b8d6c8", "type":"IMEMO", "class":"0x8", "imemo_type":"ment", "generation":57, ... -
09:30 AM Bug #17552 (Closed): [PATCH] Fix a NULL pointer crash in ObjectSpace.dump_all
- Patch: https://github.com/ruby/ruby/pull/4078
I wasn't able to reproduce the issue in isolation just yet, but I confirmed the patch fixes the issue for us.
What seem to happen in that some objects have an `allocation_info`, but `al... -
04:19 PM Revision 21d2463f (git): Added empty ruby2_keywords gem to suffice dependencies
- 04:05 PM Revision fad9922d (git): Revert "[Document][Array] Add missing call-seq for Array#append"
- This reverts commit ac1a4bccbda4358436a7a907a7f09d047f562740.
See https://github.com/ruby/ruby/pull/4088 - 03:14 PM Revision 92e28842 (git): * 2021-01-19 [ci skip]
-
03:14 PM Revision 5cf6229e (git): Skip updating exts in also test-spec to reduce the turnaround time (#4089)
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Partially reversing a4f3e1762aa195969ace000ac0dc8d300dda85cb like 21df4dce5308bb0e04e09dc654cdc92af000caf6.
We usually run them through make check which has the dependency, and test-... -
02:39 PM Revision ac1a4bcc (git): [Document][Array] Add missing call-seq for Array#append
-
02:35 PM Bug #17554 (Closed): [PATCH] Fix ObjectSpace.dump to include singleton class name
- Patch: https://github.com/ruby/ruby/pull/4087
This fixes a regression introduced in https://bugs.ruby-lang.org/issues/17044
In 2.7.2 `rb_class2name` would go up the inheritance chain to get a name for singleton classes. In 3.0 it n... -
12:15 PM Revision dff74ee6 (git): Revert "Autoconf 2.70 no longer has -o option"
- This reverts commit 331f0bc1cb7965bec9aed5d7278360c2e9fc8946.
It seems a mistake. -
11:41 AM Revision bb5747e1 (git): Added ruby2_keywords for Ruby 2.5 and 2.6
-
10:32 AM Bug #17553 (Closed): Rails CI shows infinite loop of method_missing since f4ce78d5c139a8825ee2d09f39aef03ef762dfc6
- ### Steps to reproduce
```
git clone https://github.com/rails/rails.git
cd rails/activerecord
bundle install
bin/test test/cases/relations_test.rb test/cases/callbacks_test.rb test/cases/finder_test.rb -n "/^(?:RelationTest#(?:tes... -
10:23 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- One issue if we use the calls to `attr_*` is we would consider private `attr_*` like `private attr_reader :foo`, which seems wrong.
And of course at any time the visibility of methods can change, so it would probably be quite expensive ... -
05:51 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- Interestingly, the gem I immediately thought of (`ast`) needs a `deconstruct` that is different from `to_a`...
-
05:14 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- That is a very fair point, and I appreciate your insight there. I would be tempted to add it to `Enumerable` except in that `Hash` also implements that same interface.
-
04:54 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- Your example would have `deconstruct*` methods had it subclassed `Struct.new(:name, :age, :children)` (even though there are many things I personally dislike about `Struct`)
I don't think there is a sensible default for either methods, ... -
04:25 AM Feature #17551 (Closed): Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
- Pattern Matching is a very powerful feature, but many classes are not able to enjoy its functionality due to the lacking of a default `deconstruct` and `deconstruct_keys` method being present.
This feature request is to introduce a se... -
10:16 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- Unfortunately, the problem persists in Ruby 2.7.2 and 3.0.0
-
08:57 AM Feature #17550: Why no function to get all subdirectories of a directory?
- `Dir.glob("**/")`, if you don't mind trailing slashes.
-
07:22 AM Revision 331f0bc1 (git): Autoconf 2.70 no longer has -o option
-
07:22 AM Revision 48bb0329 (git): Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8
-
07:22 AM Revision c3237588 (git): Update for autoconf 2.70
-
07:22 AM Revision 41443868 (git): ruby_type_attribute is not used for now
-
06:55 AM Revision c3d6bac3 (git): Upcoming Struct#new behavior
-
06:33 AM Revision a3851d97 (git): Removed unused AC_CHECKING
-
03:43 AM Revision 6abf393e (git): OpenBSD has getentropy, but no sys/random.h
- https://man.openbsd.org/getentropy
Try to fix https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20210118T023008Z.fail.html.gz
```
compiling random.c
random.c:53:11: fatal error: 'sys/random.h' file not found
# include <sys...
01/17/2021
-
08:59 PM Feature #17550 (Open): Why no function to get all subdirectories of a directory?
- Googling around, this seems to be a relatively common request. Would you be willing to accept a pull request implementing this feature?
- 05:18 PM Revision bf640bbf (git): * 2021-01-18 [ci skip]
-
05:13 PM Revision 9f7876ab (git): [ruby/irb] Version 1.3.2
- https://github.com/ruby/irb/commit/a7699026cc
-
05:13 PM Revision 166f33d0 (git): [ruby/irb] skip a failling test on TruffleRuby
- * due to the difference of backtrace pointed out by @aycabta
https://github.com/ruby/irb/commit/5e00a0ae61 -
05:12 PM Revision d290a02b (git): [ruby/irb] handle repeated exception separately
- https://github.com/ruby/irb/commit/fcf6b34bc5
-
05:12 PM Revision 3f0b4665 (git): [ruby/irb] handle `__ENCODING__` as a keyword as well
- https://github.com/ruby/irb/commit/a6a33d908f
-
05:10 PM Revision edafde68 (git): [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2
- https://github.com/ruby/reline/commit/dfb710946f
https://github.com/ruby/irb/commit/1a1cdf9628
https://github.com/ruby/irb/commit/fe99faf8bd -
05:09 PM Revision e1449ae7 (git): [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too
- https://github.com/ruby/reline/commit/68b961dfc7
-
05:09 PM Revision 05df7e0d (git): [ruby/reline] Support for change in Windows-specific behavior at eol
- The behavior of automatically moving the cursor to the next line when
displaying a char at the eol on Windows suddenly disappeared.
https://github.com/ruby/reline/commit/cad4de6ee8 -
05:09 PM Revision f3156e45 (git): [ruby/reline] Windows needs more times to wait rendering
- https://github.com/ruby/reline/commit/53ff2b09c7
-
05:08 PM Revision 9279d3f2 (git): [ruby/reline] Tests with yamatanooroti don't need chdir
- Because of chdir, log files ware created in temporary directries on Windows.
https://github.com/ruby/reline/commit/200b469a68 -
05:07 PM Revision 1aba1a51 (git): [ruby/reline] Initialize a variable just in case
- https://github.com/ruby/reline/commit/29b10f6e98
-
03:42 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
- By the way, this is what I was referring to when I mentioned "arcane workarounds":
https://stackoverflow.com/questions/357754/can-i-traverse-symlinked-directories-in-ruby-with-a-glob
(`Dir.glob("**{,/*/**}/*.rb")`)
-
03:14 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
- A clarifying comment that corrects something in my original post but does not change my recommendation:
I wish there a way for me to correct my original post, but I don't see a way to do that. I wanted to delete this text:
"The siz... -
12:46 AM Feature #17548 (Open): Need simple way to include symlink directories in Dir.glob
- I would like to suggest that Ruby provide a simple way to glob that includes the content of symlinked directories.
I have my Ruby projects in a `~/work` directory that is symlinked to a directory an another partition.
For example, ... -
01:31 PM Feature #11882: Map or NamedMap
- I agree that `{ {a: 1} }` and `{{a: 1}}` in my suggested syntax is difficult to disambiguate. The magic inside the Ruby parser that can separate the differences as they are today must be very mind bogglingly difficult. If it were possibl...
-
12:57 PM Feature #17472: HashWithIndifferentAccess like Hash extension
During my 15 years of Ruby programming, I can't remember a single time that the difference between string-and-symbol with regards to Hashes was used on purpose. Instead, it's the source of countless bugs, extra type checking code, and ...-
12:55 PM Revision f96eaf54 (git): Use the dedicated assertion
-
10:35 AM Bug #17549 (Closed): Backport e033c9d7db0 Include missing AvailabilityMacros.h
- `SecRandomCopyBytes` function has not been used unexpectedly due to this lack.
commit:e033c9d7db0 - 09:48 AM Revision 54c91185 (git): random generator update for Mac proposal
- using getentropy for seeding, reading 256 bytes at a time to avoid
the EIO errno since this is the maximum. -
09:36 AM Feature #16806 (Closed): Struct#initialize accepts keyword arguments too by default
- Applied in changeset commit:git|8d099aa040427aede04e42c3ec9380afd431ffe3.
----------
Warn Struct#initialize with only keyword args (#4070)
* Warn Struct#initialize with only keyword args
A part of [Feature #16806]
* Do not warn if `k... -
09:35 AM Revision 8d099aa0 (git): Warn Struct#initialize with only keyword args (#4070)
- * Warn Struct#initialize with only keyword args
A part of [Feature #16806]
* Do not warn if `keyword_init: false`
is explicitly specified
* Add a NEWS entry
* s/in/from/
* Make sure all fields are initialized -
09:28 AM Revision e033c9d7 (git): Include missing AvailabilityMacros.h
-
09:07 AM Revision 2bd8098c (git): Suppress the warning for the invalid method_explorer case
-
04:25 AM Bug #17547 (Closed): Fix `Ripper.lex("a <<b")`
-
03:58 AM Revision b84b253a (git): Fix Ripper with heredoc.
-
03:20 AM Revision 562b97e2 (git): [ruby/fileutils] Removed code for dead versions
- https://github.com/ruby/fileutils/commit/1f707d8cc6
-
03:20 AM Revision 905f58dc (git): [ruby/fileutils] Drop support for dead old versions
- https://github.com/ruby/fileutils/commit/4526148c67
01/16/2021
-
11:45 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Eregon (Benoit Daloze) wrote in #note-5:
> If it's needed to e.g. `Ractor.make_shareable(self); o = Ractor.make_shareable(Object.new); Ractor.make_shareable(-> { p o; ... })`, it feels so redundant.
I may be wrong, but I believe that... -
06:00 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- marcandre (Marc-Andre Lafortune) wrote in #note-4:
> Note that they are *not* treated the same way. `Ractor.new{}` forbids any reference to outside variables, while `make_shareable(proc)` allows it as long as the values are themselves s... -
04:41 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Eregon (Benoit Daloze) wrote in #note-3:
> Not preserving `self` would be confusing, e.g., when calling other methods like:
> ...
In my proposal, calling that block would result in a `NoMethodError` on `<#DetachedSelf>`. Is it that con... -
02:40 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Not preserving `self` would be confusing, e.g., when calling other methods like:
```ruby
class Foo
def bar
...
end
def foo
test { bar }
end
end
```
It does mean the `Foo` instance would be (deeply) frozen.
... -
12:55 AM Bug #17543: Ractor isolation broken by `self` in shareable proc
- > Probably the self of the Proc should be made Ractor.make_shareable too.
Would that always be the case? would all the following freeze the `self`?
```ruby
class Foo
def test(&block)
Ractor.make_shareable(block)
end
... -
11:14 PM Revision 19902e2e (git): Update the maintainer of net-smtp
- 09:09 PM Revision fd42d334 (git): * 2021-01-17 [ci skip]
- 09:08 PM Revision a4a6cb03 (git): Remove samples for test-unit
- They are no longer needed.
- 09:07 PM Revision f2767cf0 (git): Move rss samples to ruby/rss
-
08:13 PM Bug #17547 (Closed): Fix `Ripper.lex("a <<b")`
- `Ripper.lex("a <<b")` was not parsed correctly.
```ruby
require "ripper"
p Ripper.lex("a <<b")
# Expected behavior => [[[1, 0], :on_ident, "a", CMDARG], [[1, 1], :on_sp, " ", CMDARG], [[1, 2], :on_heredoc_beg, "<<b", CMDARG]]
# ... -
03:19 PM Bug #17536: Segfault in `CFUNC :define_method`
- Wow, thx for the effort to reduce the reproducer. I have applied this patch in Fedora and it fixes the segfault. Thx.
-
10:42 AM Revision 35a04730 (git): [ruby/io-console] Rubygems 3.2 supports `--platform` option
- https://github.com/ruby/io-console/commit/c8046fde84
-
10:42 AM Revision 6ab5504f (git): [ruby/io-console] Moved JRuby version files into particular path
- https://github.com/ruby/io-console/commit/b0691d2c20
-
10:42 AM Revision 92da224d (git): [ruby/io-console] Delegate to JRuby version
- Add `--platform` option tentatively.
https://github.com/ruby/io-console/commit/3bf1a7b753 -
10:42 AM Revision c143a2f9 (git): [ruby/io-console] bump up to 0.5.7
- https://github.com/ruby/io-console/commit/f55d7ebff6
-
01:06 AM Feature #17546 (Assigned): Native coroutine implementation for riscv64 Linux
01/15/2021
-
11:48 PM Feature #17546 (Closed): Native coroutine implementation for riscv64 Linux
- The RISC-V architecture is getting more and more importance in the world. The first affordable RISC-V single board computer debuted last Wednesday.
A patch is attached which contains a native coroutine implementation for riscv64 Linux... -
11:23 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
- Applied in changeset commit:git|0ed71b37fa9af134fdd5a7fd1cebd171eba83541.
----------
Don't try to clear cache on garbage objects
Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *sho... -
10:21 PM Bug #17536: Segfault in `CFUNC :define_method`
- I was able to reproduce this, but it's hard to make a small script to reproduce the issue.
Here is the program I used to reproduce the issue:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem '... -
11:23 PM Revision 0ed71b37 (git): Don't try to clear cache on garbage objects
- Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *should not* have it's method cache
cleared. Soon-to-be-collected objects can be in an inconsistent state and
this can lead to a crash... -
09:26 PM Bug #17545 (Closed): Calling dup on a subclass of Proc returns a Proc and not the subclass
- Trivial example:
``` ruby
[1] pry(main)> class Test < Proc; end
=> nil
[3] pry(main)> Test.new { puts "foo" }.dup
=> #<Proc:0x00007f91a78913c8 (pry):3>
```
Also fairly trivial workaround:
```ruby
[4] pry(main)> class Tes... -
08:25 PM Revision e7f1afbc (git): Additions to method_documentation.rdoc (#4065)
- * Additions to method_documentation.rdoc
-
06:54 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Probably the self of the Proc should be made ` Ractor.make_shareable` too.
Changing the `self` of an arbitrary Proc would be very surprising I think. -
07:39 AM Bug #17543 (Closed): Ractor isolation broken by `self` in shareable proc
- Discussing with @MaxLap we realized that the `self` in a shareable proc is not properly isolated:
```
class Foo
attr_accessor :x
def pr
Ractor.make_shareable(Proc.new { self })
end
end
f = Foo.new
f.x = [1, 2, 3]... -
06:08 PM Revision a2941d71 (git): Add What's Here to Array RDoc (#4062)
- * Add What's Here to Array RDoc
- 03:15 PM Revision 4c4f873f (git): * 2021-01-16 [ci skip]
- 03:09 PM Revision b1306445 (git): [ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmod
- https://github.com/ruby/bigdecimal/commit/1cb92487f7
- 03:08 PM Revision 9d0c5e27 (git): [ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmod
- https://github.com/ruby/bigdecimal/commit/d2746121cf
- 03:07 PM Revision f95f85b2 (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmod
- https://github.com/ruby/bigdecimal/commit/68c20200d5
-
02:44 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- I agree with `Thread::Backtrace.limit` because I think it's easy to understand.
-
10:04 AM Revision 5307fab6 (git): [ruby/time] Use Time#strftime to format
- https://github.com/ruby/time/commit/6b8cc4799e
-
09:04 AM Misc #17535: DevelopersMeeting20210216Japan
- * [Feature #12194] `File.dirname` optional parameter
* `File.dirname(path, 2)` instead of `File.dirname(File.dirname(path))` or `File.expand_path("../..", path)`.
* [Feature #17544] Support RFC 3339 UTC for unknown offset local time
... -
08:54 AM Feature #17544 (Closed): `Time#strftime` supports RFC 3339 UTC for unknown offset local time
- In RFC 3339, -00:00 is used for the time in UTC is known, but the offset to local time is unknown.
Support that representation by `-` flag for `z` at `Time#strftime`.
[patch](https://github.com/ruby/ruby/pull/4075)
-
08:47 AM Bug #17517 (Closed): File.expand_path returns us-ascii when both arguments are ascii compat
- Applied in changeset commit:git|0d57d59933fb7b826bd0e20d84ed7f6d6636ac90.
----------
Keep encoding in the result of File.expand_path [Bug #17517] -
08:46 AM Revision 0d57d599 (git): Keep encoding in the result of File.expand_path [Bug #17517]
-
04:44 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
- Applied in changeset commit:git|e09094546a19d6b62b3e21d0b061b103cf21f760.
----------
Make Module#prepend affect ancestor chain even if argument already included in receiver
Previously, if a class included a module and then prepended th... -
04:43 AM Revision e0909454 (git): Make Module#prepend affect ancestor chain even if argument already included in receiver
- Previously, if a class included a module and then prepended the
same module, the prepend had no effect. This changes the behavior
so that the prepend has an effect unless the module is already
prepended the receiver.
While here, rename... -
03:43 AM Revision 1cb0c5ac (git): [ruby/time] No document for private methods
- https://github.com/ruby/time/commit/44a55daa70
-
03:29 AM Revision 69ea2701 (git): Sort filenames [ci skip]
-
02:48 AM Revision 9c018958 (git): Add timev.rb to .document
-
12:37 AM Revision eb4319be (git): extlibs.rb: make patch command selectable [ci skip]
- Some Windows ports fail an assertion on patch files with LF EOL
code. MSys2 patch.exe 2.7.6 seems fine, at least.
01/14/2021
-
11:30 PM Bug #17536: Segfault in `CFUNC :define_method`
- I should also mention that there is currently Rails 6.0.3.4.
-
11:28 PM Bug #17536: Segfault in `CFUNC :define_method`
- It is reproducible on every platform.
We had to hack the test suite a bit to make it work on Fedora. The full script is here [1], but the relevant part should be this:
~~~
# It is easier to recreate the Gemfile to use local versions of... -
09:58 PM Bug #17536: Segfault in `CFUNC :define_method`
- vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
When I try to run the command, this happens on Linux:
```
aaron@whiteclaw ~/g/shoulda-matche... -
09:52 PM Bug #17536: Segfault in `CFUNC :define_method`
- vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
Does this reproduce on any platform besides s390x? -
01:53 PM Bug #17536: Segfault in `CFUNC :define_method`
- Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
~~~
$ bundle exec rspec spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb
~~~
I guess the reproducer should be pos... -
12:55 PM Bug #17536: Segfault in `CFUNC :define_method`
- Yes, I can hit it every time. And I am testing the patch commit:efcdf68e6443ab70fbff1703b9dabbfc5090df31 and it does not fix the issue.
-
09:24 AM Bug #17536: Segfault in `CFUNC :define_method`
- > This looks like the segvs we were observing
I'm not certain. Ours was failing inside the GC code. Here it fails in `vm_method`.
@vo.x are you able to trigger this bug consistently?
-
01:09 AM Bug #17536: Segfault in `CFUNC :define_method`
- This looks like the segvs we were observing, which was fixed by https://bugs.ruby-lang.org/issues/17539 (and PR https://github.com/ruby/ruby/pull/4066).
@tenderlovemaking can you confirm? - 09:42 PM Revision 0a039c5f (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_divide
- https://github.com/ruby/bigdecimal/commit/3b55ad1c42
- 09:42 PM Revision 500fc63c (git): [ruby/bigdecimal] Reorder the arguments of BigDecimal_divide
- https://github.com/ruby/bigdecimal/commit/1e03da7076
-
08:48 PM Bug #17423: `Prepend` should prepend a module before the class
- Based on the decision made at the developer meeting (https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210113Japan.md#bug-17423-prepend-should-prepend-a-module-before-the-class-jeremyevans0), I've added a pull reques...
-
08:37 PM Bug #17539: Guard callinfo during compilation (backport)
- Also please add 5e26619660f20272a53c7f839dde36cce034bb35 (it fixes a write barrier issue)
Thanks! -
12:17 AM Bug #17539 (Closed): Guard callinfo during compilation (backport)
- Hi,
Please backport efcdf68e6443ab70fbff1703b9dabbfc5090df31 to ruby_3_0. We're seeing segvs, and efcdf68e6443ab70fbff1703b9dabbfc5090df31 fixes it.
Thanks! - 05:57 PM Revision 48589f34 (git): * 2021-01-15 [ci skip]
-
05:55 PM Revision 5e266196 (git): Fix WB for callinfo
- The WB for callinfo needs to be executed *after* the reference is
written. Otherwise we get a WB miss. -
02:43 PM Feature #12607: Ruby needs an atomic integer
- Eregon (Benoit Daloze) wrote in #note-34:
> And how do you implement that efficiently, and in a way that's thread-safe?
> ...
By "a generator" I did not mean the `Enumerator::Generator` class. I meant a new generator-type class (say, `... -
01:06 PM Feature #12607: Ruby needs an atomic integer
- There is also the well-known example of metrics in Sidekiq, and all these:
https://github.com/search?l=Ruby&q=AtomicFixnum&type=Code
> I really think a generator (like the above MyCounter.next) is a more appropriate tool than an atom... -
03:41 AM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-32:
> An use-case I was working on earlier today was profiling operations like coverage and sampling tools.
Ah yes, beautiful example! Accumulating metrics require both atomicity and performa... -
02:34 AM Feature #12607: Ruby needs an atomic integer
- > In my experience financial transactions will be handled at the DB level.
So imagine you're implementing the DB then.
> ...
If you want to perform an arbitrary operation on a counter you can do that atomically, without a lock, by ... -
02:25 AM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-28:
> For example for issuing unique IDs across multiple Ractors.
That's the "monotonically increasing counter" case I was talking about, and for that I really think a generator (like the abo... -
01:34 PM Bug #17429: Prohibit include/prepend in refinement modules
- shugo (Shugo Maeda) wrote in #note-11:
> The behavior is similar to Module#mix proposed by Matz before.
Visually it's a more pleasing API than the `import` keyword, but would it be available in any module or just refinements?
If any... -
03:15 AM Bug #17429: Prohibit include/prepend in refinement modules
- marcandre (Marc-Andre Lafortune) wrote in #note-3:
> Is there a proposal to import modules in refinements?
> ...
I prefer the following way, but I'm not sure about the name import.
```
refine Object do
import Code
end
```
... -
01:20 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- neg_hide (Hidenori Negishi) wrote in #note-3:
> I am making a library that makes error messages easier to read. Therefore, instead of using `Exception#full_message`, I need to analyze the Exception and output the error message myself.
... -
12:35 PM Revision 834b404b (git): [DOC] Fixed indent [ci skip]
-
12:30 PM Bug #17542 (Closed): Username and password are not decoded if retrieved from env
- If someone sets an env variable defining a http_proxy (ENV['http_proxy']), containing a
username / password with percent-encoded characters, then the resulting
base64 encoded auth header will be wrong.
For example, suppose a usernam... -
10:21 AM Bug #17537: === on ranges of strings is not consistant with include?
- > ranges of strings have inconsistent semantics
That's an inherent property of string ranges, and of Range in general.
Range in Ruby represents TWO things:
* sequence (enumeration) from begin to end (based on the notion of the "ne... -
04:55 AM Bug #17537: === on ranges of strings is not consistant with include?
- Ok. Well, my personal opinion is that just to have some fancy way to handle version strings, ranges of strings have inconsistent semantics. With to_a, they behave like their natural order is shortlex on some imaginary alphabet:
```
... -
09:50 AM Bug #17540: A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
- Mmm… That sounds like an LLVM issue. At least in the latest C++, `volatile` is deprecated. I don’t think that fix works for extension libraries written in that language.
cf: http://wg21.link/P1152 -
04:34 AM Bug #17540 (Closed): A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
- When built with `optflags=-O3` (which is the default), `ruby -e "pp Thread.main"` causes a segfault, which seems to be worked around by the following change:
```
--- a/include/ruby/internal/fl_type.h
+++ b/include/ruby/internal/fl_typ... -
08:54 AM Bug #17541 (Closed): shareable constant literals in a large script might be recycled
- Please backport commit:6bcc4664bdaebbf9b28a762ae63f476a1ec6cfb2.
These are optional.
commit:bb40c5cbe977de9f36a2a739e94e9b2fd4496b6e
commit:c060bdc2b4ab8eeef5374f4174f5de48ab936d74
-
07:44 AM Revision 29777cb3 (git): Merge RubyGems-3.2.5
-
07:44 AM Revision 93dcf082 (git): Merge Bundler-2.2.5
-
07:44 AM Revision c721e36c (git): Merge RubyGems-3.2.4
-
07:44 AM Revision d4f5827a (git): Merge Bundler-2.2.4
-
07:15 AM Revision 6bcc4664 (git): Return new NODE_LIT
- As NODE_ZLIST/NODE_LIST are not markable, cannot be reused as
NODE_LIT. -
07:13 AM Revision bb40c5cb (git): Ensure symbol list node is either NODE_STR or NODE_DSTR
-
07:12 AM Revision c060bdc2 (git): NODE markability should not change by nd_set_type
-
06:50 AM Feature #17490 (Closed): Rename RubyVM::MJIT to RubyVM::JIT
- Applied in changeset commit:git|e1fee7f949cb6719122672fa1081c60984a5339f.
----------
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other... -
06:46 AM Revision e1fee7f9 (git): Rename RubyVM::MJIT to RubyVM::JIT
- because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.
[Feature #17490] - 02:22 AM Revision 1824df40 (git): * 2021-01-14 [ci skip]
- 01:21 AM Revision 4d13f3e9 (git): [ruby/bigdecimal] Explicitly cast size_t to int
- https://github.com/ruby/bigdecimal/commit/b1f1ed26c9
- 01:20 AM Revision b4ade739 (git): [ruby/bigdecimal] Explicitly cast uint64_t to double
- https://github.com/ruby/bigdecimal/commit/f0d94e6843
- 01:20 AM Revision e129be75 (git): [ruby/bigdecimal] Suppress warning at NO_SANITIZE on gcc
- https://github.com/ruby/bigdecimal/commit/f6765b8071
-
12:13 AM Revision efcdf68e (git): Guard callinfo
- Callinfo was being written in to an array and the GC would not see the
reference on the stack. `new_insn_send` creates a new callinfo object,
then it calls `new_insn_core`. `new_insn_core` allocates a new INSN
linked list item, which c... -
12:06 AM Revision f4ce78d5 (git): delete negative cache from the table correctly
- negative cache entry should be removed from
vm->negative_cme_table even if the redefined class has no
subclasses.
01/13/2021
-
11:45 PM Feature #12607: Ruby needs an atomic integer
- > You can achieve something similar with Object.new.object_id
You may want them to be consecutive.
> ...
A Ractor send has relatively high synchronisation overhead - an atomic integer is conventionally implemented at the cache-cohe... -
10:40 PM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-28:
> > What is the use case for this atomic integer?
> ...
You can achieve something similar with `Object.new.object_id`
> > or in fact any integer atomic operations other than += 1
> ...
... -
09:45 PM Feature #12607: Ruby needs an atomic integer
- > What is the use case for this atomic integer?
For example for issuing unique IDs across multiple Ractors.
> ...
For example a CAS to update a bank balance is a common requirement. -
06:05 PM Feature #12607: Ruby needs an atomic integer
- What is the use case for this atomic integer? I sometimes have a use for an atomic monotonically increasing counter, but that could be satisfied with a very simple API like `n = MyCounter.next`
On the other hand I've never felt the need... -
07:32 AM Feature #12607: Ruby needs an atomic integer
- Eregon (Benoit Daloze) wrote in #note-25:
> True, but an atomic integer remains useful even if there is an STM.
> ...
TVar proposed in https://bugs.ruby-lang.org/issues/17261 has `#increment` method and it is enough fast. -
10:56 PM Revision c8b47eb7 (git): only add the trailing nop if the catch table is not break / next / redo
- We don't need nop padding when the catch tables are only for break /
next / redo, so lets avoid them. This eliminates nop padding in
many lambdas.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
10:53 PM Revision 589a8026 (git): fix ASAN errors
-
09:37 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Feature #17291] Optimize `__send__` call (mrkn)
* [rspec-mocks](https://github.com/rspec/rspec-mocks) depends on redefining `__send__` to detect the form of the method call in a mock object.
* The mock object raises NoMethodErro... -
04:26 PM Misc #17535 (Closed): DevelopersMeeting20210216Japan
- # The next dev meeting
**Date: 2021/02/16 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
08:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- I was just doing a similar test actually, I think you're correct! I'll close this issue and re-submit a patch to Net::HTTP to replace `Timeout::timeout` there, since it's not doing anything for DNS lookups anyway. Thank you!
-
05:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- How to test:
```
% vi /etc/resolv.conf # specify non-existing nameserver
% time ./ruby -rtimeout -rsocket -e 'Timeout.timeout(2) { Addrinfo.getaddrinfo("www.ruby-lang.org",nil) }'
-e:1:in `getaddrinfo': execution expired (Time... -
04:05 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- According to https://bugs.ruby-lang.org/issues/12435, the only reason we are using `Timeout.timeout` in `Net::HTTP#connect` instead of using nonblocking io and `IO.select` is so that we can place a timeout on the getaddrinfo function, @n...
-
07:06 PM Bug #17538 (Closed): Assertion failure when rincgc is turned off
- [Pull request on GitHub](https://github.com/ruby/ruby/pull/4064).
When compiling with `-DUSE_RINCGC=0` (turn off rincgc) and `-DRGENGC_CHECK_MODE=1` (turn on assertions), there is an assertion error when running multiple ractors.
R... -
05:35 PM Bug #17537: === on ranges of strings is not consistant with include?
- It was intentional.
Before 2.6, `===` was using `include?` underneath, which had some undesirable consequences:
```ruby
case '2.5.2'
when '2.5'..'2.6'
puts "It is between 2.5 and 2.6"
else
puts "It is not"
end
```
This pr... -
05:12 PM Bug #17537 (Closed): === on ranges of strings is not consistant with include?
- Hi,
In Ruby up to 2.6 both `("1".."12").include?("6")` and `("1".."12") === "6"` were true. In 2.7 and 3.0, `include?` accepts `"6"`, but `===` does not. This was very handy in `case`s. Reading the documentation it is unclear to m... -
04:47 PM Bug #17536: Segfault in `CFUNC :define_method`
- This is part of the backtrace:
~~~
#0 lookup_method_table (id=349648, klass=93825096550280) at vm_method.c:690
#1 search_method (defined_class_ptr=<optimized out>, id=<optimized out>, klass=93825096550280) at vm_method.c:970
#2 ... -
04:41 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
- Trying to run test suite of `shoulda-matchers`, I observe the following issue:
~~~
... snip ...
if the given value is present in the store
/usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb... -
04:26 PM Misc #17480 (Closed): DevelopersMeeting20210113Japan
-
03:19 PM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- https://github.com/ruby/ruby/pull/4061
-
03:18 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
- Applied in changeset commit:git|521ad9a13aef1e1dae4eaff70d3e6b2e358aa095.
----------
Moved Fiber methods into core [Feature #17407] -
06:52 AM Feature #17407: Fiber.current and require 'fiber'
- I still think `Fiber.current` is not needed because `Fiber#transfer` is not easy feature to use.
However, Fiber scheduler is introduced and they can be utilize.
So I'm okay for nobu's PR. - 03:18 PM Revision 70cd351c (git): * 2021-01-14 [ci skip]
-
03:17 PM Revision 7f3c5e65 (git): mkmf.rb: remove exts.mk at distclean
-
02:46 PM Bug #17534 (Closed): Pattern-matching is broken with find pattern
- The minimal reproduction code:
```ruby
case [1, 2, 3]
in y
puts "branch1"
in [*, x, *]
puts "branch2"
else
puts "branch3"
end
```
This outputs long "raw disasm" sequence, and then
```
---------------------
break_pm.... -
02:20 PM Revision 521ad9a1 (git): Moved Fiber methods into core [Feature #17407]
-
01:11 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
- Applied in changeset commit:git|0036648a420f945624898568bb82bc5f83195d12.
----------
Capture to reserved name variables if already defined [Bug #17533] -
12:14 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
- It is expected that named captures don't add new variables same as reserved words, and such variables couldn't be made usually at the time when named capture was implemented.
Keyword arguments since 2.0 can be the same as reserved wor... -
12:16 PM Revision 0036648a (git): Capture to reserved name variables if already defined [Bug #17533]
-
11:49 AM Bug #17429: Prohibit include/prepend in refinement modules
- With https://bugs.ruby-lang.org/issues/17429#note-3 it would.
I think it makes sense adding such functionality at the same time as no longer allowing `include` for refinement modules. -
08:08 AM Bug #17429: Prohibit include/prepend in refinement modules
- Calling include in refinement modules has certin use cases.
Here's an actual example.
https://github.com/tomykaira/rspec-parameterized/blob/v0.4.2/lib/rspec/parameterized/table_syntax.rb#L27-L61
This gem uses Module#include to avo... -
11:41 AM Feature #17485 (Closed): Keyword argument for timezone in Time.new
- Applied in changeset commit:git|4b15caee8fe7a5aaa52ed5a3ab2a3517c9206fd7.
----------
Added `in:` timezone option to `Time.new` [Feature #17485] -
09:37 AM Revision e9b93d67 (git): Positional and keyword arguments for timezone are exclusive
- [Feature #17485]
-
09:15 AM Revision 4b15caee (git): Added `in:` timezone option to `Time.new` [Feature #17485]
-
09:13 AM Bug #17523 (Closed): Inconsistent Warning[] values in scripts loaded by -r option
- Applied in changeset commit:git|6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6.
----------
Make warning values consistent [Bug #17523]
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in s... -
09:13 AM Bug #17509 (Closed): Custom respond_to? methods in modules break defined?(super)
- Applied in changeset commit:git|85b5d4c8bf4cdcba4f1af65f2bc0c8ac716cb795.
----------
Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #... -
09:12 AM Revision 6f6dfdcc (git): Make warning values consistent [Bug #17523]
- They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in scripts loaded by `-r`
option too. -
09:11 AM Revision 85b5d4c8 (git): Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
- This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #17509], the breakage in the case `super` is
called in `respond_to?`. -
08:07 AM Revision 303533d2 (git): Avoid re-entering opt_invokebuiltin_delegate_leave
- on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice. -
08:07 AM Revision 98ca667b (git): Fixed a typo [Bug #17522]
-
08:07 AM Revision 5b2a0fc6 (git): Fixed dangling imemo_tmpbuf
- The count of rb_alloc_tmp_buffer_with_count is the allocation size
counted in VALUE size but not in the requested element size.
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
Co-authored-by: Koichi Sasada <ko1@atdot.net> -
08:07 AM Revision 1614dd9f (git): expose some C-APIs for ractor
- expose some C-APIs to try to make ractor utilities on external gems.
* add
* rb_ractor_local_storage_value_lookup() to check availability
* expose
* rb_ractor_make_shareable()
* rb_ractor_make_shareable_copy()
* rb_proc_isolate(... -
08:06 AM Revision b2beb858 (git): Make any hash values fixable [Bug #17488]
- As hnum is an unsigned st_index_t, the result of RSHIFT may not be
in the fixable range.
Co-authored-by: NeoCat <neocat@neocat.jp> -
08:06 AM Revision b93e16dc (git): enable constant cache on ractors
- constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
This patch enables it by introducing `imemo_constcache` and allocates
it by every re-f... -
07:38 AM Bug #17504 (Closed): Allow UTC offset without colons per ISO-8601
- Applied in changeset commit:git|9441f3f97087a4325ee80911859d37da41fa5050.
----------
Allow UTC offset without colons per ISO-8601 [Bug #17504] -
07:37 AM Bug #17504: Allow UTC offset without colons per ISO-8601
- Accepted.
Matz.
-
07:37 AM Revision 9441f3f9 (git): Allow UTC offset without colons per ISO-8601 [Bug #17504]
-
07:10 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- matz (Yukihiro Matsumoto) wrote in #note-4:
> I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
If we are OK with this being a constant and not a variable, `RUBY_BACKTRACE_LIMIT`.
From... -
05:50 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
Matz.
-
07:07 AM Feature #17330: Object#non
- I don't see the `non` method make code more readable by glancing at the examples.
Can you elaborate on the benefit of the proposal?
Matz.
-
06:30 AM Feature #16806: Struct#initialize accepts keyword arguments too by default
- I am OK with 3.1 to warn, 3.2 to change.
Matz.
-
06:29 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- As of #15743, it was made clear that `RubyVM` means CRuby specific module (OK? @eregon). I am OK with renaming it `JIT` (or not).
So it's totally up to @k0kubun.
In addition, I don't think we need a migration path for this internal f... - 06:09 AM Revision 30a35420 (git): [ruby/ostruct] Bump version
-
06:05 AM Feature #17327: The Queue constructor should take an initial set of items
- I accept the idea. Take `Enumerable` as initial values.
Matz.
-
05:47 AM Feature #17496: Add constant Math::TAU
- universato (Yoshimine Sato) wrote in #note-31:
> FYI
> ...
Thank you! This is the first time I actually see the practical use of this constant. -
05:42 AM Feature #16989: Sets: need ♥️
- I agree with adding `Set` by default. But no set literals nor `SortedSet` at the moment.
Matz.
-
03:31 AM Feature #16989: Sets: need ♥️
- I'm sorry, I am completely confused by this discussion, I can't make sense of it.
From what I read:
```ruby
set = {:a, :b, :c} # or whatever notation is used
set.class # => Hash ???
set[:a] # => Hash::SetDummy ???
set[:elem] = ... -
01:48 AM Feature #16989: Sets: need ♥️
- knu (Akinori MUSHA) wrote in #note-29:
> For example, a program that goes `hash = {}; hash << 1; hash[:key] = :value` would likely be a mistake, but that couldn't be easily detected without explicit type annotation.
Well, even with t... -
01:26 AM Feature #16989: Sets: need ♥️
- I don't like the idea of making `array & hash` possible, as that would go against the trends of making Ruby type-friendly and error-prone.
akr (Akira Tanaka) wrote in #note-25:
> - define a special constant (Hash::DummyValue = Object... -
01:26 AM Feature #16989: Sets: need ♥️
- akr (Akira Tanaka) wrote in #note-25:
> - Hash#each doesn't work well as Set but we can use Hash#each_key.
To be fair, "Hash#each doesn't work well" means Enumerable methods doesn't work well.
`enum_for(:each_key)` can be used as ... -
12:13 AM Feature #16989: Sets: need ♥️
- marcandre (Marc-Andre Lafortune) wrote in #note-26:
> I still don't see the benefit of not simply having `Set` in core.
One direction that distinguishes Ruby from some other programming languages is big classes. A typical example is ... - 04:30 AM Revision 65787f18 (git): Typo fixes [doc]
- 04:29 AM Revision f48edc28 (git): Fix method protection for modules in the ancestry chain.
- [Fixes ruby/ostruct#23]
-
04:28 AM Revision 75212f2f (git): Update wording in ractor.md (#4056) [doc]
-
03:50 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
- Applied in changeset commit:git|d8fb0bca5475d62731ba871adf344fef88f62bbf.
----------
Removed excess stringizations on regstr [Bug #17532] -
02:17 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
- On AArch64 Linux, a machine register dump is printed as follows:
```
-- Machine register context ------------------------------------------------
"x0: 0x0000000000000000 "x1: 0x000000000000000b "x2: 0x0000000000000000
"x3: 0x534547... -
03:47 AM Revision d8fb0bca (git): Removed excess stringizations on regstr [Bug #17532]
-
03:16 AM Bug #17162 (Closed): Dir['**/*'] : stack smashing detected when listing big amount of directories
- Applied in changeset commit:git|083c5f08ec4e95c9b75810d46f933928327a5ab3.
----------
Check stack overflow in recursive glob_helper [Bug #17162] -
03:16 AM Revision 083c5f08 (git): Check stack overflow in recursive glob_helper [Bug #17162]
- 02:49 AM Revision a5b4b806 (git): [ruby/bigdecimal] Allow digits=0 in BigDecimal(flt) and Float#to_d
- Using dtoa of mode=0, we can determine the number of digits in decimal that is
necessary to represent the given Float number without errors.
This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these
methods use dtoa of m... -
02:27 AM Revision 30f13164 (git): Skip test when UDP server is no response.
-
01:24 AM Feature #17097: `map_min`, `map_max`
- https://github.com/crystal-lang/crystal/pull/365
In Crystal language, these proposed methods are called `max_of`, `min_of`.
Note: Crystal has `max`, `max_by`, `max_of`.
This feature may not be innovative, but I think many Ruby users... - 12:36 AM Revision 0a4f719a (git): Update ext/bigdecimal/depend
- 12:08 AM Revision 28321e40 (git): Update ext/bigdecimal/depend