[#109403] [Ruby master Feature#18951] Object#with to set and restore attributes around a block — "byroot (Jean Boussier)" <noreply@...>

Issue #18951 has been reported by byroot (Jean Boussier).

23 messages 2022/08/01

[#109423] [Ruby master Misc#18954] DevMeeting-2022-08-18 — "mame (Yusuke Endoh)" <noreply@...>

Issue #18954 has been reported by mame (Yusuke Endoh).

10 messages 2022/08/04

[#109449] [Ruby master Feature#18959] Handle gracefully nil kwargs eg. **nil — "LevLukomskyi (Lev Lukomskyi)" <noreply@...>

Issue #18959 has been reported by LevLukomskyi (Lev Lukomskyi).

27 messages 2022/08/08

[#109456] [Ruby master Bug#18960] Module#using raises RuntimeError when called at toplevel from wrapped script — "shioyama (Chris Salzberg)" <noreply@...>

Issue #18960 has been reported by shioyama (Chris Salzberg).

15 messages 2022/08/09

[#109550] [Ruby master Feature#18965] Further Thread::Queue improvements — "byroot (Jean Boussier)" <noreply@...>

Issue #18965 has been reported by byroot (Jean Boussier).

14 messages 2022/08/18

[#109575] [Ruby master Bug#18967] Segmentation fault in stackprof with Ruby 2.7.6 — "RubyBugs (A Nonymous)" <noreply@...>

Issue #18967 has been reported by RubyBugs (A Nonymous).

10 messages 2022/08/19

[#109598] [Ruby master Bug#18970] CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows — "Eregon (Benoit Daloze)" <noreply@...>

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

17 messages 2022/08/20

[#109645] [Ruby master Bug#18973] Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding — "andrykonchin (Andrew Konchin)" <noreply@...>

Issue #18973 has been reported by andrykonchin (Andrew Konchin).

8 messages 2022/08/23

[#109689] [Ruby master Misc#18977] DevMeeting-2022-09-22 — "mame (Yusuke Endoh)" <noreply@...>

Issue #18977 has been reported by mame (Yusuke Endoh).

16 messages 2022/08/25

[#109707] [Ruby master Feature#18980] Re-reconsider numbered parameters: `it` as a default block parameter — "k0kubun (Takashi Kokubun)" <noreply@...>

Issue #18980 has been reported by k0kubun (Takashi Kokubun).

40 messages 2022/08/26

[#109756] [Ruby master Feature#18982] Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop — "byroot (Jean Boussier)" <noreply@...>

Issue #18982 has been reported by byroot (Jean Boussier).

11 messages 2022/08/29

[#109773] [Ruby master Misc#18984] Doc for Range#size for Float/Rational does not make sense — "masasakano (Masa Sakano)" <noreply@...>

Issue #18984 has been reported by masasakano (Masa Sakano).

7 messages 2022/08/29

[ruby-core:109716] [Ruby master Feature#18408] Allow pattern match to set instance variables

From: "Dan0042 (Daniel DeLorme)" <noreply@...>
Date: 2022-08-26 17:31:36 UTC
List: ruby-core #109716
Issue #18408 has been updated by Dan0042 (Daniel DeLorme).


> it is intentional. Unsuccessful matches remain the assignment result from the internal matches

I think everyone here understood the current behavior is intentional, but the more important question would be "is it beneficial?"

> Since instance variables (and global variables) can be accessed from outside, pattern matches can break the object status.

If we want the object state to stay consistent across threads... well, for one it would require a mutex around every ivar access so IMHO this is not such a relevant concern. But if you don't want ivars to change during match, this *can* be fixed, for example by using temporary local vars like I suggested in #note-11. I don't think this is a fundamental problem with this syntax, although it increases the cost/benefit ratio.

> In addition, once we allow instance variables, the request for array reference (a[1]) or attribute acess (obj.attr) would come and things would get more and more complex.

In other words it's an inevitable slippery slope? I'm sure there *would* be a request for array reference or attribute access, but that doesn't mean it has to be accepted. There is no reason why one inevitably implies the other, just as `42 => v` doesn't imply the acceptance of `42 => @v`.

> So at the moment, we will decide not to support anything but local variables.

If the proposal is rejected then that's how it is, but I would honestly appreciate if that rejection came from the suitability of the `42 => @v` syntax itself. It's disappointing to hear a rejection simply based on nitpicks of the implemention. It's the difference between "42=>@v is a bad syntax" and "42=>@v would be acceptable *if* someone is able to address issues A,B,C"


----------------------------------------
Feature #18408: Allow pattern match to set instance variables
https://bugs.ruby-lang.org/issues/18408#change-98950

* Author: Dan0042 (Daniel DeLorme)
* Status: Rejected
* Priority: Normal
* Assignee: ktsj (Kazuki Tsujimoto)
----------------------------------------
I expected this to work:

```ruby
42 => @v
```

But instead it raises "syntax error, unexpected instance variable"

Is this intentional?



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