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. -
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 -
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 -
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. -
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. -
09:08 PM Revision 6817f4c6 (git): rb_vm_add_root_module(): Remove unused parameter
-
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.
- 05:44 PM Revision cbe869b3 (git): * 2020-11-10 [ci skip]
-
05:44 PM Revision f649946f (git): remove unused debug counter
- 05:44 PM Revision 2324584d (git): Update vm_insnhelper.c
- Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
-
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. -
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... -
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 -
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... -
07:16 AM Revision d14397bc (git): `fe80` should be case insensitive too
-
05:18 AM Revision ba1472f4 (git): Removed needless require for 'enumerator'
-
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...
-
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...
11/08/2020
-
04:25 PM Bug #17300 (Closed): The Fiber scheduler does not work with ConditionVariable
- Thanks for the quick fix.
-
03:26 AM Bug #17300: The Fiber scheduler does not work with ConditionVariable
- https://github.com/ruby/ruby/pull/3743
-
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.
-
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. - 03:50 PM Revision 66107cb1 (git): * 2020-11-09 [ci skip]
-
03:49 PM Revision b8eb08e0 (git): Fix TestFiberMutex#test_condition_variable assertion
- * Now that it works correctly.
-
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... -
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.
-
02:32 PM Revision fcf8b9ef (git): test/resolv/test_dns.rb: suppress "assigned but unused variable"
-
07:42 AM Revision 54ac1d77 (git): Support s390 IPv6 link local addresses
- 07:40 AM Revision bed48486 (git): Urgent notification pipe has same lifetime as scheduler.
- 07:40 AM Revision 57b83dad (git): Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil.
- 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. - 07:40 AM Revision f7313523 (git): Don't try to resume blocked fiber on dead thread.
- 07:40 AM Revision afe3cb78 (git): `Fiber.new(blocking: false)` is now the default.
-
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:... -
05:50 AM Bug #17310: Closed ractors should die
- It also takes all the available CPU.
-
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
... -
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.
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.
-
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... -
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... -
09:45 PM Bug #12780 (Closed): BigDecimal#round returns different types depending on argument
-
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... - 09:12 PM Revision fcde1e0e (git): * 2020-11-08 [ci skip]
-
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 ... -
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,... -
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... -
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
-
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... -
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... -
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... -
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...
-
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 ... -
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 ... -
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.
... -
01:12 PM Revision 5823f6c2 (git): Fix indentation
-
01:05 PM Revision 640fd94e (git): Fix and remove spec testing undefined behavior
- 10:39 AM Revision 5b3572b5 (git): Update dependencies
- 10:39 AM Revision a08ee833 (git): Rename to `Fiber#set_scheduler`.
-
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.
11/06/2020
-
07:40 PM Bug #17272 (Third Party's Issue): Ruby 2.7.2 crash report
- 05:55 PM Revision 656d4cdd (git): * 2020-11-07 [ci skip]
-
05:55 PM Revision f234f274 (git): Add docs for some C extension GC APIs
-
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|
| ... -
04:45 PM Feature #17291 (Assigned): Optimize __send__ call
-
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... -
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 ... -
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...-
08:42 AM Revision 037803e0 (git): Added dependency for net-protocol
-
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... -
04:28 AM Revision 4948982b (git): Update TypeProf to 0.4.2
11/05/2020
-
08:28 PM Revision 6d17c9fa (git): gc_rest can change the total pages, so we need to do that first
-
08:27 PM Revision d8da5c19 (git): add asserts to find crash
-
07:13 PM Revision ab5f2fa4 (git): Refactor verification method
- Combine everything in to one C function
-
04:51 PM Revision 68a3a2d9 (git): take VM lock when mutating the heap
- 03:12 PM Revision 193edbde (git): * 2020-11-06 [ci skip]
-
03:11 PM Revision 8014ed9b (git): Update RBS & TypeProf (#3732)
- * Bundle rbs 0.16.0
* Bundle typeprof 0.4.1 -
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... -
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()... -
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... -
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... -
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.
-
08:53 AM Bug #17306: TestGCCompact#test_ast_compacts test failures
- Please note that previously, I was using 02e17d473a and that worked without issues.
-
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... -
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. -
11:51 AM Revision b29fe5eb (git): Add description __send__ is safer
-
11:21 AM Revision b2ca183c (git): Promote un.rb to the default gems. It's preparation for 3.0.0-preview2.
-
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... -
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... -
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... -
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.
-
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. -
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.
-
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
11/04/2020
- 10:52 PM Revision 2aa9a50d (git): [ruby/ostruct] Update version
- 10:52 PM Revision 015b0238 (git): [ruby/ostruct] Restore `ostruct` doc
- 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. - 10:41 PM Revision 9232f918 (git): * 2020-11-05 [ci skip]
-
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 ... -
10:40 PM Revision a8581ce6 (git): ensure T_OBJECT objects have internals initialized
-
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... -
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... -
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... -
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 -
10:46 AM Feature #16043: `$LOAD_PATH.resolve_feature_path` should not raise
- Agreed, I added it to the next dev-meeting agenda (#17299)
-
10:46 AM Misc #17299: DevelopersMeeting20201120Japan
- * [Feature #16043] `$LOAD_PATH.resolve_feature_path` should not raise (eregon)
* Seems good to me, OK to merge? -
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... -
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... -
08:07 AM Revision d42c68e9 (git): Bundle TypeProf 0.4.0
-
04:30 AM Revision f211f9cd (git): use https
-
03:11 AM Revision ae53fda0 (git): .travis.yml: delete x86_64
- Is already covered by Github Actions.
-
03:11 AM Revision 4c670096 (git): .travis.yml: delete sanitizer tests
- They were not working.
-
03:11 AM Revision 8eca97c0 (git): .github/workflows/baseruby.yml: add
- Translate a part of .travis.yml into a Github Actions workflow.
11/03/2020
-
10:09 PM Revision bf1047c7 (git): Update NEWS for Array methods change
-
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... -
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 [... -
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... -
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... -
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.
> ...
-
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,... -
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... - 03:55 PM Revision 7d6c72dc (git): * 2020-11-04 [ci skip]
-
03:51 PM Revision 70063757 (git): Rightward assignment is replaced by one-line pattern matching
-
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... -
02:32 PM Revision c3e2dd07 (git): test/ruby/test_gc_compact.rb: suppress "assigned but unused variable"
-
01:25 AM Revision fa748401 (git): Add links to the tickets [ci skip]
-
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 🙏