Project

General

Profile

Activity

From 07/31/2020 to 08/06/2020

08/06/2020

11:47 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
IMHO it should be a LocalJumpError. The Proc should return to the lambda, that's syntactically the closest scope it should return to.
Since it's not possible to return to it (the lambda is no longer on stack), it should be a LocalJumpError.
Eregon (Benoit Daloze)
07:09 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
I think the behavior makes sense to some extent, because the proc is within 2 nested contexts. Since the proc is within the lambda context, calling it in the lambda returns from the lambda. And since the proc is _also_ within the method ... Dan0042 (Daniel DeLorme)
02:43 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
Hans I don't think anyone is debating the basic idea of what return in a proc or lambda does - I think we're talking about the edge-case for a proc in a return in the example above, which isn't explained by the text you have. chrisseaton (Chris Seaton)
02:34 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
i think this is by design:
https://www.rubyguides.com/2016/02/ruby-procs-and-lambdas/
> A lambda will return normally, like a regular method.
> ...
> Procs return from the current method, while lambdas return from the lambda itself.
Hanmac (Hans Mackowiak)
11:00 AM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
I should also note some of these semantics might significantly harm the performance of Ruby.
CRuby seems to walk the stack on every `return`.
On others VMs there need to be some extra logic to find if the frame to return to is still on...
Eregon (Benoit Daloze)
10:54 AM Bug #17105 (Closed): A single `return` can return to two different places in a proc inside a lambda inside a method
A single `return` in the source code might return to 2 different lexical places.
That seems wrong to me, as AFAIK all other control flow language constructs always jump to a single place.
```ruby
def m(call_proc)
r = -> {
# ...
Eregon (Benoit Daloze)
03:17 PM Revision 429efce4 (git): * 2020-08-07 [ci skip]
git[bot]
03:16 PM Revision fcdda2f8 (git): Add more debug info to test_verify
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684 znz (Kazuhiro NISHIYAMA)
01:04 PM Revision 99e48527 (git): Add verbose message to random failed assertion
for example:
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111251
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3109195
znz (Kazuhiro NISHIYAMA)
11:10 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> I'd argue "a#{2}c" is not a string literal ("a2c" is a string literal).
I understand your point of view. However in my view what defines a literal, is the use of a specific syntax, so `""` in this case.
Same for hashes or arrays,...
byroot (Jean Boussier)
10:12 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
byroot (Jean Boussier) wrote in #note-8:
> Because I understand the consistency argument. "All string literals are frozen" is much easier to wrap your head around than "All string literals are frozen except the ones that are interpolated...
Eregon (Benoit Daloze)
09:23 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> If you want to get a mutable string from an interpolated literal +"_#{method1}_", 2 allocation will be done instead of 1
Maybe the parser could understand `+"#{}"` and avoid that second allocation? The same way it understand `"".fre...
byroot (Jean Boussier)
01:37 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
+1
A while ago I opened ticket #16047 about the same thing.
Seems a lot of people don't like the current behavior so much.
Dan0042 (Daniel DeLorme)
10:14 AM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #17104] Do not freeze interpolated strings when using frozen-string-literal (eregon)
* It seems many people agree there is no point to freeze interpolated strings.
* Interpolated strings are not "simple literals" (just lik...
Eregon (Benoit Daloze)
06:51 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
I've directly heard "not-yet-implemented" from @ko1. Sorry for noise. mame (Yusuke Endoh)
06:45 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Question: What is "immutable"?
I've tried the following code, but the implementation raises a NameError "can not access non-sharable objects in constant A by non-main Ractors".
```
A = {}
A.freeze
Hash.freeze
Object.freeze
s...
mame (Yusuke Endoh)
02:56 AM Feature #16513 (Closed): TracePoint#inspect to return "... file:line" instead of "...@file:line"
Applied in changeset commit:git|1819652578e8f9fe3606f7a716ec4e427fc55f0a.
----------
[Feature #16513] TracePoint#inspect returns "... file:line" (#3391)
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket)
* Trace...
nguyenquangminh0711 (Quang-Minh Nguyen)
02:56 AM Revision 18196525 (git): [Feature #16513] TracePoint#inspect returns "... file:line" (#3391)
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket)
* TracePoint#inspect returns "... file:line" (Feature #16513)
* Guard older version of Ruby in Tracepoint inspection tests
* Focus on current thread only when r...
Nguyễn Quang Minh

08/05/2020

11:36 PM Revision bbbec4b8 (git): Apply timeout-scale to test_thr_kill.
Jun Aruga
09:26 PM Feature #17104 (Open): Do not freeze interpolated strings when using frozen-string-literal
We can treat this as a feature request. I changed it from Misc to Feature and modified the Subject to be the feature you are requesting as opposed to a question. The issue for the next developer meeting is at https://bugs.ruby-lang.org... jeremyevans0 (Jeremy Evans)
09:18 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
Can't we just treat this as I feature request? The reasons are, it will reduce allocations, be more logical, less surprising and produce simpler code (when a mutable string is needed and you don't want extra allocations) bughit (bug hit)
09:10 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
FWIW I'd be +1 to make interpolated Strings non-frozen.
It's BTW still the behavior in TruffleRuby to this day, since it seems to cause no incompatibility and is convenient for writing the core library with Ruby code.
Eregon (Benoit Daloze)
09:05 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
If you would like the behavior changed, you should file a feature request for it, and add it to the agenda of a future developer meeting. jeremyevans0 (Jeremy Evans)
08:58 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
If you want to get a mutable string from an interpolated literal `+"_#{method1}_"`, 2 allocation will be done instead of 1, if it weren't pointlessly frozen.
In this case a feature designed to reduce allocations is producing more allo...
bughit (bug hit)
08:25 PM Feature #17104 (Closed): Do not freeze interpolated strings when using frozen-string-literal
Other people have felt the same way, including me (see https://bugs.ruby-lang.org/issues/11473#note-7 and https://bugs.ruby-lang.org/issues/8976#note-67). However, @matz decided during the November 2015 developer meeting that they should... jeremyevans0 (Jeremy Evans)
08:06 PM Feature #17104 (Closed): Do not freeze interpolated strings when using frozen-string-literal
I think the point of frozen string literals is to avoid needless allocations. Interpolated strings are allocated each time, so freezing them appears pointless.
```rb
#frozen_string_literal: true
def foo(str)
"#{str}"
end
f...
bughit (bug hit)
07:58 PM Revision 77cfd2e0 (git): * 2020-08-06 [ci skip]
git[bot]
07:58 PM Revision e0bc436d (git): Enhanced documentation for Array#repeated_combination (#3392)
* Enhanced documentation for Array#repeated_combination
* Enhanced documentation for Array#repeated_combination
burdettelamar (Burdette Lamar)
02:42 PM Revision 24983346 (git): Enhanced documentation for Array#repeated_permutation (#3390)
* Enhanced documentation for Array#repeated_permutation
* Enhanced documentation for Array#repeated_permutation
burdettelamar (Burdette Lamar)
11:01 AM Revision 8f71bb0e (git): Fixed the inconsistency gemspec location with net-* gems.
hsbt (Hiroshi SHIBATA)
09:14 AM Feature #16513: TracePoint#inspect to return "... file:line" instead of "...@file:line"
I created a patch for this ticket here: https://github.com/ruby/ruby/pull/3391.
nguyenquangminh0711 (Quang-Minh Nguyen)
08:01 AM Bug #17025: `Time#ceil` does not work like `Rational#ceil` or `Float#ceil`
Thank you for fixing this Jeremy. tgxworld (Guo Xiang Tan)

08/04/2020

11:15 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
ko1 (Koichi Sasada) wrote in #note-5:
> BTW, there is some inconsistent by variable types:
I think that does not matter much, it's about consistency between what "state" of modules/classes can be accessed.
I do not mind much about class...
Eregon (Benoit Daloze)
01:18 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Eregon (Benoit Daloze) wrote in #note-2:
> * I think we need to introduce `#deep_freeze` to make it easy to create deeply-immutable objects conveniently and efficiently.
> ...
Do we need both? It seems an "optimised deep copy that ret...
shyouhei (Shyouhei Urabe)
12:38 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Thank you for trying Ractor.
ibylich (Ilya Bylich) wrote in #note-4:
> 1. Multiple ractors use a single shared objectspace, right? If so, is it ok that objects can be shared using ObjectSpace? I'm talking about something like this:
...
ko1 (Koichi Sasada)
12:30 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Thank you for your question.
Eregon (Benoit Daloze) wrote in #note-2:
> * Reactor#recv/Channel#recv => Reactor#receive/Channel#receive. I don't think libc-like abbreviations should be used. Let's use actual words.
I want to ask Ma...
ko1 (Koichi Sasada)
11:05 PM Revision c8704328 (git): * 2020-08-05 [ci skip]
git[bot]
11:04 PM Revision 9db5d63e (git): [DOC] Use oracle url instead of sun url
[ci skip] S_H_ (Shun Hiraoka)
07:57 PM Bug #14607: Fix use of the rb_profile_frames start parameter
The original patch has a merge conflict. However, I have opened a pull request with the fix for this issue (https://github.com/ruby/ruby/pull/2713) that has been rebased to resolve the merge conflict. dylants (Dylan Thacker-Smith)
03:36 PM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
I run this program on Windows 10 64-bit. Very very slow: I wait more than 10 minutes, then I press Ctrl-Break. Now I install Ruby 2.6, then the program runs as fast as Ruby 2.4. fitmap (Justin Peal)
10:13 AM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
I tried this benchmark in several ruby's(Ubuntu18.04 in WSL2. using `rbenv`).
```yaml
prelude: |
require 'yaml'
benchmark:
load_file: YAML.load_file('qlnv_h_h.yaml')
loop_count: 1
```
And, result.
```bash
sh@MyComputer:~/rubyde...
S_H_ (Shun Hiraoka)
08:32 AM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #17103] Add a :since option to `ObjectSpace.dump_all` (byroot)
* On large heap, `dump_all` can take over a minute and generate huge (6+GiB) files.
* `since: 42`, means only objects matching `generation && generation >= 42`...
byroot (Jean Boussier)
08:26 AM Feature #17103 (Closed): Add a :since option to ObjectSpace.dump_all
Patch: https://github.com/ruby/ruby/pull/3368
This is useful for seeing what a block of code allocated, e.g.
```ruby
GC.start
GC.disable
gc_gen = GC.count
ObjectSpace.trace_object_allocations do
# run some code
end
allocat...
byroot (Jean Boussier)
08:24 AM Bug #17020: ObjectSpace.trace_object_allocations_stop raises if called before trace_object_allocations_start
I added a regression test using `assert_separately`. byroot (Jean Boussier)
02:59 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
tenderlovemaking (Aaron Patterson) wrote in #note-16:
> I guess I need to read the Sequel implementation. It seems possible to design a system that is no overhead in the no-plugin case that also uses regular instance variables. In fac...
jeremyevans0 (Jeremy Evans)
12:40 AM Feature #16986: Anonymous Struct literal
Matz said: "good to have, but current proposed syntax are not acceptable. If there is good syntax, I can consider to accept."
ko1 (Koichi Sasada)
12:19 AM Feature #15752: A dedicated module for experimental features
FYI: [Type-profiler](https://github.com/mame/ruby-type-profiler), which I'm developing for an experimental type inference tool for Ruby 3 types, heavily depends upon `RubyVM::InstructionSequence` because it performs static analysis on M... mame (Yusuke Endoh)
12:01 AM Revision e8edc34f (git): Remove unused struct member
I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,
and it's making the size of RVALUE be too big. I'm sorry! orz
tenderlovemaking (Aaron Patterson)

08/03/2020

10:31 PM Bug #17102 (Closed): openssl/buffering.rb:182: [BUG] Segmentation fault at 0x00001fa0fd774000
Ruby crashed in our CI today, here's the console output:
```
Fetching google-api-client 0.23.9
/Users/anka/.rbenv/versions/2.6.5/lib/ruby/2.6.0/openssl/buffering.rb:182: [BUG] Segmentation fault at 0x00001fa0fd774000
ruby 2.6.5p114...
Hixie (Ian Hickson)
07:56 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
IMHO, "host_cpu" should have "arm64". "arm" looks like a bug to me. Would be nice to get this resolved, since it blocks https://github.com/ffi/ffi/pull/801 . larskanis (Lars Kanis)
07:40 PM Feature #15752: A dedicated module for experimental features
I think an important lesson the Ruby implementors have learned over time is that there are no CRuby-specific APIs, it's a myth.
Whatever was thought once as CRuby-specific will eventually be implemented on some other Ruby implementation...
Eregon (Benoit Daloze)
07:34 PM Feature #15752: A dedicated module for experimental features
Dan0042 (Daniel DeLorme) wrote in #note-18:
> Can I ask what would be so bad about having the `RubyVM` constant in other implementations? I mean, in itself the name is very general. Every implementation can be said to be a "Ruby VM".
...
Eregon (Benoit Daloze)
07:04 PM Feature #15752: A dedicated module for experimental features
Can I ask what would be so bad about having the `RubyVM` constant in other implementations? I mean, in itself the name is very general. Every implementation can be said to be a "Ruby VM".
If support for an experimental feature is indi...
Dan0042 (Daniel DeLorme)
07:28 PM Revision d8e78850 (git): * 2020-08-04 [ci skip]
git[bot]
07:28 PM Revision 3dc313a2 (git): Don't pin objects if we're just walking the heap
Walking the heap can inadvertently pin objects. Only mark the object's
pin bit if the mark_func_data pointer is NULL (similar to the mark bits)
tenderlovemaking (Aaron Patterson)
06:51 PM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
You used the phrase 'runs very very slow'. I found 2.7 slower, as below. What were the times you had?
Using Psych.safe_load, got the following for several mingw builds, along with an mswin master build.
All returned a hash with 608 k...
MSP-Greg (Greg L)
03:19 PM Bug #17101 (Closed): YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
When use Ruby 2.4, the following program runs fast, After ungrade to Ruby 2.7, the same program runs very very slow. Please unzip the attach first for test.
require 'yaml'
YAML.load_file('qlnv_h_h.yaml')
fitmap (Justin Peal)
06:31 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-15:
> tenderlovemaking (Aaron Patterson) wrote in #note-14:
> ...
I guess I need to read the Sequel implementation. It seems possible to design a system that is no overhead in the no-plugin c...
tenderlovemaking (Aaron Patterson)
05:01 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
tenderlovemaking (Aaron Patterson) wrote in #note-14:
> jeremyevans0 (Jeremy Evans) wrote in #note-13:
> ...
It certainly could, but it would require more work, and would result in slower performance in the the no-plugin case. We coul...
jeremyevans0 (Jeremy Evans)
04:48 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-13:
> As you'll see by the benchmark, the reason the performance difference is much different than you would expect is that Model loads from the database in Sequel run through `Sequel::Model.ca...
tenderlovemaking (Aaron Patterson)
04:30 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
Eregon (Benoit Daloze) wrote in #note-12:
> jeremyevans0 (Jeremy Evans) wrote in #note-11:
> ...
I'm glad you asked, as the difference is actually much greater than I remember it being. With the attached benchmark, on PostgreSQL localh...
jeremyevans0 (Jeremy Evans)
11:22 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-11:
> The last time I did testing on this in Sequel, the performance decrease from initializing instance variables to nil was around 5% for Sequel::Model instance creation depending on the plug...
Eregon (Benoit Daloze)
04:23 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
phluid61 (Matthew Kerwin) wrote in #note-5:
> benlangfeld (Ben Langfeld) wrote in #note-4:
> ...
Thank you for pointing that out. RFC 6724 is even more explicit:
```
Well-behaved applications SHOULD NOT simply use the first address
retu...
benlangfeld (Ben Langfeld)
03:55 PM Misc #17041: DevelopersMeeting20200831Japan
* [Bug #17017] Range#max & Range#minmax incorrectly use Float end as max (dan0042)
* `(1..3.1).max` has resulted in `3.1` since ruby 1.9 and has now been "fixed" to return `3`. Matz, please confirm?
Dan0042 (Daniel DeLorme)
10:46 AM Revision 1d637b1f (git): [ruby/weakref] Use Gemfile instead of Gem::Specification#add_development_dependency.
https://github.com/ruby/weakref/commit/10d547ba12 hsbt (Hiroshi SHIBATA)
10:42 AM Revision 9e93596d (git): [ruby/ostruct] Drop to Ruby 2.4
https://github.com/ruby/ostruct/commit/00e8fe3df2 hsbt (Hiroshi SHIBATA)
10:29 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
First of all, thanks a lot for your work. This is a huge (and incredibly valuable) addition to Ruby.
I have your branch built locally and I played a lot with it during last few days. I've got a few questions:
1. Multiple ractors us...
ibylich (Ilya Bylich)
10:18 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Note: I updated my questions on Redmine based on rereading https://github.com/ko1/ruby/blob/ractor_parallel/doc/ractor.md Eregon (Benoit Daloze)
09:49 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Looking forward to this.
I have a few questions.
* Reactor#recv/Channel#recv => Reactor#receive/Channel#receive. I don't think libc-like abbreviations should be used. Let's use actual words.
* About synchronization for Modules, specific...
Eregon (Benoit Daloze)
05:54 AM Feature #17100 (Closed): Ractor: a proposal for a new concurrent abstraction without thread-safety issues
# Ractor: a proposal for a new concurrent abstraction without thread-safety issues
## Abstract
This ticket proposes a new concurrent abstraction named "Ractor," Ruby's Actor-like feature (not an exact Actor-model).
Ractor achiev...
ko1 (Koichi Sasada)
09:56 AM Revision 85dc5708 (git): [ruby/net-http] Fix SSL session reuse test with LibreSSL 3.2+
https://github.com/ruby/net-http/commit/5ae9620fbc jeremyevans (Jeremy Evans)
09:55 AM Revision 20eb9e98 (git): [ruby/net-http] Switch invalid server name format
invalid_servername is not a valid name in an SSL request due to
the use of the underscore, and LibreSSL 3.2.0 will raise an
exception for this. These tests are not testing the allowed
characters in the server name, but how net/http hand...
jeremyevans (Jeremy Evans)
09:30 AM Revision e732d376 (git): [ruby/cgi] Drop to Ruby 2.4
https://github.com/ruby/cgi/commit/8a86536e94 hsbt (Hiroshi SHIBATA)
08:52 AM Revision 3ec860ae (git): net-ftp is under `lib/net` instead of `lib/net/ftp`
hsbt (Hiroshi SHIBATA)
08:40 AM Revision 2346e2f0 (git): Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp.
hsbt (Hiroshi SHIBATA)
01:25 AM Bug #16695: Stack consistency error when using the return value
Oops, my patch is duplicated at 43c1eb440a7 == r61618 partially so I must revert it at first.
```diff
diff --git a/compile.c b/compile.c
index dfa3802579..2766e985c3 100644
--- a/compile.c
+++ b/compile.c
@@ -2836,7 +2836,6 @@ is...
wanabe (_ wanabe)

08/02/2020

11:20 PM Bug #16695: Stack consistency error when using the return value
How about adjust sp in dead code that is after `jump`?
```patch
diff --git a/compile.c b/compile.c
index dfa3802579..85cbd42893 100644
--- a/compile.c
+++ b/compile.c
@@ -5386,6 +5386,9 @@ compile_if(rb_iseq_t *iseq, LINK_ANCHOR ...
wanabe (_ wanabe)
08:34 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
I think there are several options to solve this issue:
1. Change `RSTRING_PTR()` to pin the string to a fixed memory location.
2. Add a new function kind of `rb_obj_mark_unmovable()` to ruby's C-API that pins string memory without ke...
larskanis (Lars Kanis)
04:58 PM Revision 1cc91b63 (git): * 2020-08-03 [ci skip]
git[bot]
04:56 PM Revision c987be25 (git): Improve docs for Module#remove_class_variable [ci skip]
alanwu (Alan Wu)
04:51 PM Feature #17099 (Open): Remove boolean argument and warning from Module#attr
`Module#attr` works as `Module#attr_reader` by default (since in 1.9.1). Its optional boolean argument is obsoleted, but it works as `Module#attr_writer` when its value is `true`.
I think it's okay to remove the optional boolean argum...
S_H_ (Shun Hiraoka)
03:38 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
Eregon (Benoit Daloze) wrote in #note-9:
> jeremyevans0 (Jeremy Evans) wrote in #note-6:
> ...
This is correct. Whether or not to initialize instance variables depends on the object. For long lived objects (classes, constants), it de...
jeremyevans0 (Jeremy Evans)
12:21 PM Bug #17098: Float#negative? reports negative zero as not negative
Ruby or IEEE 754 seem to regard `-0.0` and `0.0` not as 0 in the mathematical sense, but as (something like) negative and positive infinitesimal. Taking this into account, I started to think `-0.0.negative?` and `0.0.positive?` should bo... sawa (Tsuyoshi Sawada)
03:05 AM Revision ac69849e (git): Enable an assert on all configs for debugging
I'm trying to get a better understanding for rare crashes that happen on
ci:
- http://ci.rvm.jp/results/trunk_clang_10@silicon-docker/3101898
- http://ci.rvm.jp/results/trunk-test@ruby-sky1/2777695
Looking at the stack trace it looks ...
alanwu (Alan Wu)

08/01/2020

07:51 PM Revision a1246270 (git): remove accidentally introduced debug code
ko1 (Koichi Sasada)
07:41 PM Bug #17098: Float#negative? reports negative zero as not negative
AFAIK, the only way to check for `-0.0` is `1.0 / var == -Float::INFINITY`
I find it difficult to discuss what need to be done about any of this as I do not know of the use cases for `-0.0`; without them it seems very theoretical.
marcandre (Marc-Andre Lafortune)
06:02 PM Bug #17098: Float#negative? reports negative zero as not negative
chrisseaton (Chris Seaton) wrote in #note-5:
> then another option could be to add a new predicate `Float#negative_zero?` - that would allow people to differentiate as needed.
Interesting, I thought `equal?` would work for that (it d...
Eregon (Benoit Daloze)
04:00 PM Bug #17098: Float#negative? reports negative zero as not negative
If people aren't keen on changing `Float#negative?` since it has existing semantics, then another option could be to add a new predicate `Float#negative_zero?` - that would allow people to differentiate as needed. chrisseaton (Chris Seaton)
12:50 PM Bug #17098: Float#negative? reports negative zero as not negative
My suggestion is that `Float#negative?(neg_zero) == true` and `Float#positive?(pos_zero) == false`.
We can't get rid of negative zero - it's a standard part of floating point numbers as implemented by the hardware. It's also useful in...
chrisseaton (Chris Seaton)
12:38 PM Bug #17098: Float#negative? reports negative zero as not negative
chrisseaton (Chris Seaton) wrote in #note-2:
> not all methods on the two [return] the same result - for example `neg_zero.inspect != pos_zero.inspect`.
What is your suggestion? To dispense with `-0.0`?
sawa (Tsuyoshi Sawada)
12:18 PM Bug #17098: Float#negative? reports negative zero as not negative
It's already the case that `neg_zero == pos_zero` but not all methods on the two returns the same result - for example `neg_zero.inspect != pos_zero.inspect`. chrisseaton (Chris Seaton)
02:18 AM Bug #17098: Float#negative? reports negative zero as not negative
I disagree. By that logic, positive float zero should be positive (it isn't), and since `-0.0 == 0.0` both should report as negative and positive, which is a contradiction. jeremyevans0 (Jeremy Evans)
01:05 AM Bug #17098 (Rejected): Float#negative? reports negative zero as not negative
Is this intended behaviour?
```
irb(main):001:0> neg_zero = -0.0
=> -0.0
irb(main):002:0> neg_zero.negative?
=> false
irb(main):003:0> neg_zero < 0
=> false
```
It happens because `Numeric#negative?` uses `< 0`. My understan...
chrisseaton (Chris Seaton)
07:24 PM Revision b4f58ea3 (git): support multiple filters by RUBY_DEBUG_LOG_FILTER
Now you can specify multiple filters for RUBY_DEBUG_LOG output
by RUBY_DEBUG_LOG_FILTER=a,b,c (in this case, logs that the
function name contains a, b or c).
ko1 (Koichi Sasada)
06:31 PM Revision f7cf600c (git): fix mark bit operation.
To optimize the sweep phase, there is bit operation to set mark
bits for out-of-range bits in the last bit_t.
However, if there is no out-of-ragnge bits, it set all last bit_t
as mark bits and it braek the assumption (unmarked objects wi...
ko1 (Koichi Sasada)
04:07 PM Revision d5bed288 (git): * 2020-08-02 [ci skip]
git[bot]
04:04 PM Revision fcdbdff6 (git): rb_{ary,fnd}_pattern_info: Remove imemo member to reduce memory usage
This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244.
NODE layout:
Before:
| ARYPTN | FNDPTN | HSHPTN
---+--------+--------+-----------
u1 | pconst | pconst | pconst
u2 | unused | unused | p...
ktsj (Kazuki Tsujimoto)
02:54 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
In other words, lazily initializing @ivars causes reads to need some branching because they need to handle both the initialized and uninitialized cases.
So @ivars reads can no longer be straight-line code, which can impact performance a...
Eregon (Benoit Daloze)
02:36 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-6:
> Yes. When you initialize an instance variable to nil, it slows things down, and there is no benefit because the trying to access an uninitialized instance variable returns nil anyway (plus...
Eregon (Benoit Daloze)
01:29 PM Feature #15752: A dedicated module for experimental features
To clarify, by "move" I mean moving under `ExperimentalFeatures` but we could still e.g. have a deprecated constant under RubyVM to help transition. Eregon (Benoit Daloze)
01:25 PM Feature #15752: A dedicated module for experimental features
The existence of `RubyVM` prevents other Ruby implementations to be fully 100% compatible, because more and more gems start to rely on it.
So either:
* We move most of `RubyVM` to `ExperimentalFeatures` so that other Ruby implementatio...
Eregon (Benoit Daloze)
01:27 PM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #14844] Future of RubyVM::AST? (eregon)
* Other Ruby implementations need to be able to implement it too given more and more gems use it. Where do we move it?
* [Feature #15752] A dedicated module for experimental features...
Eregon (Benoit Daloze)
01:11 PM Feature #14844: Future of RubyVM::AST?
[RBS](https://github.com/ruby/rbs) is using `RubyVM::AbstractSyntaxTree` for `rbs prototype`.
RBS is an official project under the Ruby organization, so I believe it should be able to fully work on other Ruby implementations too ([issue...
Eregon (Benoit Daloze)
10:31 AM Bug #17094: PTY methods with blocks
Runtime testing of RBS uncovered this issue.
https://github.com/ruby/rbs/pull/346#issuecomment-665817340
The RDoc implies the type of `(*String) { (IO, IO) -> void } -> void`, but the implementation is `(*String) { ([IO, IO]) -> void }...
soutaro (Soutaro Matsumoto)
10:02 AM Revision b6175c9e (git): mswin build - install src zlib files after checkout
actions/checkout deletes the contents of the source directory. nobu (Nobuyoshi Nakada)
10:01 AM Revision bf758ef8 (git): mswin build - install src zlib files
MSP-Greg (Greg L)
08:58 AM Revision e8ce9dfa (git): `rb_encoding` is defined as `const`
Duplicate type qualifier is not needed. nobu (Nobuyoshi Nakada)
08:34 AM Bug #16931: `defined?` against a protected method call on an inherited instance returns wrong `nil`
ruby_2_7 23d130a9ddcaf766d6ce309f8518b434a2537fc1 merged revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf. nagachika (Tomoyuki Chikanaga)
08:34 AM Bug #16931: `defined?` against a protected method call on an inherited instance returns wrong `nil`
I cherry-pick'ed the following commits before backporting d05f04d27dd86c67e4a8dfff4392f806cf577bdf.
de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927
da5bd0047d6c961105da210c69d4c88421324b70
ce91c5615ca96f357519043181fb5b76b57ee223
c53aebb1d2...
nagachika (Tomoyuki Chikanaga)
08:33 AM Revision 23d130a9 (git): merge revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]
Fixed `defined?` against protected method call
Protected methods are restricted to be called according to the
class/module in where it is defined, not the actual receiver's
class. [Bug #16931]
nagachika (Tomoyuki Chikanaga)
08:17 AM Revision 315f1ee8 (git): Split test_defined_method
nobu (Nobuyoshi Nakada)
08:17 AM Revision 171d4c51 (git): Fix typo in test name
peterzhu2118 (Peter Zhu)
08:17 AM Revision b222ae41 (git): Test for [Bug #16669]
nobu (Nobuyoshi Nakada)
08:17 AM Revision 34427bc0 (git): Split test_defined
nobu (Nobuyoshi Nakada)
08:03 AM Bug #17095: Backport c0b93267497d47858ea9539ef863be321bc1ddbf
I cherry-pick'ed https://github.com/ruby/ruby/pull/3364/commits/826886da7fe9c2bcb387a19eb2a5c0a8abdca727 at a332e8a0ddad90c540c6c52f0db2a45e5955a23d. nagachika (Tomoyuki Chikanaga)
07:56 AM Revision a024bae5 (git): bump up patchlevel for a332e8a0ddad90c540c6c52f0db2a45e5955a23d
nagachika (Tomoyuki Chikanaga)
07:55 AM Revision a332e8a0 (git): ruby_2_7 update MinGW Actions workflow
MSP-Greg (Greg L)
06:04 AM Revision b6e68079 (git): Initialize memo pointer and use it consistently to silence gcc 7+
nobu (Nobuyoshi Nakada)
05:44 AM Revision 32bec658 (git): Remove obsolete rubygems file
Fixes a weird error in CodeQL autobuild. nobu (Nobuyoshi Nakada)
03:53 AM Feature #17097: `map_min`, `map_max`
I do not understand why the proposal has to be extended to all other `Enumerable` methods.
My point is semantic. I do not see that there are significantly more use cases where I am interested in the element that is related to the min/ma...
sawa (Tsuyoshi Sawada)
12:56 AM Feature #17097: `map_min`, `map_max`
@nobu is right, we're not going to add `map_` for everything.
Eregon (Benoit Daloze) wrote in #note-6:
> Then repeating it is not elegant and is duplicated code.
I don't see why there would be repetition.
Just do `enum.map { ve...
marcandre (Marc-Andre Lafortune)
02:29 AM Revision d3d68729 (git): * 2020-08-01 [ci skip]
git[bot]
02:29 AM Revision eebb1de7 (git): Enhanced RDoc for Array
burdettelamar (Burdette Lamar)

07/31/2020

10:51 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
benlangfeld (Ben Langfeld) wrote in #note-4:
>
> ...
Minor point, I don't think it affects much, but RFC 3484 is obsolete and is replaced by RFC 6724 https://tools.ietf.org/html/rfc6724
Cheers
phluid61 (Matthew Kerwin)
06:46 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
naruse (Yui NARUSE) wrote in #note-1:
> In general resolving DNS is done by libc (getaddrinfo) and Ruby just uses their result.
> ...
RFC3484 (https://www.ietf.org/rfc/rfc3484.txt) very clearly states:
```
Well-behaved applications...
benlangfeld (Ben Langfeld)
06:06 PM Feature #17097: `map_min`, `map_max`
To put in context, consider that the expression might be much longer than `.length`.
Then repeating it is not elegant and is duplicated code.
Eregon (Benoit Daloze)
06:03 PM Feature #17097: `map_min`, `map_max`
I actually regularly wanted such functionality, but min_by/max_by do not return the result of the block but the element (which makes sense).
And `.map {}.min/max` works but is inefficient by generating an intermediate Array.
Maybe we sh...
Eregon (Benoit Daloze)
01:51 PM Feature #17097: `map_min`, `map_max`
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Then we'll need `map_` versions for all `Enumerable` methods.
Exactly, I don't see any good use case in that apart from being lazy and just using one method call. It seems to me that this k...
greggzst (Grzegorz Jakubiak)
12:37 PM Feature #17097: `map_min`, `map_max`
Then we'll need `map_` versions for all `Enumerable` methods. nobu (Nobuyoshi Nakada)
12:33 PM Feature #17097 (Open): `map_min`, `map_max`
`min`, `min_by`, `max`, `max_by` return the element that leads to the minimum or the maximum value, but I think it is as, or even more, frequent that we are interested in the minimum or the maximum value itself rather than the element. F... sawa (Tsuyoshi Sawada)
12:07 PM Revision f80020bc (git): [rubygems/rubygems] Read path binarily
I believe this should fix a flaky test on Windows.
https://github.com/rubygems/rubygems/commit/a516b49a0a
deivid (David Rodríguez)
12:07 PM Revision cba80553 (git): [rubygems/rubygems] Enable `Layout/LeadingEmptyLines` in rubygems
https://github.com/rubygems/rubygems/commit/9c17f220af deivid (David Rodríguez)
12:07 PM Revision b7e88e3c (git): [rubygems/rubygems] Don't format executables on `gem update --system`
This restores 3.0 behavior and goes back to not formatting executables
by default on `gem update --system`. This is friendlier for jruby and
doesn't really affect OS packagers.
https://github.com/rubygems/rubygems/commit/1a504b651d
deivid (David Rodríguez)
12:07 PM Revision 0e2d8c48 (git): [rubygems/rubygems] unset XDG_* environmental variables for testing of rubygems.
https://github.com/rubygems/rubygems/commit/539fd9a39a hsbt (Hiroshi SHIBATA)
12:07 PM Revision aa4ecfe7 (git): [rubygems/rubygems] Revert "Disallow warnings to creep into the test suite"
This reverts commit 694e6afee769ffb3168a564ee7d315af2a934993.
It was failed on Windows and I'm unsure why. Also, the check seems
brittle since it could fail potentially fail because of warnings outside
of our control.
https://github.co...
deivid (David Rodríguez)
12:07 PM Revision e0bfc778 (git): [rubygems/rubygems] Remove unnecessary guard clause
Since 1ccf0912a161d20e0c4a7b139fd76e8739a411ba, this method no longer
uses `Kernel.gem`, so this guard clause is now unnecessary.
https://github.com/rubygems/rubygems/commit/8a19e7401c
deivid (David Rodríguez)
12:07 PM Revision e6be06e4 (git): [rubygems/rubygems] Fix some intermittent test failures on truffleruby
Since they changed their default to not generate documentation on `gem
install`, we're getting some intermittent test failures. Can be
reproduced with:
```
TRUFFLERUBYOPT="--experimental-options --testing-rubygems" TESTOPTS=--name="/^\(...
deivid (David Rodríguez)
12:07 PM Revision a9b044e9 (git): [rubygems/rubygems] Setup no longer generates formatted executables by default
Catch up with that change in `gem update --system` tests.
https://github.com/rubygems/rubygems/commit/127ba14344
deivid (David Rodríguez)
12:07 PM Revision fe53e5a9 (git): [rubygems/rubygems] Remove fileutils autoload
https://github.com/rubygems/rubygems/commit/dca345441f deivid (David Rodríguez)
12:07 PM Revision fedaa61b (git): [rubygems/rubygems] Remove explicit require for autoloaded constant
https://github.com/rubygems/rubygems/commit/a54230093e deivid (David Rodríguez)
12:07 PM Revision 3921ab82 (git): [rubygems/rubygems] Let more exceptions flow
If any error happens while verifying a package entry, it doesn't mean
that the package is corrupt. It could be a bug in rubygems, for example.
This in fact happened in CI and the current error doesn't make it easy
to troubleshoot the roo...
deivid (David Rodríguez)
12:07 PM Revision ebf008b9 (git): [rubygems/rubygems] Install plugins to user directory
Fixes the `Gem::FilePermissionError` without the privilege.
Initialize `@plugins_dir` to the user gem directory, when
installing with `--user` option.
https://github.com/rubygems/rubygems/commit/21a71ac769
nobu (Nobuyoshi Nakada)
12:07 PM Revision 6c71033a (git): [rubygems/rubygems] Remove more unnecessary requires
Since `rubygems/util` is autoloaded.
https://github.com/rubygems/rubygems/commit/52a9f88b99
deivid (David Rodríguez)
12:07 PM Revision 1b2bda72 (git): [rubygems/rubygems] Extend the script to allow reverting the patch when tried locally
https://github.com/rubygems/rubygems/commit/00ebf8c9f7 deivid (David Rodríguez)
12:07 PM Revision 69881a41 (git): [rubygems/rubygems] Add a CI test for basic rubygems functionality without openssl
The whole test suite actually passes on my system, but it has weird
errors in CI. Since I don't want to spend time on it, instead of running
the whole test suite, I'm just adding a bare test to check that `gem
list` works.
https://githu...
deivid (David Rodríguez)
12:07 PM Revision 9057e9c7 (git): [rubygems/rubygems] The file is only ever required when openssl is available
https://github.com/rubygems/rubygems/commit/41976ef3ec deivid (David Rodríguez)
12:07 PM Revision 6eb89f86 (git): [rubygems/rubygems] Remove now unneeded code
We patch `net-http-persistent` to not autoload `openssl`.
https://github.com/rubygems/rubygems/commit/757dec3cf2
deivid (David Rodríguez)
12:07 PM Revision ea8f7d4a (git): [rubygems/rubygems] Gem::Specification#to_ruby doesn't need `openssl`
The `openssl` require when openssl not present was having the
side-effect the our custom require fallbacks would end up loading `Gem::Specification.stubs`.
Co-authored-by: Alyssa Ross <[email protected]>
https://github.com/rubygems/rubygems...
deivid (David Rodríguez)
12:07 PM Revision 6608bc77 (git): [rubygems/rubygems] Fix skip message
https://github.com/rubygems/rubygems/commit/a763e539cd deivid (David Rodríguez)
12:07 PM Revision e1494145 (git): [rubygems/rubygems] Make sure tests at least load without openssl
https://github.com/rubygems/rubygems/commit/054d57f74b deivid (David Rodríguez)
12:07 PM Revision 779f1a9c (git): [rubygems/rubygems] Set the expected hash in one step
https://github.com/rubygems/rubygems/commit/25912ce6c9 deivid (David Rodríguez)
12:07 PM Revision 34527927 (git): [rubygems/rubygems] Remove unnecessary check
No check is done for the other expectation and they are completely
symmetric as far as I can see.
https://github.com/rubygems/rubygems/commit/4de89e0718
deivid (David Rodríguez)
12:07 PM Revision 69fa0d6d (git): [rubygems/rubygems] Move openssl require to a separate file
So it can be reused.
https://github.com/rubygems/rubygems/commit/b9fc6e40db
deivid (David Rodríguez)
12:07 PM Revision 6b14249c (git): [rubygems/rubygems] In the rubies we support `Exception#path` is always there
https://github.com/rubygems/rubygems/commit/babf943144 deivid (David Rodríguez)
12:07 PM Revision 07dc9691 (git): [rubygems/rubygems] https functionality was merged into `net/https`
https://github.com/rubygems/rubygems/commit/d81ce9e457 deivid (David Rodríguez)
12:07 PM Revision 0a7f12fc (git): [rubygems/rubygems] Only require what we are using
https://github.com/rubygems/rubygems/commit/d92b94f3cf deivid (David Rodríguez)
12:07 PM Revision 9ad9c2d9 (git): [rubygems/rubygems] Let the original error happen
It will give more useful information.
https://github.com/rubygems/rubygems/commit/efcecb5af5
deivid (David Rodríguez)
12:07 PM Revision b84b4e8b (git): [rubygems/rubygems] Remove unnecessary stuff
The `rubygems/security` require already does this.
https://github.com/rubygems/rubygems/commit/bbb444b6f1
deivid (David Rodríguez)
12:07 PM Revision d3efba09 (git): [rubygems/rubygems] Run `test/rubygems/test_bundled_ca.rb` locally
It's not that slow.
https://github.com/rubygems/rubygems/commit/9b928a4503
deivid (David Rodríguez)
12:07 PM Revision ed379449 (git): [rubygems/rubygems] Remove unused TEST_SSL environment variable
https://github.com/rubygems/rubygems/commit/1e2c3cf118 deivid (David Rodríguez)
12:07 PM Revision db2047eb (git): [rubygems/rubygems] Fix encoding mismatch errors on MinGW
GNU make in MSys is localized to use UTF-8 while Ruby's filesystem
encoding is set to OEM CodePage (e.g., CP932 in Japanese Edition),
the read output from the make has broken encoding and results in
"invalid byte sequence" errors. As `D...
nobu (Nobuyoshi Nakada)
12:07 PM Revision 6c19b0ec (git): [rubygems/rubygems] Reword warning
https://github.com/rubygems/rubygems/commit/cbd4abf8cf bronzdoc
12:07 PM Revision 00bdac18 (git): [rubygems/rubygems] Warn on duplicate dependency in a specification
https://github.com/rubygems/rubygems/commit/af3e5f7883 bronzdoc
12:07 PM Revision 985309ac (git): [rubygems/rubygems] Support PATH's using `File::ALT_SEPARATOR` in `Gem::Installer`
Co-authored-by: MSP-Greg <[email protected]>
https://github.com/rubygems/rubygems/commit/710b969b60
deivid (David Rodríguez)
12:07 PM Revision 04d3e072 (git): [rubygems/rubygems] Move traling `if` to the same line for readablity
https://github.com/rubygems/rubygems/commit/d722b8b578 deivid (David Rodríguez)
12:07 PM Revision c090c64b (git): [rubygems/rubygems] Prefer the standard separator on Windows
It seems like the most common case since it requires no tricks on our
CI environment.
Co-authored-by: MSP-Greg <[email protected]>
https://github.com/rubygems/rubygems/commit/751c475574
deivid (David Rodríguez)
12:07 PM Revision 65a4b037 (git): [rubygems/rubygems] fix missing identation
https://github.com/rubygems/rubygems/commit/2cca6714f3 Colby Swandale
12:07 PM Revision 56157636 (git): [rubygems/rubygems] Deduplicate the requirement operators in memory
https://github.com/rubygems/rubygems/commit/9963d33cf2 byroot (Jean Boussier)
12:07 PM Revision 1a935606 (git): [rubygems/rubygems] Fix Kernel#warn override to handle backtrace location with nil path
It's very unlikely to hit this case, but it is possible, as
Thread::Backtrace::Location#path can return nil if the location is
a cfunc with no previous iseq. See location_path in vm_backtrace.c
in Ruby.
https://github.com/rubygems/ruby...
jeremyevans (Jeremy Evans)
12:07 PM Revision 331fe6a8 (git): [rubygems/rubygems] Ignore internal frames in RubyGems' Kernel#warn
* See https://github.com/oracle/truffleruby/issues/2046
* `<internal:` is a common prefix also used by core Ruby files in CRuby.
* test_no_kernel_require_in_*warn_with_uplevel already test this.
* Unfortunately just skipping `<internal:`...
Eregon (Benoit Daloze)
12:07 PM Revision 14ab281f (git): [rubygems/rubygems] Disallow warnings to creep into the test suite
https://github.com/rubygems/rubygems/commit/694e6afee7 deivid (David Rodríguez)
12:07 PM Revision 9d6123da (git): [rubygems/rubygems] Fix test warning
https://github.com/rubygems/rubygems/commit/f4c4cddb68 deivid (David Rodríguez)
12:07 PM Revision 06f84d05 (git): [rubygems/rubygems] Don't `super` on main test setup
The `teardown` method doesn't call it either and I don't think it's
necessary.
https://github.com/rubygems/rubygems/commit/ca2a5d485d
deivid (David Rodríguez)
12:07 PM Revision d0cc4ecb (git): [rubygems/rubygems] Remove very old compatibility code
https://github.com/rubygems/rubygems/commit/6e4bef758b deivid (David Rodríguez)
12:07 PM Revision 1260d22c (git): [rubygems/rubygems] Extract some common code into a private method
https://github.com/rubygems/rubygems/commit/d1be8cdb3a deivid (David Rodríguez)
12:07 PM Revision d5b5a7ab (git): [rubygems/rubygems] Remove very old TODO note
It was added 10 years ago on a "146 additions, 170 deletions" commit
named "Deprecation removals and minor cleanup." that didn't explain much
other than that.
This TODO doesn't necessarily apply nowadays. I don't see how anyways.
TODO n...
deivid (David Rodríguez)
12:07 PM Revision 76722c49 (git): [rubygems/rubygems] Optimize Gem.already_loaded?
Profiling a simple `ruby -e '1'` I see:
```
==================================
Mode: wall(10)
Samples: 3414 (55.10% miss rate)
GC: 856 (25.07%)
==================================
TOTAL (pct) SAMPLES (pct) FRAME
...
byroot (Jean Boussier)
12:07 PM Revision 832fe778 (git): Bump version to 3.2.0.rc.1
hsbt (Hiroshi SHIBATA)
12:07 PM Revision 734c5276 (git): [rubygems/rubygems] Simplify digest name selection and use SHA256
The previous commit introduces the Gem::Security.create_digest method, allowing to:
- decouple algorithm choice from implementation (OpenSSL or Ruby built-in)
- untangle the SHA512 fallback for TarWriter from the generic hashing digest c...
Bart de Water
12:07 PM Revision 8161cf85 (git): Stop using deprecated OpenSSL::Digest constants
Bart de Water
12:07 PM Revision e7b6e0ff (git): [rubygems/rubygems] remove explicit require(s) for auto-loaded constant(s)
the Gem module's auto-loads will handle loading these as needed,
this started as a redundancy found in *rubygems.rb* which had:
`autoload :Specification, 'rubygems/specification'` as well as
`require 'rubygems/specification'`
https://g...
Karol Bucek
12:07 PM Revision c3b480b7 (git): [rubygems/rubygems] Test files should not be included in spec.files
https://github.com/rubygems/rubygems/commit/0c0760b734 Marc-Andre Lafortune
12:07 PM Revision a89665b7 (git): Enforce no empty lines around class body in rubygems
To normalize the code style with `bundler`. deivid (David Rodríguez)
09:26 AM Bug #13670: [BUG] Bus Error at 0xefce7b (armv7l) (ruby 2.3.4p301)
This was resolved in Ruby 2.6+, wasn't it? This ticket [1] references following commits which resolves the issue:
https://github.com/ruby/ruby/commit/58a2084483ce8baaf90d7b1cb00e3fa9570fbc79
https://github.com/ruby/ruby/commit/b6185e...
vo.x (Vit Ondruch)
08:31 AM Bug #17093: attr_accessor works strange
are you try this solution?
```
if type.nil?
type = 'default'
end
```
just test it )
mpavel (pavel m)
08:03 AM Bug #17093 (Rejected): attr_accessor works strange
nobu (Nobuyoshi Nakada)
07:34 AM Bug #17093: attr_accessor works strange
This:
```ruby
if type.nil?
type = 'default'
end
```
is different from this:
```ruby
type = 'default' if type.nil?
```
because of the lexical reading, it reads the setting of local variable first and now assumes that type is local va...
Hanmac (Hans Mackowiak)
06:27 AM Bug #17093: attr_accessor works strange
you doesnt see "`if type.nil?`" its local variable?
`p type.nil?` return false
next "`if type.nil?`" return true and "`type = 'default'`" will work
why?
mpavel (pavel m)
08:05 AM Bug #17096 (Rejected): attr_accessor doesnt work
`type` before and after `type =` are different things in Ruby.
nobu (Nobuyoshi Nakada)
06:42 AM Bug #17096 (Rejected): attr_accessor doesnt work
its copy of incorrectly closed https://bugs.ruby-lang.org/issues/17093
```
require 'rubygems'
class A
def initialize(type:)
@type = type
end
def b
p type
p type.nil?
type = 'default' if type.nil?
...
mpavel (pavel m)
07:39 AM Bug #17094: PTY methods with blocks
As it can be incompatible only when passing a lambda, I don't think it is a serious problem. nobu (Nobuyoshi Nakada)
05:44 AM Bug #17094 (Closed): PTY methods with blocks
Some methods on PTY yield one array if a block is given, but the RDoc says it passes two arguments to the block.
https://github.com/ruby/ruby/blob/master/ext/pty/pty.c#L529
``` c
return rb_ensure(rb_yield, assoc, pty_close_pty, asso...
soutaro (Soutaro Matsumoto)
06:25 AM Bug #17095 (Closed): Backport c0b93267497d47858ea9539ef863be321bc1ddbf
This is a ticket for backport management.
See https://github.com/ruby/ruby/pull/3364 too.
nagachika (Tomoyuki Chikanaga)
05:47 AM Feature #17016: Enumerable#accumulate
I found a word [traject], means to transport, transmit, or transpose.
It may (or may not) imply [trajectory]...
[traject]: https://www.dictionary.com/browse/traject
[trajectory]: https://www.dictionary.com/browse/trajectory
nobu (Nobuyoshi Nakada)
04:03 AM Bug #16654 (Open): Segfault in rb_str_hash
mame (Yusuke Endoh)
 

Also available in: Atom