[#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:106250] [Ruby master Bug#18337] Ruby allows zero-width characters in identifiers
From:
duerst <noreply@...>
Date:
2021-11-24 09:13:07 UTC
List:
ruby-core #106250
Issue #18337 has been updated by duerst (Martin Dテシrst). Assignee set to duerst (Martin Dテシrst) Status changed from Open to Assigned As far as I remember the discussion at the recent developers' meeting, we discussed the fact that Ruby currently allows to use unassigned code points in identifiers, and that this was probably being too lose. Also, the fact that Ruby, in contrast to other languages, allows multiple encodings for the source code makes implementing this feature somewhat more difficult. I'll try to create a patch to improve the situation. When such a patch is available, we can discuss again. ---------------------------------------- Bug #18337: Ruby allows zero-width characters in identifiers https://bugs.ruby-lang.org/issues/18337#change-94870 * Author: duerst (Martin Dテシrst) * Status: Assigned * Priority: Normal * Assignee: duerst (Martin Dテシrst) * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- Ruby allows zero-width characters in identifiers, which can be shown with the following small test: irb(main):001:0> script = "ab = 20; a\u200Bb = 30; puts ab;" => "ab = 20; a窶誼 = 30; puts ab;" irb(main):002:0> eval(script) 20 => nil The first line creates the script. It contains a zero-width space (ZWSP), but that's not visible in most contexts (see next line). Looking at the script, one expects 30 as an output, but the output is 20 because there are two variables involved, one with a ZWSP and one without. I propose we fix this by disallowing such characters in identifiers. I'll give more details in a followup. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>