[#100689] [Ruby master Feature#17303] Make webrick to bundled gems or remove from stdlib — hsbt@...
Issue #17303 has been reported by hsbt (Hiroshi SHIBATA).
11 messages
2020/11/02
[#100852] [Ruby master Feature#17326] Add Kernel#must! to the standard library — zimmerman.jake@...
Issue #17326 has been reported by jez (Jake Zimmerman).
24 messages
2020/11/14
[#100930] [Ruby master Feature#17333] Enumerable#many? — masafumi.o1988@...
Issue #17333 has been reported by okuramasafumi (Masafumi OKURA).
10 messages
2020/11/18
[#101071] [Ruby master Feature#17342] Hash#fetch_set — hunter_spawn@...
Issue #17342 has been reported by MaxLap (Maxime Lapointe).
26 messages
2020/11/25
[ruby-core:100928] [Ruby master Bug#17332] No error when using endless method definitions with `self.` setters
From:
hjwylde@...
Date:
2020-11-18 08:55:42 UTC
List:
ruby-core #100928
Issue #17332 has been reported by hjwylde (Henry Wylde).
----------------------------------------
Bug #17332: No error when using endless method definitions with `self.` setters
https://bugs.ruby-lang.org/issues/17332
* Author: hjwylde (Henry Wylde)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.0preview1 (2020-09-25 master 0096d2b895) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
With the current ruby (preview1) it is possible to use endless method definitions to define "setter" methods on some object (e.g., on `self.` or `obj.`). The following code passes:
```
irb(main):001:0> def self.foo=() = 1
=> :foo=
irb(main):002:0> obj = Object.new; def obj.foo=() = 1
=> :foo=
```
From my understanding, setter methods are not intended to be allowed with endless method definitions.
Expected result:
The same error to occur for all setter methods ("setter method cannot be defined in an endless method definition"). E.g.,
```
irb(main):004:0> def foo=() = 1
Traceback (most recent call last):
3: from /home/hjwylde/.rbenv/versions/3.0/bin/irb:23:in `<main>'
2: from /home/hjwylde/.rbenv/versions/3.0/bin/irb:23:in `load'
1: from /home/hjwylde/.rbenv/versions/3.0.0-preview1/lib/ruby/gems/3.0.0/gems/irb-1.2.7/exe/irb:11:in `<top (required)>'
SyntaxError ((irb):4: setter method cannot be defined in an endless method definition)
def foo=() = 1
^~~~~~~~
```
--
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>