[#106341] [Ruby master Bug#18369] users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" } — dorianmariefr <noreply@...>
Issue #18369 has been reported by dorianmariefr (Dorian Mari辿).
14 messages
2021/11/30
[#106351] [Ruby master Bug#18371] Release branches (release information in general) — "tenderlovemaking (Aaron Patterson)" <noreply@...>
Issue #18371 has been reported by tenderlovemaking (Aaron Patterson).
7 messages
2021/11/30
[ruby-core:106269] [Ruby master Bug#18250] Anonymous variables seem to break `Ractor.make_shareable`
From:
"nagachika (Tomoyuki Chikanaga)" <noreply@...>
Date:
2021-11-25 01:19:14 UTC
List:
ruby-core #106269
Issue #18250 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN to 2.7: UNKNOWN, 3.0: REQUIRED
I think these commits are related. Please tell me if I overlook something.
334b69e5042f47f89c8780c1d7efa32d70c84786
ec657f44dca3b84fde2a0b3b66c4e0e74a4cdce8
54bda176c6f1274c2311b02badee34002e4ea10e
eb301d8aecf454681e78cd7ad6d027e67b121857
c14f230b26aa4f8abe9ecf3814cfebbe584d77c9
----------------------------------------
Bug #18250: Anonymous variables seem to break `Ractor.make_shareable`
https://bugs.ruby-lang.org/issues/18250#change-94890
* Author: tenderlovemaking (Aaron Patterson)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.7: UNKNOWN, 3.0: REQUIRED
----------------------------------------
The following code breaks with a strange error:
```ruby
def foo(*); ->{ super };end
Ractor.make_shareable(foo) # expected Symbol
```
Output:
```
[aaron@tc ~/g/ruby (master)]$ cat test.rb
def foo(*); ->{ super };end
Ractor.make_shareable(foo) # expected Symbol
[aaron@tc ~/g/ruby (master)]$ ruby test.rb
<internal:ractor>:816:in `make_shareable': wrong argument type false (expected Symbol) (TypeError)
from test.rb:2:in `<main>'
[aaron@tc ~/g/ruby (master)]$
```
The reason is because the `*` parameter has no name, but Ractor tries to find the name so it can make an exception.
I *expect* the above program to raise an `Ractor::IsolationError`, but instead it raises a `TypeError`.
I've attached a patch that fixes this bug.
---Files--------------------------------
0001-Give-params-a-name.patch (3.33 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>