[#102393] [Ruby master Feature#17608] Compact and sum in one step — sawadatsuyoshi@...

Issue #17608 has been reported by sawa (Tsuyoshi Sawada).

13 messages 2021/02/04

[#102438] [Ruby master Bug#17619] if false foo=42; end creates a foo local variable set to nil — pkmuldoon@...

Issue #17619 has been reported by pkmuldoon (Phil Muldoon).

10 messages 2021/02/10

[#102631] [Ruby master Feature#17660] Expose information about which basic methods have been redefined — tenderlove@...

Issue #17660 has been reported by tenderlovemaking (Aaron Patterson).

9 messages 2021/02/27

[#102639] [Ruby master Misc#17662] The herdoc pattern used in tests does not syntax highlight correctly in many editors — eregontp@...

Issue #17662 has been reported by Eregon (Benoit Daloze).

13 messages 2021/02/27

[#102652] [Ruby master Bug#17664] Behavior of sockets changed in Ruby 3.0 to non-blocking — ciconia@...

Issue #17664 has been reported by ciconia (Sharon Rosner).

23 messages 2021/02/28

[ruby-core:102354] [Ruby master Bug#17533] Named capture is not assigned to the same variable as reserved words.

From: naruse@...
Date: 2021-02-01 12:35:22 UTC
List: ruby-core #102354
Issue #17533 has been updated by naruse (Yui NARUSE).

Backport changed from 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: REQUIRED to 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: DONE

ruby_3_0 1b0622d7a9451dbeaadccc1f416b71a98271e097 merged revision(s) 0036648a420f945624898568bb82bc5f83195d12.

----------------------------------------
Bug #17533: Named capture is not assigned to the same variable as reserved words.
https://bugs.ruby-lang.org/issues/17533#change-90214

* Author: nobu (Nobuyoshi Nakada)
* Status: Closed
* Priority: Normal
* Backport: 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: DONE
----------------------------------------
It is expected that named captures don't add new variables same as reserved words, and such variables couldn't be made usually at the time when named capture was implemented.

Keyword arguments since 2.0 can be the same as reserved words, however an assignment to an such already defined variable has been also suppressed now.

```ruby
def test(s, nil: :ng)
  /(?<nil>.)/ =~ s
  binding.local_variable_get(:nil)
end
p test("a") #=> :ng
```
```ruby
tap do |nil: :ng|
  /(?<nil>.)/ =~ "c"
  p binding.local_variable_get(:nil) #=> :ng
end
```



-- 
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>

In This Thread