Project

General

Profile

Activity

From 11/01/2019 to 11/07/2019

11/07/2019

09:43 PM Misc #16333 (Closed): DevelopersMeeting20191112Online to confirm Ruby 2.7 spec
Hi, we will open DevMeeting with Matz.
Date: 2019/11/12 13:00-17:00
Place: online meeting (ask me if you want to attend. I'll share it on ruby-comitter's slack #devmeeting)
Topics: confirm Ruby 2.7 specs with Matz
Please write yo...
ko1 (Koichi Sasada)
09:35 PM Feature #16254: MRI internal: Define built-in classes in Ruby with `__intrinsic__` syntax
Eregon (Benoit Daloze) wrote:
> A common syntax for intrinsics/primitives would allow to share Ruby code for core classes using these intrinsics/primitives.
> ...
I understand your concern. But I'm not sure we can share these code beca...
ko1 (Koichi Sasada)
09:32 PM Feature #16254: MRI internal: Define built-in classes in Ruby with `__intrinsic__` syntax
Design change:
(1) Table auto generation
> Should we maintain intrinsic function table?
I wrote "yes", but I found it is too difficult by human being. So I decide to generate this table by parsing .rb files.
As I wrote:
>...
ko1 (Koichi Sasada)
08:46 PM Revision dddf5afb (git): Add a counter for compaction
Keep track of the number of times the compactor ran. I would like to
use this as a way to keep track of inline cache reference updates.
tenderlovemaking (Aaron Patterson)
08:43 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
jaruga (Jun Aruga) wrote:
> Shall we add debug code to investigate a random "make install" error on arm64 to `.travis.yml`?
> ...
For the permission issue `cp: cannot create regular file '../../.ext/common/json.rb': Permission denied` ...
jaruga (Jun Aruga)
02:37 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
Ah I see. Thank you for your help, Eregon!
jaruga (Jun Aruga)
06:32 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
Dan0042 (Daniel DeLorme) wrote:
> Is there a benefit to the change apart from consistency? A concrete benefit I mean.
I think consistency is good here, and also it seems to me `regexp.match?(s)` with `s` being `nil` could actually ca...
Eregon (Benoit Daloze)
05:31 PM Revision 597ec435 (git): * 2019-11-08 [ci skip]
git[bot]
05:31 PM Revision b99833ba (git): Use a monotonically increasing number for object_id
This changes object_id from being based on the objects location in
memory (or a nearby memory location in the case of a conflict) to be
based on an always increasing number.
This number is a Ruby Integer which allows it to overflow the ...
jhawthorn (John Hawthorn)
04:42 PM Bug #16332 (Closed): `defined?` constant access on `nil` is inconsistent with normal constant access
The fix for https://bugs.ruby-lang.org/issues/11718 to disallow constant access through `nil` (e.g. `nil::CONSTANT`) didn't make a corresponding change for `defined?`.
This inconsistency can be seen with the example `nil::Object`, whi...
dylants (Dylan Thacker-Smith)
04:09 PM Feature #16295: Chainable aliases for String#-@ and String#+@
It would be nice to see some real-world examples where chaining of these methods makes sense. `"foo".-.size` (always 3) and ` ary.to_s.+.frozen?` (always false) are not very convincing. In my code I don't think I've ever wished to use th... Dan0042 (Daniel DeLorme)
04:42 AM Feature #16295: Chainable aliases for String#-@ and String#+@
For what it's worth, I'm not *against* `#dedup` per se. `-@` is great for signalling a frozen literal, but in the context at hand the method is more likely to be used to deduplicate a derived value.
What about adding a parameter to a...
phluid61 (Matthew Kerwin)
03:56 AM Feature #16295: Chainable aliases for String#-@ and String#+@
@phluid61 Sorry bout that. I should have checked the history before posting my misleading comment!
alanwu (Alan Wu)
03:05 AM Feature #16295: Chainable aliases for String#-@ and String#+@
alanwu (Alan Wu) wrote:
> I like `dedup` too. `-@` was introduced to expose deduplication in the first place.
#11782 :
> ...
The optimisations aren't part of the original specification. In fact, it was all about adding `+@`, beca...
phluid61 (Matthew Kerwin)
12:31 AM Feature #16295: Chainable aliases for String#-@ and String#+@
I like `dedup` too. `-@` was introduced to expose deduplication in the first place.
Usages I've seen all have to do with memory concerns. You wouldn't call it just to get a frozen string, you care far more that it can deduplicate.
alanwu (Alan Wu)
04:00 PM Feature #1089: Stable sorting for sort and sort_by
sawa wrote:
> Do you really mean it's sad? Or do you mean it's said?
I think he meant "sad", rather than "said", possibly due to the desire (by a ruby user)
to see that ruby behaves in the same way across different operating syste...
shevegen (Robert A. Heiler)
04:29 AM Feature #1089: Stable sorting for sort and sort_by
rogerdpack (Roger Pack) wrote:
> It's sad that #sort on linux is "mostly stable" but on OS X is unstable [1]. It's confusing, unfortunately.
Do you really mean it's sad? Or do you mean it's said?
sawa (Tsuyoshi Sawada)
03:58 AM Feature #1089: Stable sorting for sort and sort_by
It's sad that #sort on linux is "mostly stable" but on OS X is unstable [1]. It's confusing, unfortunately.
Since almost always when I do a "sort_by(&:x).sort_by(&:y)" I am looking for a stable sort. And that's exactly the reason that...
rogerdpack (Roger Pack)
02:43 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
> - Possibility #3: renders SyntaxError. This requires a massive rewrite of our parser. Theoretically possible but not in practice.
I'm a bit curious about this. My understanding is that a Proc object is not created for every block....
Dan0042 (Daniel DeLorme)
05:09 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
adh1003 (Andrew Hodgkinson) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
No, not fair enough. It is what you are proposing, even if you didn't intend. We need to care about all the possibilities as far as we can. That's the langu...
mame (Yusuke Endoh)
12:02 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
shyouhei (Shyouhei Urabe) wrote:
> I can think of other cursed usages of private taking a block.
Then it is fortunate, is it not, that this is _not what I am proposing_. What I said was, I thought very clearly:
> ...
...with som...
adh1003 (Andrew Hodgkinson)
02:33 PM Revision d62abc47 (git): Suppress unused variable warning
nobu (Nobuyoshi Nakada)
09:53 AM Revision 6aa80d55 (git): Use FIX2LONG instead of FIX2INT like 26843cbcd0
naruse (Yui NARUSE)
09:50 AM Revision 26843cbc (git): Use FIX2LONG to avoid unexpected exception
Though it won't happen in the real world in this context, FIX2INT may
raise an exception and it cause to generate extra code.
naruse (Yui NARUSE)
08:41 AM Revision d45a013a (git): extend rb_call_cache
Prior to this changeset, majority of inline cache mishits resulted
into the same method entry when rb_callable_method_entry() resolves
a method search. Let's not call the function at the first place on
such situations.
In doing so we e...
shyouhei (Shyouhei Urabe)
08:09 AM Revision 3c252651 (git): Fixed test failure related Net::Protocol
hsbt (Hiroshi SHIBATA)
08:04 AM Bug #16331 (Closed): fails to build with BSD make when any -j option is given (including -j 1)
When building Ruby parallely with BSD make (FreeBSD make), it fails to build.
Reported by FreeBSD Ruby folks. Please keep in mind I didn't find out the root cause.
OS: FreeBSD 12-STABLE
See also: https://bugs.freebsd.org/bugzilla/sh...
meta@vmeta.jp (Koichiro Iwao)
07:44 AM Revision c916f960 (git): SMTP is not module
hsbt (Hiroshi SHIBATA)
07:36 AM Revision fc85bdeb (git): Promote cgi to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 223d3c46 (git): Promote net-smtp to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision eb0b1359 (git): Promote net-pop to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 77c94e0d (git): Promote benchmark to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 1159dbf3 (git): Promote delegate to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 3b0bd340 (git): Promote pstore to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 6797c3e3 (git): Promote getoptlong to default gems
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 478f6e2b (git): Fixed an Errno::ENOENT with non-test libraries
hsbt (Hiroshi SHIBATA)
06:40 AM Revision a396bef8 (git): Disallow duplicated pattern variable
ktsj (Kazuki Tsujimoto)
04:45 AM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
For the record: I am even surprised with myself, but I am not really used to the new order of the backtrace. I may be too old, but I wish the original backtrace order is back. mame (Yusuke Endoh)
04:20 AM Revision 1e620c67 (git): Add missing semicolon
ktsj (Kazuki Tsujimoto)
12:31 AM Revision d0d743ad (git): Remove duplicate code
These functions are the same, so remove one.
Co-authored-by: John Hawthorn <john@hawthorn.email>
tenderlovemaking (Aaron Patterson)

11/06/2019

11:12 PM Revision e58814d1 (git): Revert "Use a monotonically increasing number for object_id"
This reverts commit bd2b314a05ae9192b3143e1e678a37c370d8a9ce. tenderlovemaking (Aaron Patterson)
10:59 PM Revision bd2b314a (git): Use a monotonically increasing number for object_id
This changes object_id from being based on the objects location in
memory (or a nearby memory location in the case of a conflict) to be
based on an always increasing number.
This number is a Ruby Integer which allows it to overflow the ...
jhawthorn (John Hawthorn)
10:16 PM Revision d1630d41 (git): Promote open3 to default gems
hsbt (Hiroshi SHIBATA)
10:16 PM Revision fb7fe7f1 (git): Added rubygems url for published gem
hsbt (Hiroshi SHIBATA)
10:16 PM Revision ec2603c3 (git): fallback standard structure library to sync_lib_gem method
hsbt (Hiroshi SHIBATA)
10:16 PM Revision 91135f6d (git): Promote singleton to default gems
hsbt (Hiroshi SHIBATA)
10:12 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
Fixed in 40e161a61238625e1ef021311759b2159be5b50a Eregon (Benoit Daloze)
10:08 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
RUBY_PLATFORM is `armv8l-linux-eabi` there, I'll adapt the `platform_is` guard. Eregon (Benoit Daloze)
10:07 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
About the clock_getres() specs, it seems they fail because I guess on Drone CI, clock_getres(CLOCK_PROCESS_CPUTIME_ID) returns 1ns, but it seems CLOCK_PROCESS_CPUTIME_ID results are all in 10ns (last digit is always 0).
Probably we ca...
Eregon (Benoit Daloze)
07:26 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
As another issue, there are 2 test failures in spec/ruby/core/process/clock_getres_spec.rb on Drone CI arm32 case.
https://cloud.drone.io/ruby/ruby/619/1/2
```
1)
Process.clock_getres matches the clock in practice for Process::CL...
jaruga (Jun Aruga)
07:09 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
Shall we add debug code to investigate a random "make install" error on arm64 to `.travis.yml`?
At least we can remove current existing debugging code for Mac OSX after "make install" in `.travis.yml`.
This pull-request is the sugges...
jaruga (Jun Aruga)
05:11 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
I sent a pull-request to fix following failure on Travis arm64.
https://github.com/ruby/ruby/pull/2653
```
1)
Process.spawn joins the specified process group if pgroup: pgid FAILED
Expected (STDOUT): "0"
but got: "34876...
jaruga (Jun Aruga)
10:10 PM Revision 40e161a6 (git): Exclude some clocks on armv8 too
* See https://bugs.ruby-lang.org/issues/16234#note-16 Eregon (Benoit Daloze)
08:45 PM Feature #16295: Chainable aliases for String#-@ and String#+@
byroot (Jean Boussier) wrote:
> phluid61 (Matthew Kerwin) wrote:
> ...
I think most of that functionality is equivalent to implementation detail, as far as String itself is concerned. Deduplication is a concern of the ObjectSpace.
I...
phluid61 (Matthew Kerwin)
10:59 AM Feature #16295: Chainable aliases for String#-@ and String#+@
phluid61 (Matthew Kerwin) wrote:
> It doesn't exactly fit the way messages are named in Ruby, but how about:
> ...
`-@` does more than freezing the string, it also lookup the fstring table and potentially returns you a pre-existing ins...
byroot (Jean Boussier)
05:53 PM Revision a1be11eb (git): Revert "Remove arm64 from allow_failures"
This reverts commit 212f4d49bac844b3c0fa52f2185b3df30aa62e75.
It worked on PR, but master branch builds have another build issue.
https://travis-ci.org/ruby/ruby/jobs/608303393
k0kubun (Takashi Kokubun)
05:10 PM Revision 212f4d49 (git): Remove arm64 from allow_failures
k0kubun (Takashi Kokubun)
05:09 PM Revision 7750edd1 (git): * 2019-11-07 [ci skip]
git[bot]
05:08 PM Revision f5c7fc49 (git): Fix spawn_spec.rb for Travis arm64 environment.
The process group id (/proc/[pid]/stat 5th field) is 0
in the Travis arm64 environment.
This is a case where it is available.
$ cat /proc/4543/stat
4543 (ruby) S 4525 4525 1384 34818 4525 4194304 37443 1754841 0 0 366 105 2291 391 20 0...
Jun Aruga
11:09 AM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
> I think we all agree this is a good way to "deprecate" methods returning mutable strings and let them return frozen strings in the future, isn't it?
> ...
Agreed, not sure if we can still hope for the `Symbol#to_s` to make it to 2.7, ...
byroot (Jean Boussier)
10:49 AM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
Dan0042 (Daniel DeLorme) wrote:
> And for that I think it's necessary to handle the situation of `str = str.dup if str.frozen?` which is a pretty common pattern in ruby code.
Right, it is useful for that pattern at least.
I think `S...
Eregon (Benoit Daloze)
10:37 AM Feature #16150: Add a way to request a frozen string from to_s
hsbt (Hiroshi SHIBATA) wrote:
> This discussion started with "how big the incompatibility is?" at https://bugs.ruby-lang.org/issues/16150#note-18
> ...
Thank you for the more detailed explanation.
IMHO, requiring to update (not upgr...
Eregon (Benoit Daloze)
10:27 AM Feature #16150: Add a way to request a frozen string from to_s
duerst (Martin Dürst) wrote:
> I didn't find the text "a possible incompatibility reported by one user" anywhere in this issue.
It's my interpretation and the only piece of information I had so far from https://github.com/heroku/hero...
Eregon (Benoit Daloze)
12:34 AM Feature #16150: Add a way to request a frozen string from to_s
This discussion started with "how big the incompatibility is?" at https://bugs.ruby-lang.org/issues/16150#note-18
The old version of Rails is incompatible. And I also got the issue of `middleman` depends on `memoist`. So, my company b...
hsbt (Hiroshi SHIBATA)
12:29 AM Feature #16150: Add a way to request a frozen string from to_s
Just to cross-check:
Eregon (Benoit Daloze) wrote:
> I find it frustrating that the change is reverted without much else than "a possible incompatibility reported by one user"
I didn't find the text "a possible incompatibility r...
duerst (Martin Dürst)
03:46 AM Bug #16293 (Closed): Numbered parameter confirmation in Ruby 2.7
Applied in changeset commit:git|82e840ad15bba42b399a21de746967a731240ec2.
----------
Numbered parameter cannot appear outside block now [Bug #16293]
nobu (Nobuyoshi Nakada)
03:45 AM Bug #16293: Numbered parameter confirmation in Ruby 2.7
> ```ruby
> ...
The "outside block" warning is shown at assignment to a local variable looks like a numbered parameter.
There is no assignment.
> ```ruby
> ...
This is a bug.
As numbered parameter looks like an ordinary variable n...
nobu (Nobuyoshi Nakada)
12:58 AM Bug #16293: Numbered parameter confirmation in Ruby 2.7
Thank you all.
I updated text.
osyo (manga osyo)
03:45 AM Revision 2fd46554 (git): Numbered parameter is an ID_LOCAL now [Bug #16293]
nobu (Nobuyoshi Nakada)
03:44 AM Revision 82e840ad (git): Numbered parameter cannot appear outside block now [Bug #16293]
nobu (Nobuyoshi Nakada)
02:17 AM Revision f72dc407 (git): Prohibit calling undefined allocator [Bug #16297]
nobu (Nobuyoshi Nakada)
02:16 AM Bug #16297 (Closed): calling undefined allocator by `Class.instance_method(:allocate)`
For instance, `Rational.allocate` is undefined.
```ruby
Rational.allocate #=> undefined method `allocate' for Rational:Class (NoMethodError)
```
But it can be called by `Class.instance_method(:allocate)`.
```ruby
Class.instan...
nobu (Nobuyoshi Nakada)
01:11 AM Feature #16294: Make MatchData frozen and forbid MatchData.allocate
I'm not against the proposal itself, but is it okay to introduce an incompatibility at this time? cc: @naruse mame (Yusuke Endoh)
12:05 AM Feature #16294: Make MatchData frozen and forbid MatchData.allocate
It would be OK to remove `MatchData.allocate`, I think.
And `Regexp.allocate` too, but rubyspec has a couple of code using `Regexp.allocate`.
nobu (Nobuyoshi Nakada)
12:04 AM Feature #16294 (Closed): Make MatchData frozen and forbid MatchData.allocate
Applied in changeset commit:git|aa94245a09887f95bc0cd353b3462108d76d13ed.
----------
Undefine MatchData.allocate [Feature #16294]
nobu (Nobuyoshi Nakada)
12:56 AM Feature #16296: Alternative behavior for `...` in method body if `...` is not in method definition
This proposal would change ... though and add a new meaning.
People then have to remember that ... can be omitted in
definitions too.
I am not sure that this is the same use case as the prior one
where ... had to be used in both t...
shevegen (Robert A. Heiler)
12:46 AM Revision 5251d189 (git): Time#strftime does not support `%Q`
```
% ruby -r date -e 't=Time.utc(2001,2,3,4,5,6,7);p t; p [t, t.to_date, t.to_datetime].map{|d|d.strftime("%Q")}'
2001-02-03 04:05:06.000007 UTC
["%Q", "981158400000", "981173106000"]
```
znz (Kazuhiro NISHIYAMA)

11/05/2019

11:54 PM Revision aa94245a (git): Undefine MatchData.allocate [Feature #16294]
nobu (Nobuyoshi Nakada)
10:24 PM Feature #16150: Add a way to request a frozen string from to_s
I'm sorry if the above is rude.
I find it frustrating that the change is reverted without much else than "a possible incompatibility reported by one user" and for which we already have a plan to address it easily (just use the latest ...
Eregon (Benoit Daloze)
09:30 PM Feature #16150: Add a way to request a frozen string from to_s
naruse (Yui NARUSE) wrote:
> As already Matz stated, I reverted this at bea322a3.
So you reverted without a single case that was actually problematic due to the change?
I'm very disappointed, deprecation without a proper explanation...
Eregon (Benoit Daloze)
11:00 AM Feature #16150: Add a way to request a frozen string from to_s
If that change is reverted, could we make it a deprecation instead?
Any idea how such deprecation warning would be implemented?
byroot (Jean Boussier)
08:38 AM Feature #16150 (Open): Add a way to request a frozen string from to_s
Eregon (Benoit Daloze) wrote:
> I agree it's not ideal, but I also feel it's really not the biggest problem for Ruby 2.7 in production, and we already have a good plan.
> ...
Yes, keyword argument is the most difficult challenge for Ru...
naruse (Yui NARUSE)
09:16 PM Feature #16103: Make the dot-colon method reference frozen
FWIW, I think it would be better to freeze all Method and UnboundMethod objects.
Is there any use-case for adding instance variables to them?
Eregon (Benoit Daloze)
09:12 PM Feature #16295: Chainable aliases for String#-@ and String#+@
I like `#dedup` for `String#-@`, partly for the relation with `#dup`.
For `String#+@`, I'd propose `#buffer` like `buf = ''.buffer`.
I don't like `mut`.
Eregon (Benoit Daloze)
08:56 PM Feature #16295: Chainable aliases for String#-@ and String#+@
It doesn't exactly fit the way messages are named in Ruby, but how about:
```ruby
alias -@ frozen
alias +@ thawed
```
phluid61 (Matthew Kerwin)
04:33 PM Feature #16295: Chainable aliases for String#-@ and String#+@
I agree that + and - are not very elegant, as names. They are not very meaningful (as names).
On the other hand they are short, so from this point of view, useful in a practical manner,
but this is actually the main reason why I pref...
shevegen (Robert A. Heiler)
01:44 PM Feature #16295 (Closed): Chainable aliases for String#-@ and String#+@
Original discussion https://bugs.ruby-lang.org/issues/16150?next_issue_id=16147&prev_issue_id=16153#note-40
In #16150, @headius raised the following concern about `String#-@` and `String#+@`:
headius (Charles Nutter) wrote:
> > No...
byroot (Jean Boussier)
04:53 PM Feature #16296 (Open): Alternative behavior for `...` in method body if `...` is not in method definition
In #16253 we settled on a syntax where the remainder arguments captured via `...` in the method definition can be forwarded via `...` in the method body. I think that was the correct decision.
But I can't forget about the use case [pr...
Dan0042 (Daniel DeLorme)
04:24 PM Revision 7460c884 (git): Use an identity hash for pinning Ripper objects
Ripper reuses parse.y for its implementation. Ripper changes the
grammar productions to sometimes return Ruby objects. This Ruby objects
are put in to the parser's stack, so they must be kept alive. This is
where the "mark_ary" comes ...
tenderlovemaking (Aaron Patterson)
04:18 PM Bug #16293: Numbered parameter confirmation in Ruby 2.7
The present behaviour:
```ruby
def _1; end
```
seems correct and osyo's example of expecting a warning instead seems incorrect to me, unless
he meant it in in some other context. (It is indeed difficult to break the suggestion d...
shevegen (Robert A. Heiler)
01:05 PM Bug #16293: Numbered parameter confirmation in Ruby 2.7
It is difficult for me to analyze this ticket, too. Could you write your expectations and the actual results?
```ruby
# expected: warning: `_1' is used as numbered parameter
# actual: no warning
def hgoe(_1)
end
```
```ruby
...
mame (Yusuke Endoh)
12:56 PM Bug #16293: Numbered parameter confirmation in Ruby 2.7
I couldn't understand your request. Please summarize actual and expect behavior with your request. hsbt (Hiroshi SHIBATA)
12:14 PM Bug #16293 (Closed): Numbered parameter confirmation in Ruby 2.7

## Overview
I want to make a final check on the behavior of Numbered parameter( No warning or Warning or Error).
There is a difference in [DevelopersMeeting20190829Japan logs](https://docs.google.com/document/d/1XypDO1crRV9uNg1_ajx...
osyo (manga osyo)
03:39 PM Revision d47b6434 (git): * 2019-11-06 [ci skip]
git[bot]
03:31 PM Revision 07f2062c (git): Improve string literal concatenation for C++11
Downstream C++ projects that compile with C++11 or newer and include
the generated config.h file issue compiler warnings. Both C and C++
compilers do string-literal token pasting regardless of whitespace
between the tokens to paste. C++ ...
Mark Abraham
01:32 PM Feature #14430: net/http: use Socket.tcp with connect_timeout, instead of TCPSocket.open wrapped in Timeout.timeout
We've been recently bitten by this.
Does the merge of [#15553] makes https://github.com/ruby/ruby/pull/1806 functional?
byroot (Jean Boussier)
12:59 PM Feature #16294 (Closed): Make MatchData frozen and forbid MatchData.allocate
Currently, `MatchData.allocate` is allowed, but almost every MatchData method called on it `raise TypeError, 'uninitialized Match'`.
I think MatchData should be frozen, none of its internal fields are mutable and I don't see any use c...
Eregon (Benoit Daloze)
12:20 PM Misc #16262: DevelopersMeeting20191128Japan
* [Feature #16293] Numbered parameter confirmation in Ruby 2.7
* Numbered parameter confirmation in Ruby 2.7
osyo (manga osyo)
12:06 PM Revision 6aacef49 (git): Assert return value of Readline.readline only if Ruby is before 2.7
aycabta (aycabta .)
11:57 AM Revision c4b627e2 (git): Only taint on Ruby <2.7
Ruby 2.7 deprecates taint and it no longer has an effect. jeremyevans (Jeremy Evans)
11:54 AM Revision 652800cc (git): Only untaint line on Ruby <2.7
Untaint is deprecated and has no effect on Ruby 2.7+. jeremyevans (Jeremy Evans)
11:38 AM Feature #16275: Revert `.:` syntax
I'm also in favor of what Tim stated but at the same time, I want to point out, that the way it is now is not optimal from the performance point of view.
Ruby gives you a new instance of a `#Method` class. Even when you’re fetching th...
maciej.mensfeld (Maciej Mensfeld)
09:35 AM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
Makes sense to me what mame wrote, so +1; marcandre's suggestion for a deprecation-specific
notice makes sense as well and may be useful past ruby 3.0 (if ruby 4.x may have more
incompatibilites than ruby 3.0; then there could be more ...
shevegen (Robert A. Heiler)
09:23 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
NOTE: warning message should be improved if this is deprecated before 2.7.0. naruse (Yui NARUSE)
03:30 AM Feature #13083 (Open): Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
Eregon (Benoit Daloze) wrote:
> shugo (Shugo Maeda) wrote:
> ...
Thank you.
I reopen this issue for further discussion.
shugo (Shugo Maeda)
08:43 AM Revision c6a52cff (git): Separated `@counter` and `@tally` so that "-ft" works with "-j"
nobu (Nobuyoshi Nakada)
08:42 AM Revision fa52a924 (git): Enable "-f" option in multi_exec mode
Make `MultiFormatter` a module and extend the formatter specified
by "-f" option.
nobu (Nobuyoshi Nakada)
08:42 AM Revision 19f91f78 (git): `DottedFormatter#finish` consistency
Rmoved optional parameter `printed_exceptions`, and clear
`exceptions` just after printing each exception, instead.
nobu (Nobuyoshi Nakada)
08:42 AM Revision dfb3322d (git): `DottedFormatter#state` consistency
Let the method of `DottedFormatter` subclasses have the same
arity.
nobu (Nobuyoshi Nakada)
08:30 AM Revision bea322a3 (git): Revert "[EXPERIMENTAL] Make Symbol#to_s return a frozen String [Feature #16150]"
This reverts commit 6ffc045a817fbdf04a6945d3c260b55b0fa1fd1e. naruse (Yui NARUSE)
07:46 AM Feature #16290: Add Ruby C API to acquire aligned memory
naruse (Yui NARUSE) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
In case of this request, ImageMagick already _does_ have aligned allocator. If we provide one we would use any of 5 backends but that is not required at all. They al...
shyouhei (Shyouhei Urabe)
07:26 AM Feature #16290: Add Ruby C API to acquire aligned memory
shyouhei (Shyouhei Urabe) wrote:
> I'm not in favor of this. There are many ways to allocate a memory region, like mmap(2). Do we have to provide ruby counterparts for every and all of them?
rb_aligned_malloc uses 5 underlying impl...
naruse (Yui NARUSE)
01:41 AM Feature #16290: Add Ruby C API to acquire aligned memory
I'm not in favor of this. There are many ways to allocate a memory region, like mmap(2). Do we have to provide ruby counterparts for every and all of them? shyouhei (Shyouhei Urabe)
07:01 AM Feature #16146: Array .difference allow custom comparison
jonathanhefner (Jonathan Hefner) wrote:
> duerst (Martin Dürst) wrote:
> ...
In my sentence above, 'that' refers to 'an O(n) implementation'. Naive implementations don't have that problem, but they are slow (O(n²)).
> Here is a naiv...
duerst (Martin Dürst)
06:31 AM Revision 853d91a0 (git): Fix coroutine support on win32
Ruby master branch currently fails on win32 MINGW at this spec:
https://github.com/ruby/spec/blob/master/core/thread/element_set_spec.rb
MINGW makes use of setjmp3() implemented in MSVCRT.DLL.
This function traverses the SEH list up to ...
Lars Kanis
05:33 AM Misc #15843: Make "trunk" a symbolic-ref of "master" on git.ruby-lang.org
I don't have a control on docs.ruby-lang.org. Please file another ticket or issue on https://github.com/ruby/docs.ruby-lang.org/issues to get its maintainer's attention. k0kubun (Takashi Kokubun)
04:46 AM Revision 7c073004 (git): let the .bss section initialize static variables
ISO/IEC 9899:1999 section 6.7.8 specifies the values of static
storage which are not explicitly initialized. According to that
these initializers can be omitted. Doing so improvoes future
compatibility against addition / deletion of th...
shyouhei (Shyouhei Urabe)
02:39 AM Revision 6ff12507 (git): rb_method_basic_definition_p with CC
Noticed that rb_method_basic_definition_p is frequently called.
Its callers include vm_caller_setup_args_block(),
rb_hash_default_value(), rb_num_neative_int_p(), and a lot more.
It seems worth caching the method resolution part. Major...
shyouhei (Shyouhei Urabe)
01:49 AM Feature #16291: Introduce support for resize in rb_ary_freeze and prefer internal use of rb_ary_freeze and rb_str_freeze for String and Array types
Years ago I thought we don't need any per-class extension of rb_obj_freeze. However it seems rb_str_freeze is a thing and rb_ary_freeze can benefit the same way. I think it's now clear that there should be a C API that does `rb_funcall... shyouhei (Shyouhei Urabe)
01:29 AM Bug #16292 (Closed): Allow RDoc & YARD to find Encoding class doc's
Applied in changeset commit:git|8869384367a1b5e856b2f4b7b7d56296c71a572c.
----------
Moved Init_encoding from wrong place [Bug #16292]
nobu (Nobuyoshi Nakada)
01:28 AM Revision 1390d56e (git): Set $JOBS to Tests for parallel tests
nobu (Nobuyoshi Nakada)
01:28 AM Revision 88693843 (git): Moved Init_encoding from wrong place [Bug #16292]
nobu (Nobuyoshi Nakada)
01:09 AM Revision 30a74aae (git): Fix a typo in WARN_EOL
znz (Kazuhiro NISHIYAMA)

11/04/2019

11:45 PM Revision c7632fa8 (git): Do not occupy `ARGV` by XRUBY command
Instead run test-bundled-gems.rb by `ENV['RUBY']`, which should be
set by runruby.rb.
nobu (Nobuyoshi Nakada)
11:27 PM Revision ebbe396d (git): Use ident hash for top-level recursion check
We track recursion in order to not infinite loop in ==, inspect, and
similar methods by keeping a thread-local 1 or 2 level hash. This allows
us to track when we have seen the same object (ex. using inspect) or
same pair of objects (ex. ...
jhawthorn (John Hawthorn)
11:07 PM Revision 7c3bc0aa (git): Put an empty line [ci skip]
nobu (Nobuyoshi Nakada)
11:03 PM Revision 74bb8fb3 (git): More rdoc for ENV
burdettelamar (Burdette Lamar)
09:49 PM Bug #16288: Segmentation fault with finalizers, threads
```
modified lib/timeout.rb
@@ -94,7 +94,7 @@ def timeout(sec, klass = nil, message = nil) #:yield: +sec+
ensure
if y
y.kill
- y.join # make sure y is dead.
+ # y.join # make sure y...
davidw (David Welton)
05:11 PM Bug #16288: Segmentation fault with finalizers, threads
mame (Yusuke Endoh) wrote:
> Thank you for the report and the great investigation! I could reproduce the issue by using your example: https://github.com/mainameiz/segfault_app
Thanks for checking in to it.
> ...
Yes, I think ther...
davidw (David Welton)
09:35 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
Actually, after rereading what Jonathan wrote, he referred not to "true" values
per se, but as to whether "non nil values" are to be included. So perhaps I
misunderstood his comment. I think that filter still applies to the .select
an...
shevegen (Robert A. Heiler)
09:32 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
Jonathan recently added this to the upcoming developer discussion (at https://bugs.ruby-lang.org/issues/16262),
in regards as to whether the current behaviour is correct, or whether it should include non-nil values as well.
The quest...
shevegen (Robert A. Heiler)
09:35 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
> Ruby having a single nil, instead of JavaScript's null and undefined, is a net benefit, in my opinion.
undefined signals the absence of a value and makes possible composable default value design, where missing arguments can be forw...
bughit (bug hit)
05:42 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
bughit (bug hit) wrote:
> The penalty the language pays is it has a demoware, checklist item, default value feature, where in any non-trivial scenario you have to produce the default value twice, first the intermediate default value thr...
jeremyevans0 (Jeremy Evans)
05:00 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
> The "penalty" I pay for this is one line of code
The penalty the language pays is it has a demoware, checklist item, default value feature, where in any non-trivial scenario you have to produce the default value twice, first the int...
bughit (bug hit)
03:22 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
alanwu (Alan Wu) wrote:
> Since the beginning of time (correct me if I'm wrong), the two falsy values in Ruby has been `false` and `nil`, period.
> ...
I Agree. Not saying there's no benefit, but this is too big a change for too small ...
Dan0042 (Daniel DeLorme)
10:24 AM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
The "penalty" I pay for this is one line of code like `period = Undefined.default(period, :day)`. Given this doesn't occur very often I don't see how "compiler support" would be beneficial. decuplet (Nikita Shilnikov)
09:13 PM Misc #16262: DevelopersMeeting20191128Japan
* [Feature #15323] Enumerable#filter_map
* This feature has already been merged, but there may have been some confusion regarding the implementation.
* It currently selects only truthy values, but should it select all non-nil value...
jonathanhefner (Jonathan Hefner)
08:57 PM Feature #15899: String#before and String#after
I use monkey-patched versions of these in many of my Ruby scripts. They have a few benefits vs. the alternatives:
* vs. `split` + `first` / `last`
* using `split` can cause an unintended result when the delimiter is not present, e...
jonathanhefner (Jonathan Hefner)
07:43 PM Misc #15843: Make "trunk" a symbolic-ref of "master" on git.ruby-lang.org
Related to this change, would it be possible to redirect https://docs.ruby-lang.org/en/trunk/ to https://docs.ruby-lang.org/en/master/ ? There are links in various third-party docs and online articles which still point to https://docs.r... jonathanhefner (Jonathan Hefner)
07:25 PM Feature #16146: Array .difference allow custom comparison
duerst (Martin Dürst) wrote:
> Well, that assumes that the block return values can be ordered. But it's easy to create cases where values can be compared for equality, but not ordered. Example: `[1, 'abc']`.
I'm not sure that I follo...
jonathanhefner (Jonathan Hefner)
05:51 PM Bug #16292 (Closed): Allow RDoc & YARD to find Encoding class doc's
Documentation code (RDoc, YARD) cannot pick up the class comments for Encoding after the following commit:
https://github.com/ruby/ruby/commit/6546aed4757be07f4932326e1eb41a5d69141acf
A solution is to move lines 1919 thru 1924 above ...
MSP-Greg (Greg L)
05:14 PM Revision 9d04fa71 (git): Updated minitest to 5.13.0
nobu (Nobuyoshi Nakada)
05:12 PM Revision c0c9a00f (git): Simplify test tasks
Removed `if` conditions separating `test-bundled-gems`, and pass
`TESTOPTS` and `TEST_BUNDLED_GEMS_ALLOW_FAILURES` via `env`.
nobu (Nobuyoshi Nakada)
05:05 PM Revision 929a4aa7 (git): Adjust a fucntion signature
nobu (Nobuyoshi Nakada)
04:58 PM Revision ec54261b (git): Fix zero free objects assertion
This commit is to attempt fixing this error:
http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2353281
Each non-full heap_page struct contains a reference to the next page
that contains free slots. Compaction could fill any page, ...
tenderlovemaking (Aaron Patterson)
04:41 PM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
> > If they only warn once, they are not that annoying, and people may be less inclined to fix the issue.
> ...
I think the issue is more that in a long-lived process you'll get only a few warnings in a large log, and it may be easy to ...
Dan0042 (Daniel DeLorme)
04:32 PM Revision a087e027 (git): Fixed conditional expressions with only one void side
nobu (Nobuyoshi Nakada)
04:17 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
Eregon (Benoit Daloze) wrote:
> For this discussion, I would focus on having this for Strings only initially.
Fair enough. I don't see much point in having this for objects other than strings. Focusing on strings might simplify the i...
Dan0042 (Daniel DeLorme)
03:07 PM Revision bd3463ee (git): * 2019-11-05 [ci skip]
git[bot]
03:05 PM Revision 4e8336ba (git): Share test-bundled-gems-run in common.mk
nobu (Nobuyoshi Nakada)
02:37 PM Revision e91e3274 (git): Keep `lex.pcur` after `looking_at_eol_p`
nobu (Nobuyoshi Nakada)
02:31 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
I like to share my investigation about below issue (random error) at "make install" on arm64 environment.
https://travis-ci.org/ruby/ruby/jobs/606916890#L2412
```
cp: cannot create regular file '../../.ext/common/json.rb': Permiss...
jaruga (Jun Aruga)
02:17 PM Revision 26316cc3 (git): Warn `if` and `elsif` at EOL [EXPERIMENTAL]
It is unnatural and probably a typo. nobu (Nobuyoshi Nakada)
01:51 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
Is there a benefit to the change apart from consistency? A concrete benefit I mean. Dan0042 (Daniel DeLorme)
01:45 PM Feature #16291 (Assigned): Introduce support for resize in rb_ary_freeze and prefer internal use of rb_ary_freeze and rb_str_freeze for String and Array types
References Github PR https://github.com/ruby/ruby/pull/2640
### Why?
While working on https://github.com/ruby/ruby/pull/2037#issuecomment-548633141 I also looked at the `rb_ary_freeze` helper to determine if the same optimization o...
methodmissing (Lourens Naudé)
01:27 PM Revision c303854e (git): Revert "Warn `if` and `elsif` at EOL [EXPERIMENTAL]"
This reverts commit ba35c14325ebbf1da8f200df83c45ee9937ff8a1.
This is because ripper fails symbol lookup error.
mame (Yusuke Endoh)
12:39 PM Revision ba35c143 (git): Warn `if` and `elsif` at EOL [EXPERIMENTAL]
It is unnatural and probably a typo. nobu (Nobuyoshi Nakada)
09:16 AM Feature #16290 (Closed): Add Ruby C API to acquire aligned memory
Related to https://github.com/ruby/ruby/pull/2614
I have required to acquire aligned memory in Ruby C-extension library (https://github.com/rmagick/rmagick/pull/832).
I want an API that notifies acquired size to Ruby GC.
Of course...
watson1978 (Shizuo Fujita)
08:12 AM Revision cf377c55 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
07:38 AM Revision ffa92980 (git): Fixed a typo
nobu (Nobuyoshi Nakada)
12:40 AM Revision 823f25bb (git): sync_default_gems.rb: Show the progress at fetching
It looks like hanging up when fetching from a remote first time. nobu (Nobuyoshi Nakada)
12:28 AM Revision cbbdb4e5 (git): [ruby/racc] Strip trailing whitespaces at the last line of actions
https://github.com/ruby/racc/commit/a887ebe529 nobu (Nobuyoshi Nakada)
12:18 AM Revision 046be65c (git): * 2019-11-04 [ci skip]
git[bot]
12:14 AM Revision df62d652 (git): Use the dedicated function `rb_io_check_io`
nobu (Nobuyoshi Nakada)

11/03/2019

06:57 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
> For this purpose I built a special value a while ago
What purpose? Surely you understand that your special value, having no compiler support, does not trigger default value computations.
You are making my point. Your Undefined is...
bughit (bug hit)
04:58 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
For this discussion, I would focus on having this for Strings only initially.
I don't think it's about the "grand design of immutability", but rather a tool to ease migration towards frozen Strings for some APIs.
My main concern abou...
Eregon (Benoit Daloze)
04:52 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
Dan0042 (Daniel DeLorme) wrote:
> Since returning a frozen string from Symbol#to_s [was reverted](https://bugs.ruby-lang.org/issues/16150#change-82420), it looks like this proposal is still relevant.
It's not reverted (yet at least).
Eregon (Benoit Daloze)
02:20 PM Revision 5a7487bd (git): Added assertions for linebreak
nobu (Nobuyoshi Nakada)
02:18 PM Revision 7b2cd548 (git): [DOC] mentioned `\R` [ci skip]
nobu (Nobuyoshi Nakada)
01:53 PM Revision f8b3d7d1 (git): [DOC] \s in regexp is not same as in string [ci skip]
nobu (Nobuyoshi Nakada)
10:31 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
shugo (Shugo Maeda) wrote:
> Code like `/regex/ =~ str` has often been used when `str` may be `nil`, and such code has been rewritten using Regexp#match? after Ruby 2.4.
> ...
That's a good point.
We can still discuss on this ticket w...
Eregon (Benoit Daloze)
10:18 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
kachick (Kenichi Kamiya) wrote:
> How about https://github.com/ruby/ruby/pull/2637?
I merged that PR, thank you.
Regexp#{match,match?} with a nil argument now just warns.
The plan is then to make them raise TypeError in Ruby 3.0.
Eregon (Benoit Daloze)
12:35 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
matz (Yukihiro Matsumoto) wrote:
> Thank you for the input. If you can provide a more detailed situation, it would be better.
My situation is the same as Rafael's, and I fixed my code using the safe navigation operator:
https://...
shugo (Shugo Maeda)
10:25 AM Revision 782d1b8f (git): Fix warnings in Regexp#{match,match?} specs
Eregon (Benoit Daloze)
10:14 AM Revision fbacfe68 (git): Update NEWS entry for Feature #13083
Eregon (Benoit Daloze)
10:14 AM Revision 4a166237 (git): Remove incorrect NEWS entry, only Regexp#match and #match? changed
Eregon (Benoit Daloze)
10:03 AM Revision 985e6ced (git): * 2019-11-03 [ci skip]
git[bot]
10:03 AM Revision 31110d82 (git): Improve warning message
https://github.com/ruby/ruby/pull/2637#discussion_r341812475 kachick (Kenichi Kamiya)
10:03 AM Revision 452bee3e (git): Revert nil error and adding deprecation message
kachick (Kenichi Kamiya)

11/02/2019

03:47 PM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
> If they only warn once, they are not that annoying, and people may be less inclined to fix the issue.
It's a warning about an upcoming incompatibility, once should be serious enough!
Maybe it should be reworded to emphasize serio...
marcandre (Marc-Andre Lafortune)
12:56 PM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
What's the performance with this patch for a call site that would warn?
```
$ chruby ruby-2.7.0-preview2
$ ruby -rbenchmark/ips -e 'def m(**kw); end; h = {a: 1}; Benchmark.ips { |x| x.report { m(h) } }'
... many warnings ...
...
Eregon (Benoit Daloze)
08:00 AM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
What I worry about is Jeremy's comment in the PR:
> In terms of idea, whether we want this feature depends on how annoying we want the warnings to be. If they warn every call, they are very annoying and it will push people to fixing t...
mame (Yusuke Endoh)
01:14 PM Feature #16150: Add a way to request a frozen string from to_s
The plan is Rails 6 users can update to Rails 6.0.1 and Rails 5.2 users can update to Rails 5.2.4 (assuming 5.2.4 will be released before 2.7, we need to confirm with Rails devs).
That should be easy and recommended for security and oth...
Eregon (Benoit Daloze)
10:06 AM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
For this purpose I built a [special value](https://github.com/dry-rb/dry-core/blob/99e4035148af729298430aefe85b4c93cb318195/lib/dry/core/constants.rb#L41) a while ago. It has been working fine all this time. I don't think there's a need ... decuplet (Nikita Shilnikov)
12:32 AM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
Since the beginning of time (correct me if I'm wrong), the two falsy values in Ruby has been `false` and `nil`, period.
Adding another falsy value is a big change.
> the missing/undefined second arg to f3 invocation flows all the way...
alanwu (Alan Wu)
06:32 AM Revision 772b0613 (git): Correct documented return values for certain ENV methods (#2620)
burdettelamar (Burdette Lamar)
01:22 AM Bug #16288: Segmentation fault with finalizers, threads
Thank you for the report and the great investigation! I could reproduce the issue by using your example: https://github.com/mainameiz/segfault_app
Currently, starting a thread in a finalizer is dangerous. The termination of the inte...
mame (Yusuke Endoh)

11/01/2019

11:55 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
It's conceivable that it can be done without a keyword, there are other way to refer to special values.
However what do you have against a null coalescing operator? It's needed regardless of this issue, || and ||= are inadequate becau...
bughit (bug hit)
09:55 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
bughit (bug hit) wrote:
> The value would be `missing`. Adding something like `missing` to the language would need to be coupled with a null coalescing operator which would cover both nil and missing (but not false). Something like `??`...
jeremyevans0 (Jeremy Evans)
09:33 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
> Other than arity, it seems like you would want to use the new argument forwarding syntax
I didn't know about new syntax, is that in 2.7? However, I don't think that's general enough. In javascript you can forward individual argument...
bughit (bug hit)
07:21 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
Other than arity, it seems like you would want to use the new argument forwarding syntax:
```ruby
def foo(default1 = some_expression)
end
def bar(...)
foo(...)
end
def foobar(...)
bar(...)
end
```
The major issue ...
jeremyevans0 (Jeremy Evans)
07:02 PM Feature #11660: a falsy value (similar to js undefined) that facilitates forwarding of default arguments
Compared to javascript default arg values are far less useful in ruby because of the lack of this forwarding capability.
This issue is 4 years old, can ruby core at least consider this?
bughit (bug hit)
11:37 PM Feature #16150: Add a way to request a frozen string from to_s
This issue is also fixed on Rails 5.2 and will be released in the next version of Rails.
Users of any version of Rails below 5.2 are already abandoned. The Rails core team don't support those versions anymore. So, they already need to...
rafaelfranca (Rafael França)
11:16 PM Feature #16150: Add a way to request a frozen string from to_s
>So if that issue is caused by Rails, it should be fixed before any stable release of Ruby 2.7 comes out.
This change affects many developers, company and applications with upgrading work. How about Rails 5.2 and 5.1 users? Do we aban...
hsbt (Hiroshi SHIBATA)
05:56 PM Feature #16150: Add a way to request a frozen string from to_s
@rafaelfranca told me Rails 6.0.1 is scheduled for November 5, way before the Ruby 2.7 release (see https://weblog.rubyonrails.org/2019/10/31/Rails-6-0-1-rc1-released/).
So if that issue is caused by Rails, it should be fixed before any...
Eregon (Benoit Daloze)
05:43 PM Feature #16150: Add a way to request a frozen string from to_s
hsbt (Hiroshi SHIBATA) wrote:
> This change must be reverted.
I don't think it's fair to decide that on your own, from apparently just one issue.
Could you detail the situation, i.e., in which place the problem occurs and why can'...
Eregon (Benoit Daloze)
08:54 AM Feature #16150: Add a way to request a frozen string from to_s
OK, frozen `Symbol#to_s` should be reverted. Maybe we can challenge in the future (with the deprecation process first).
Matz.
matz (Yukihiro Matsumoto)
12:55 AM Feature #16150: Add a way to request a frozen string from to_s
This change must be reverted.
I got the issue report from Heroku users.
https://github.com/heroku/heroku-buildpack-ruby/issues/833#issuecomment-548592514
When Rails 6.0.0 and old version users specified Ruby 2.7, Their applicati...
hsbt (Hiroshi SHIBATA)
07:20 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
How about https://github.com/ruby/ruby/pull/2637? kachick (Kenichi Kamiya)
06:02 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
I think everyone agrees this is too breaking (just look at how many call sites need to be changed in Rails and other gems),
and it's very easy to deprecate the old behavior by warning when passing `nil` in Ruby 2.7.
The only question...
Eregon (Benoit Daloze)
04:05 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
The detailed situation.
Rails and other libraries and codebases rely on `/regex/.match?(nil)` to return false. This change is making that method to raise an error in that situation.
Changing this behavior on Ruby 2.7 means that app...
rafaelfranca (Rafael França)
08:51 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
Thank you for the input. If you can provide a more detailed situation, it would be better.
Matz.
matz (Yukihiro Matsumoto)
03:44 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
+1 for deprecation too. My text editor had been broken by this change, and Vim was needed to fix it. shugo (Shugo Maeda)
02:46 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
+1 for deprecation. The removal is too harsh. shyouhei (Shyouhei Urabe)
02:41 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
I am 100% with Rafael here, this is a very risky change, Rails and Sprockets are only a couple of projects, there will be tons of stuff that will not be caught.
Why not deprecate this for now and then next release it can be removed?
sam.saffron (Sam Saffron)
04:14 PM Bug #16288: Segmentation fault with finalizers, threads
A little bit more data:
I added some more debugging statements, and I found that the main thread goes from being marked with the THREAD_KILLED status to THREAD_STOPPED_FOREVER
This appears to happen in thread_join_sleep in thread.c...
davidw (David Welton)
03:50 PM Bug #16286 (Closed): DateTime.parse timezone errors
jeremyevans0 (Jeremy Evans)
03:15 PM Revision e6f0fd8a (git): * 2019-11-02 [ci skip]
git[bot]
03:11 PM Revision ea979336 (git): Use prompt_list to calculate height by lines
aycabta (aycabta .)
01:56 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
Since returning a frozen string from Symbol#to_s [was reverted](https://bugs.ruby-lang.org/issues/16150#change-82420), it looks like this proposal is still relevant.
Is it realistic to wish for this in 2.7? The sooner the better imho.
Dan0042 (Daniel DeLorme)
01:26 PM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
> It leads a memory leak.
Theoretically, yes. Even if iseqs of caller or callee are free'd, the corresponding records are not free'd. But honestly I don't think it is worth elaborating the feature for some reasons:
(1) in practic...
mame (Yusuke Endoh)
07:03 AM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
It leads a memory leak.
And different warnings won't be suppressed too?
nobu (Nobuyoshi Nakada)
04:38 AM Feature #16289: Reduce duplicated warnings for the change of Ruby 3 keyword arguments
Definite +1 for me. I thought there was already an issue about this but looks I was mistaken. marcandre (Marc-Andre Lafortune)
03:29 AM Feature #16289 (Closed): Reduce duplicated warnings for the change of Ruby 3 keyword arguments
## Problem
Currently, the interpreter emits 200 lines of warnings against the following program.
```ruby
def foo(**opt); end
100.times { foo({kw:1}) }
```
```
$ ./miniruby -e 'def foo(**opt); end; 100.times { foo({kw:1}) }'
...
mame (Yusuke Endoh)
09:40 AM Revision 10c2a085 (git): Clean up implementation of SOCKSSocket, its confusing and undocumented
Justin McNally
09:39 AM Revision 68e0bfcd (git): Prefer libsocksd over libsocks
Justin McNally
09:39 AM Revision b8004103 (git): Support libsocksd socks library for SOCKSSocket
Justin McNally
09:37 AM Revision c56d8dea (git): Mention correct class name in uninitialized error
I think this meant to mention `MatchData`? This is a breaking change, but
should be a minor one.
alanwu (Alan Wu)
09:33 AM Revision cc8116b0 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
08:30 AM Revision 6abf4c48 (git): [ruby/date] Added update-zonetab target
https://github.com/ruby/date/commit/9bc6e30a82 nobu (Nobuyoshi Nakada)
08:30 AM Revision b2126d3f (git): [ruby/date] Remove unneeded line in update-abbr
https://github.com/ruby/date/commit/ae14e5f293 jeremyevans (Jeremy Evans)
08:30 AM Revision 46954530 (git): [ruby/date] Add more timezone abbreviations
This gets the time zone abbreviations from
https://www.timeanddate.com/time/zones/, and adds unambiguous time
zones not already present in zonetab.list. See bin/update-abbr
for the program used.
This regenerates zonetab.h using prereq....
jeremyevans (Jeremy Evans)
07:59 AM Revision 51825c04 (git): * 2019-11-01 [ci skip]
git[bot]
07:58 AM Revision 72f997ed (git): mark functions that do not return NULL as such.
Apply __attribute__((__returns_nonnull__)) when available. shyouhei (Shyouhei Urabe)
07:58 AM Revision f5e40632 (git): ruby_mimmalloc can return NULL
malloc can fail. Should treat such situations. shyouhei (Shyouhei Urabe)
07:58 AM Revision fb495b29 (git): rb_aligned_malloc can return NULL
Looking at gc.c, rb_aligned_malloc contains `return NULL;` so it
has to be taken care of. Note however that posix_memalign(3posix)
does _not_ set errno.
shyouhei (Shyouhei Urabe)
07:58 AM Revision 2c889e9b (git): RUBY_ATTR_ALOC_SIZE for clang
clang also supports __attribute__((__alloc_size__)) so why not use
it when the compiler says it does.
shyouhei (Shyouhei Urabe)
02:42 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
I can think of other cursed usages of private taking a block.
```ruby
class Foo
Bar = proc do
Baz = 1
def foo
Baz
end
end
end
class Bar
private(&Foo::Bar)
end
```
Should what happen?
- Possi...
shyouhei (Shyouhei Urabe)
01:54 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
Oh! Looks like I missed that part of the proposal! Now the `def o.hello; end` question makes a lot more sense. Sorry, Alan.
If we break this down a bit, this proposal can potentially set the visibility (within the block) for
1. ins...
Dan0042 (Daniel DeLorme)
 

Also available in: Atom