Project

General

Profile

Activity

From 11/03/2020 to 11/09/2020

11/09/2020

10:49 PM Revision 2fed5f0a (git): lib/racc/statetransitiontable.rb: Make the racc output stable
Racc calls `Array#sort!` to build a state transition table. As
`Array#sort!` is not a stable sort, the output may differ depending upon
the environment.
This changeset makes the sort stable manually, and updates all
expectation files.
mame (Yusuke Endoh)
10:05 PM Revision d7581370 (git): Add a benchmark for polymorphic ivar setting
This benchmark demonstrates the performance of setting an instance
variable when the type of object is constantly changing. This benchmark
should give us an idea of the performance of ivar setting in a
polymorphic environment
tenderlovemaking (Aaron Patterson)
10:05 PM Revision 4219cb7a (git): Add debug counter for ivar inline cache misses that could hit
This commit adds a debug counter for the case where the inline cache
*missed* but the ivar index table has an entry for that ivar. This is a
case where a polymorphic cache could help
tenderlovemaking (Aaron Patterson)
10:05 PM Revision f259906e (git): Avoid slow path ivar setting
If the ivar index table exists, we can avoid the slowest path for
setting ivars.
tenderlovemaking (Aaron Patterson)
09:08 PM Revision 6778ba48 (git): Fix excessive GC rooting
rb_vm_add_root_module() is enough to make sure the object become a GC
root.
alanwu (Alan Wu)
09:08 PM Revision 6817f4c6 (git): rb_vm_add_root_module(): Remove unused parameter
alanwu (Alan Wu)
05:58 PM Bug #17313 (Closed): Backport 9fb60672d55162a92ab7e97b000a7e277458aab1 to Ruby 2.7
This is necessary to fix a bug when fiber and thread are GCed concurrently, and it's causing crashes in fiber tests on OpenBSD/sparc64, where the copy coroutine is used. jeremyevans0 (Jeremy Evans)
05:44 PM Revision cbe869b3 (git): * 2020-11-10 [ci skip]
git[bot]
05:44 PM Revision f649946f (git): remove unused debug counter
tenderlovemaking (Aaron Patterson)
05:44 PM Revision 2324584d (git): Update vm_insnhelper.c
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Aaron Patterson
05:44 PM Revision 5582c5a2 (git): Remove iv table size check
iv tables cannot shrink. If the inline cache was ever set, then there
must be an entry for the instance variable in the iv table. Just set
the iv list on the object to be equal to the iv index table size, then
set the iv.
tenderlovemaking (Aaron Patterson)
05:44 PM Revision eb229994 (git): eagerly initialize ivar table when index is small enough
When the inline cache is written, the iv table will contain an entry for
the instance variable. If we get an inline cache hit, then we know the
iv table must contain a value for the index written to the inline cache.
If the index in th...
tenderlovemaking (Aaron Patterson)
01:28 PM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #17312] New methods in Enumerable and Enumerator::Lazy: flatten, product, compact (zverok)
* If there would be no objections, I'd prepare a PR
zverok (Victor Shepelev)
01:27 PM Feature #17312 (Closed): New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
(The offspring of #16987, which was too vague/philosophical)
I propose to add to `Enumerable` and `Enumerator::Lazy` the following methods:
* `compact`
* `product`
* `flatten`
All of them can be performed with a one-way enumerat...
zverok (Victor Shepelev)
07:16 AM Revision d14397bc (git): `fe80` should be case insensitive too
znz (Kazuhiro NISHIYAMA)
05:18 AM Revision ba1472f4 (git): Removed needless require for 'enumerator'
hsbt (Hiroshi SHIBATA)
02:28 AM Misc #17309: URI.escape being deprecated, yet there is no replacement
"But my browser can take UTF-8 URLs!", you might wonder. The reality is they no longer honour what RFCs say. Modern browsers follow other standard https://url.spec.whatwg.org/ which has a very clear language that the URL they define mu... shyouhei (Shyouhei Urabe)
02:19 AM Misc #17309: URI.escape being deprecated, yet there is no replacement
Re: the reason why `URI.escape` is deprecated and also why there is no transition path:
URI, in general, is a "structured" construct. It has schema, host, path, query, fragment, and each of them have _different_ ways to escape a char...
shyouhei (Shyouhei Urabe)

11/08/2020

04:25 PM Bug #17300 (Closed): The Fiber scheduler does not work with ConditionVariable
Thanks for the quick fix. Eregon (Benoit Daloze)
03:26 AM Bug #17300: The Fiber scheduler does not work with ConditionVariable
https://github.com/ruby/ruby/pull/3743 ioquatix (Samuel Williams)
03:10 AM Bug #17300: The Fiber scheduler does not work with ConditionVariable
Okay, I found an unrelated bug, and also the root cause. PR incoming. ioquatix (Samuel Williams)
01:22 AM Bug #17300: The Fiber scheduler does not work with ConditionVariable
It looks like memory corruption.
```
th_mutex = 0x55613ba19018
-> th_mutex = 0x8
```
Some how the mutex linked list ends up with `Qnil`... not sure how yet.
ioquatix (Samuel Williams)
03:50 PM Revision 66107cb1 (git): * 2020-11-09 [ci skip]
git[bot]
03:49 PM Revision b8eb08e0 (git): Fix TestFiberMutex#test_condition_variable assertion
* Now that it works correctly. Eregon (Benoit Daloze)
03:35 PM Feature #16786: Light-weight scheduler for improved concurrency.
matz (Yukihiro Matsumoto) wrote in #note-68:
> I meant `Fiber.use_scheduler(sch)` rather than `Fiber#use_scheduler(sch)`
Right, that's what I guessed.
So the problem I mentioned in https://bugs.ruby-lang.org/issues/16786#note-66 rem...
Eregon (Benoit Daloze)
06:05 AM Feature #16786: Light-weight scheduler for improved concurrency.
I am sorry. I meant `Fiber.use_scheduler(sch)` rather than `Fiber#use_scheduler(sch)`. It was just a typo.
Matz.
matz (Yukihiro Matsumoto)
02:32 PM Revision fcf8b9ef (git): test/resolv/test_dns.rb: suppress "assigned but unused variable"
mame (Yusuke Endoh)
07:42 AM Revision 54ac1d77 (git): Support s390 IPv6 link local addresses
jeremyevans (Jeremy Evans)
07:40 AM Revision bed48486 (git): Urgent notification pipe has same lifetime as scheduler.
Samuel Williams
07:40 AM Revision 57b83dad (git): Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil.
Samuel Williams
07:40 AM Revision c39984ec (git): Tidy up book keeping for `thread->keeping_mutexes`.
When a scheduler is present, it's entirely possible for
`th->keeping_mutexes` to be updated while enumerating the waitq. Therefore
it must be fetched only during the removal operation.
Samuel Williams
07:40 AM Revision f7313523 (git): Don't try to resume blocked fiber on dead thread.
Samuel Williams
07:40 AM Revision afe3cb78 (git): `Fiber.new(blocking: false)` is now the default.
Samuel Williams
07:08 AM Feature #17311 (Open): Improve performance Array#deconstruct & Array#to_ary
Improve performance `Array#deconstruct` & `Array#to_ary` with Ruby code.
like this.
```ruby
class Array
def deconstruct
return self
end
def to_ary
return self
end
end
```
benchmark:
```yml
prelude:...
S_H_ (Shun Hiraoka)
05:50 AM Bug #17310: Closed ractors should die
It also takes all the available CPU. marcandre (Marc-Andre Lafortune)
03:17 AM Bug #17310 (Closed): Closed ractors should die
While backporting Ractors, I found this issue:
```ruby
10.times { Ractor.new { sleep(0.1) } }
sleep(1)
puts Ractor.count # => 1, ok
# but:
10.times { Ractor.new { sleep(0.1) }.close }
sleep(1)
Ractor.count # => 11, should be 1
...
marcandre (Marc-Andre Lafortune)
03:01 AM Feature #17286: `Ractor.new` should accept `move: true`
I'd say let's start with a simple version and see what use-cases come up.
Seems already possible to mix and match anyways... Open the Ractor with one mode and `yield` the other parameters using the other mode.
marcandre (Marc-Andre Lafortune)

11/07/2020

10:39 PM Bug #17300: The Fiber scheduler does not work with ConditionVariable
@eregon thanks for this report, I will investigate it. ioquatix (Samuel Williams)
09:48 PM Bug #17112 (Closed): Resolv.getaddress fails with IPv6 link-local addresses
Applied in changeset commit:git|2f12af42f7f26d570219b87a89294532a86a8ae2.
----------
Add support for IPv6 link local addresses to resolv
Now that it should work correctly, test that every address returned
by Socket.ip_address_list is r...
jeremyevans (Jeremy Evans)
09:47 PM Revision 2f12af42 (git): Add support for IPv6 link local addresses to resolv
Now that it should work correctly, test that every address returned
by Socket.ip_address_list is resolvable.
Socket works with IPv6 link local addresses, and ipaddr now does
as well, so I think resolv should support them.
Fixes [Bug #1...
jeremyevans (Jeremy Evans)
09:45 PM Bug #12780 (Closed): BigDecimal#round returns different types depending on argument
jeremyevans0 (Jeremy Evans)
09:12 PM Bug #12838 (Closed): Duplication of UDP packets for DNS responses causing "no address" results for valid hostnames
Applied in changeset commit:git|9682db065158da5fa4ec8a3bc267da45b429b92c.
----------
Remove sender/message_id pair after response received in resolv
Once a response for a given DNS request has been received (which
requires a matching m...
jeremyevans (Jeremy Evans)
09:12 PM Revision fcde1e0e (git): * 2020-11-08 [ci skip]
git[bot]
09:12 PM Revision 9682db06 (git): Remove sender/message_id pair after response received in resolv
Once a response for a given DNS request has been received (which
requires a matching message id), the [sender, message_id] pair
should be removed from the list of valid senders. This makes it
so duplicate responses from the same sender ...
jeremyevans (Jeremy Evans)
02:43 PM Feature #16786: Light-weight scheduler for improved concurrency.
I added this issue to the next dev meeting (#17299).
BTW, matz mentioned `Fiber#use_scheduler(sch)` (instance method) above but the PR is `Fiber.use_scheduler(sch)` (class method).
An instance method would already make more sense to me,...
Eregon (Benoit Daloze)
02:36 PM Feature #16786: Light-weight scheduler for improved concurrency.
In the PR above, `Fiber.set_scheduler(value)` is used.
`Fiber.set_scheduler(value)` feels weird and inconsistent for Ruby. It should be `Fiber.scheduler = value` per Ruby naming conventions.
I think better to use another term like `Fib...
Eregon (Benoit Daloze)
10:40 AM Feature #16786: Light-weight scheduler for improved concurrency.
Here is the PR for the changes as discussed: https://github.com/ruby/ruby/pull/3742 ioquatix (Samuel Williams)
02:12 AM Feature #16786: Light-weight scheduler for improved concurrency.
After discussion with @ioquatix, we have decided the method to specify the fiber scheduler should be `Fiber#use_scheduler(sch)`.
It should not be an attribute setter because it is per thread value. The `use` may be other words e.g. `set...
matz (Yukihiro Matsumoto)
02:39 PM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #16786] Light-weight scheduler for improved concurrency (eregon)
* @matz: The `Fiber.set_scheduler(value)` API doesn't make any sense to me and is very confusing, please see my comments there (summary: https://bugs.ruby-lang...
Eregon (Benoit Daloze)
02:09 PM Misc #17309: URI.escape being deprecated, yet there is no replacement
Hi Jeremy, thx for the context on the inconsistencies, that's pretty useful info.
> Can you explain why "http%3A%2F%2Fb%C3%BCcher.ch" is invalid in your use case?
My specific use-case is for supporting IDN domain names for HTTP req...
chucke (Tiago Cardoso)
06:12 AM Misc #17309: URI.escape being deprecated, yet there is no replacement
Maybe @naruse can describe the reason it was deprecated over 11 years ago in commit:238b979f1789f95262a267d8df6239806f2859cc. In my opinion, as the one who changed the deprecation warning from verbose mode to always in 2.7 and removed t... jeremyevans0 (Jeremy Evans)
01:26 AM Misc #17309 (Open): URI.escape being deprecated, yet there is no replacement
I'm on ruby 2.7.2 . The moment I do
```ruby
uri = "http://bücher.ch"
URI.escape uri
(irb):5: warning: URI.escape
"http://b%C3%BCcher.ch"
```
I get that warning. Rubocop also tells me:
"""
URI.escape method is obsolete and ...
chucke (Tiago Cardoso)
01:56 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
nobu (Nobuyoshi Nakada) wrote in #note-6:
> Not all members need to be initialized, otherwise “zero”ed.
Right, I meant CRuby will have to declare both members for the `struct`, even though `thread_safe` might not be useful for CRuby ...
Eregon (Benoit Daloze)
04:59 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
Eregon (Benoit Daloze) wrote in #note-5:
> However, this struct design means all implementations will have to define both the `ractor_safe` and `thread_safe` members,
> ...
Not all members need to be initialized, otherwise “zero”ed.
...
nobu (Nobuyoshi Nakada)
01:12 PM Revision 5823f6c2 (git): Fix indentation
ktsj (Kazuki Tsujimoto)
01:05 PM Revision 640fd94e (git): Fix and remove spec testing undefined behavior
ktsj (Kazuki Tsujimoto)
10:39 AM Revision 5b3572b5 (git): Update dependencies
Samuel Williams
10:39 AM Revision a08ee833 (git): Rename to `Fiber#set_scheduler`.
Samuel Williams
08:03 AM Bug #13768: SIGCHLD and Thread dead-lock problem
@ko1 we discussed this briefly. I disagree with introducing `Thread.ignore_deadlock`.
It should be responsibility of signal handler.
ioquatix (Samuel Williams)

11/06/2020

07:40 PM Bug #17272 (Third Party's Issue): Ruby 2.7.2 crash report
jeremyevans0 (Jeremy Evans)
05:55 PM Revision 656d4cdd (git): * 2020-11-07 [ci skip]
git[bot]
05:55 PM Revision f234f274 (git): Add docs for some C extension GC APIs
alanwu (Alan Wu)
04:46 PM Feature #17291: Optimize __send__ call
The new benchmark result is below:
```
# Iteration per second (i/s)
| |compare-ruby|built-ruby|
|:--------------------|-----------:|---------:|
|vm_send_sym | 18.265M| 113.593M|
| ...
mrkn (Kenta Murata)
04:45 PM Feature #17291 (Assigned): Optimize __send__ call
mrkn (Kenta Murata)
04:45 PM Feature #17291: Optimize __send__ call
shyouhei (Shyouhei Urabe) wrote in #note-4:
> It seems this leaks memory?
> ...
I used `SYM2ID` in `compile_call` function and `sendsym` and `opt_sendsym_without_block` instructions. This `SYM2ID` makes dynamic symbols permanent, so m...
mrkn (Kenta Murata)
12:34 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
@ko1 discussed with @matz and they concluded with this interface:
```c
Init_foo()
{
RB_EXT_CONFIG({
.ractor_safe = true,
.thread_safe = true,
});
rb_define_method(mod, "foo", func, arity);
}
```
Sounds good to ...
Eregon (Benoit Daloze)
10:19 AM Bug #17308 (Closed): RubyVM::InstructionSequence.compile_file doesn't use the same default encoding than Kernel.load

```ruby
def test_compile_file_encoding
Tempfile.create(%w"test_iseq .rb") do |f|
f.puts '{ "Þ" => "Th", "ß" => "ss", "à" => "a" }'
f.close
previous_external = Encoding.default_external
Encoding.def...
byroot (Jean Boussier)
08:42 AM Revision 037803e0 (git): Added dependency for net-protocol
hsbt (Hiroshi SHIBATA)
07:14 AM Revision 7718e958 (git): a part of T_DATA object can Ractor#send
T_DATA objects can refer unshareable objects and they should be
copied recursively, however there is no way to replace with copied
unshareable objects. However, if a T_DATA object refers only
shareable objects, there is no need to replac...
ko1 (Koichi Sasada)
04:28 AM Revision 4948982b (git): Update TypeProf to 0.4.2
mame (Yusuke Endoh)

11/05/2020

08:28 PM Revision 6d17c9fa (git): gc_rest can change the total pages, so we need to do that first
tenderlovemaking (Aaron Patterson)
08:27 PM Revision d8da5c19 (git): add asserts to find crash
tenderlovemaking (Aaron Patterson)
07:13 PM Revision ab5f2fa4 (git): Refactor verification method
Combine everything in to one C function tenderlovemaking (Aaron Patterson)
04:51 PM Revision 68a3a2d9 (git): take VM lock when mutating the heap
tenderlovemaking (Aaron Patterson)
03:12 PM Revision 193edbde (git): * 2020-11-06 [ci skip]
git[bot]
03:11 PM Revision 8014ed9b (git): Update RBS & TypeProf (#3732)
* Bundle rbs 0.16.0
* Bundle typeprof 0.4.1
soutaro (Soutaro Matsumoto)
02:15 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
An advantage of the symbol approach is it's automatically backward compatible.
Otherwise, we need to design a way to check if the `rb_mark_extension_as*` functions are available (could be via a macro or so, so no need for a slow `have_f...
Eregon (Benoit Daloze)
02:09 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
From discussing with @ko1,
another way to mark would be to call a function in `Init_foo`, like:
```c
static VALUE foo(VALUE self) {
...
}
void Init_foo(void) {
rb_mark_extension_as_thread_safe();
rb_mark_extension_as_ractor_safe()...
Eregon (Benoit Daloze)
11:26 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
Above I suggested to mark a whole C extension as thread-safe/ractor-safe/unsafe, but we could potentially also mark on a per function/method (e.g. `rb_define_function`) basis, at least for thread-safe/unsafe.
For instance with `rb_defin...
Eregon (Benoit Daloze)
11:10 AM Feature #17307 (Closed): A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
I would like to design a way to mark C extensions as thread-safe, Ractor-safe, or unsafe (= needs process-global lock).
By default, if not marked, C extensions would be treated as unsafe for compatibility.
Specifically, TruffleRuby s...
Eregon (Benoit Daloze)
12:45 PM Bug #17306: TestGCCompact#test_ast_compacts test failures
There is probably more failures. Disabling the $SUBJECT test case, another failing test is `TestGCCompact#test_compact_count`. The backtrace looks similar. vo.x (Vit Ondruch)
08:53 AM Bug #17306: TestGCCompact#test_ast_compacts test failures
Please note that previously, I was using 02e17d473a and that worked without issues. vo.x (Vit Ondruch)
08:38 AM Bug #17306 (Closed): TestGCCompact#test_ast_compacts test failures
Trying to build recent master, I randomly observe following issue:
~~~
[ 8682/20873] TestGCCompact#test_ast_compacts<internal:gc>:202: [BUG] Couldn't unprotect page 0x0000000123ab4000
ruby 3.0.0dev (2020-11-04 master 704fb0b815) [po...
vo.x (Vit Ondruch)
11:54 AM Revision 3407b7d8 (git): Revert "Prefer #send over #__send__ when it is clear there is no possible conflict"
This reverts commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3.
Matz's comment is "send is not deprecated. __send__ is safer".
But "Prefer #send over #__send__" is not reasonable.
naruse (Yui NARUSE)
11:51 AM Revision b29fe5eb (git): Add description __send__ is safer
naruse (Yui NARUSE)
11:21 AM Revision b2ca183c (git): Promote un.rb to the default gems. It's preparation for 3.0.0-preview2.
hsbt (Hiroshi SHIBATA)
11:12 AM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #17307] A way to mark C extensions as thread-safe, Ractor-safe, or unsafe (eregon)
* I'd like feedback on this. Any idea for a good way to mark C extensions?
* How about defining symbols like `foo_is_thread_safe`/`foo_is_r...
Eregon (Benoit Daloze)
10:38 AM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #17100] Ractor naming (eregon)
* What should be the method name to send a message? `send` seems problematic as many have reported. We should decide soon. Many good other names are listed in the issue (notably in https://bug...
Eregon (Benoit Daloze)
10:44 AM Feature #17208: Add `Set#compact` and `Set#compact!` methods
bozhidar (Bozhidar Batsov) wrote in #note-4:
> I like the proposal. I also wonder if we shouldn't be able to able to reject nils at Set creation time, as nil rarely makes sense as a set value.
With some option then?
I believe gene...
Eregon (Benoit Daloze)
09:41 AM Feature #17208: Add `Set#compact` and `Set#compact!` methods
I like the proposal. I also wonder if we shouldn't be able to able to reject nils at Set creation time, as nil rarely makes sense as a set value. bozhidar (Bozhidar Batsov)
10:23 AM Revision 4dba0c1a (git): Prefer #send over #__send__ when it is clear there is no possible conflict
* Reverts part of 3198e7abd70bd2af977f2bb6c967e9df8f91adb0.
* If the rule is #send should be deprecated, that should be ruled by matz,
there is no such rule currently and gems seem to prefer #send
overwhelmingly.
Eregon (Benoit Daloze)
07:57 AM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
FYI:
I downgraded ruby to v2.7.1.
But in our environment, this error occurred with the same stacktrace.
joker1007 (Tomohiro Hashidate)
07:11 AM Feature #17127: Some TrueClass methods are faster if implemented in Ruby
recreate PR for merge `.rb` files
https://github.com/ruby/ruby/pull/3737
S_H_ (Shun Hiraoka)

11/04/2020

10:52 PM Revision 2aa9a50d (git): [ruby/ostruct] Update version
Marc-Andre Lafortune
10:52 PM Revision 015b0238 (git): [ruby/ostruct] Restore `ostruct` doc
Marc-Andre Lafortune
10:52 PM Revision 6f24be85 (git): Revert "Make `marshal_load` public"
This reverts commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf.
I'm not sure I agree with the spec, but I just tweaked it.
Marc-Andre Lafortune
10:41 PM Revision 9232f918 (git): * 2020-11-05 [ci skip]
git[bot]
10:40 PM Revision 70680fee (git): Simplify setting instance variables
Since T_OBJECT objects come to life as embedded objects, that means that
ROBJECT_NUMIV will always return a _minimum_ of ROBJECT_EMBED_LEN_MAX.
If ivup.index is *greater* than ROBJECT_NUMIV, then we know that the
object *must not* be an ...
tenderlovemaking (Aaron Patterson)
10:40 PM Revision a8581ce6 (git): ensure T_OBJECT objects have internals initialized
tenderlovemaking (Aaron Patterson)
11:09 AM Feature #17298: Ractor's basket communication APIs
ko1 (Koichi Sasada) wrote in #note-16:
> Eregon (Benoit Daloze) wrote in #note-15:
> ...
Actually it would be `Ractor#receive_with_sender` and `Ractor#take_with_sender` (or some variation, but for receive+take), my mistake
(I was thin...
Eregon (Benoit Daloze)
10:53 AM Feature #17291: Optimize __send__ call
Yeah I don't think a warning is good enough to prevent people overriding it.
It should be an exception if the goal is to prevent overriding it.
I think we should not compromise semantics for optimizations, that usually leads to more com...
Eregon (Benoit Daloze)
03:29 AM Feature #17291: Optimize __send__ call
It seems this leaks memory?
```ruby
`nproc --all`.to_i.times.map do |i|
Ractor.new :"#{i}_0" do |sym|
while true do
__send__(sym = sym.succ) rescue nil
end
end
end
while true do
sleep 1
GC.start
p GC.stat(:heap...
shyouhei (Shyouhei Urabe)
12:17 AM Feature #17291: Optimize __send__ call
I found that rspec-core redefines `__send__`.
https://github.com/rspec/rspec-mocks/blob/461d7f6f7f688f69154e410dcd9c7690120e7dbf/lib/rspec/mocks/verifying_double.rb#L45-L53
mrkn (Kenta Murata)
10:46 AM Feature #16043: `$LOAD_PATH.resolve_feature_path` should not raise
Agreed, I added it to the next dev-meeting agenda (#17299) Eregon (Benoit Daloze)
10:46 AM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #16043] `$LOAD_PATH.resolve_feature_path` should not raise (eregon)
* Seems good to me, OK to merge?
Eregon (Benoit Daloze)
12:28 AM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #17291] Optimize `__send__` call
* Improve the performance of `__send__` call by the following ways
1. Omit emitting `__send__` calls for literal method name cases
2. Introduce a new instruction `sendsym...
mrkn (Kenta Murata)
09:45 AM Revision 704fb0b8 (git): Suppress a warning
```
transient_heap.c: In function ‘transient_heap_allocatable_header’:
transient_heap.c:347:37: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘long unsigned int’ [-Wsign-compare]
34...
znz (Kazuhiro NISHIYAMA)
08:07 AM Revision d42c68e9 (git): Bundle TypeProf 0.4.0
mame (Yusuke Endoh)
04:30 AM Revision f211f9cd (git): use https
hsbt (Hiroshi SHIBATA)
03:11 AM Revision ae53fda0 (git): .travis.yml: delete x86_64
Is already covered by Github Actions. shyouhei (Shyouhei Urabe)
03:11 AM Revision 4c670096 (git): .travis.yml: delete sanitizer tests
They were not working. shyouhei (Shyouhei Urabe)
03:11 AM Revision 8eca97c0 (git): .github/workflows/baseruby.yml: add
Translate a part of .travis.yml into a Github Actions workflow. shyouhei (Shyouhei Urabe)

11/03/2020

10:09 PM Revision bf1047c7 (git): Update NEWS for Array methods change
jeremyevans (Jeremy Evans)
10:02 PM Bug #6087 (Closed): How should inherited methods deal with return values of their own subclass?
Applied in changeset commit:git|2a294d499bf03211d02695f613f784a05943ea35.
----------
Make Array methods return Array instances instead of subclass instances
This changes the following methods to return Array instances instead
of subcla...
jeremyevans (Jeremy Evans)
10:01 PM Revision 2a294d49 (git): Make Array methods return Array instances instead of subclass instances
This changes the following methods to return Array instances instead
of subclass instances:
* Array#drop
* Array#drop_while
* Array#flatten
* Array#slice!
* Array#slice/#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*
Fixes [...
jeremyevans (Jeremy Evans)
09:14 PM Feature #17298: Ractor's basket communication APIs
Eregon (Benoit Daloze) wrote in #note-15:
> `Ractor#receive_and_sender` (aka `recvfrom` but with a proper name) and `Ractor.yield_and_sender` would be enough for that, right?
Yes, it is enough. However, the name is too long and ambiguou...
ko1 (Koichi Sasada)
08:20 PM Feature #17298: Ractor's basket communication APIs
ko1 (Koichi Sasada) wrote in #note-14:
> Beside the performance, I want to use it for the features:
> ...
`Ractor#receive_and_sender` (aka `recvfrom` but with a proper name) and `Ractor.yield_and_sender` would be enough for that, right...
Eregon (Benoit Daloze)
04:35 PM Feature #17298: Ractor's basket communication APIs
Beside the performance, I want to use it for the features:
> Ractor::Basket#sender returns the sending ractor.
> ...
ko1 (Koichi Sasada)
08:25 PM Misc #17299: DevelopersMeeting20201120Japan
* [Bug #17197] Yielding arity for `Hash` methods (marcandre)
* `Hash#each` with arity 1: confirmed?
* `#select`, `#keep_if`, `#delete_if`, `#reject` and `to_h` should also be changed, right?
* `#map`: should only accept arity 1,...
marcandre (Marc-Andre Lafortune)
10:13 AM Misc #17299: DevelopersMeeting20201120Japan
* [Feature #13381] Expose rb_fstring and its family to C extensions (byroot)
* The feature itself was approved, however we're still waiting on an agreement on the naming of one function (https://github.com/ruby/ruby/pull/3586)
* Bo...
byroot (Jean Boussier)
03:55 PM Revision 7d6c72dc (git): * 2020-11-04 [ci skip]
git[bot]
03:51 PM Revision 70063757 (git): Rightward assignment is replaced by one-line pattern matching
ktsj (Kazuki Tsujimoto)
02:47 PM Bug #17305 (Closed): rb_rescue2() seems to loop forever if given a non-module for rescued exceptions on <= 2.6.6
Specifically,
```ruby
it "raises TypeError if one of the passed exceptions is not a Module" do
-> {
@s.rb_rescue2(-> *_ { raise RuntimeError, "foo" }, :no_exc, -> x { x }, :exc, Object.new, 42)
}.shou...
Eregon (Benoit Daloze)
02:32 PM Revision c3e2dd07 (git): test/ruby/test_gc_compact.rb: suppress "assigned but unused variable"
mame (Yusuke Endoh)
01:25 AM Revision fa748401 (git): Add links to the tickets [ci skip]
znz (Kazuhiro NISHIYAMA)
12:48 AM Revision 4f7d27a2 (git): Fix typo in the auto compact announcement [ci-skip]
I'm sorry, but I think there is a typo here.
This fix will help folks who are trying to translate this announcement to other languages. I hope this is not a joke and I didn't get it 🙏
lucianosousa (Luciano Sousa)
 

Also available in: Atom