Activity
From 10/26/2019 to 11/01/2019
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... -
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 `??`... -
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... -
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 ... -
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? -
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... -
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... -
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... -
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'... -
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.
-
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... -
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?
-
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... -
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... -
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.
-
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.
-
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.
-
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? -
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... -
03:50 PM Bug #16286 (Closed): DateTime.parse timezone errors
- 03:15 PM Revision e6f0fd8a (git): * 2019-11-02 [ci skip]
-
03:11 PM Revision ea979336 (git): Use prompt_list to calculate height by lines
-
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. -
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... -
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? -
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.
-
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}) }'
... - 09:40 AM Revision 10c2a085 (git): Clean up implementation of SOCKSSocket, its confusing and undocumented
- 09:39 AM Revision 68e0bfcd (git): Prefer libsocksd over libsocks
- 09:39 AM Revision b8004103 (git): Support libsocksd socks library for SOCKSSocket
-
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. -
09:33 AM Revision cc8116b0 (git): Fix a typo [ci skip]
-
08:30 AM Revision 6abf4c48 (git): [ruby/date] Added update-zonetab target
- https://github.com/ruby/date/commit/9bc6e30a82
-
08:30 AM Revision b2126d3f (git): [ruby/date] Remove unneeded line in update-abbr
- https://github.com/ruby/date/commit/ae14e5f293
-
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.... - 07:59 AM Revision 51825c04 (git): * 2019-11-01 [ci skip]
-
07:58 AM Revision 72f997ed (git): mark functions that do not return NULL as such.
- Apply __attribute__((__returns_nonnull__)) when available.
-
07:58 AM Revision f5e40632 (git): ruby_mimmalloc can return NULL
- malloc can fail. Should treat such situations.
-
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. -
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. -
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... -
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...
10/31/2019
-
11:02 PM Bug #16288 (Closed): Segmentation fault with finalizers, threads
- Hi,
This is a tricky one and I am still working on narrowing it down, but I will report what I have so far.
I compiled a version of 2_6_6 from github: ruby 2.6.6p116 (2019-10-02 revision 67825) [x86_64-linux]
I have a minimal Ra... -
10:37 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
- I know this change is to make the code consistent but this is a backward incompatible change and I don't think it should be applied to Ruby 2.7 without deprecation. The fact that we need to change Rails and many other gems to make this w...
-
07:30 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- The extra complication comes from this part of the original proposal:
```ruby
private do
def self.some_private_class_method
puts "I'm also private - principle of least surprise"
end
end
```
This is different from the no... -
07:11 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- > There is no problem with fibers/threads currently, because the visibility is stored in the scope (not in the class itself). You stated `When the private method toggles the visibility state of the current class/module`, implying this w...
-
06:08 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- Dan0042 (Daniel DeLorme) wrote:
> Ok, but how is this different from the regular syntax? The exact same issue applies to this:
> ...
Are you sure? You can test this by using queues to synchronize:
```ruby
class A
end
Q1 = Queu... -
05:43 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- Ok, but how is this different from the regular syntax? The exact same issue applies to this:
```ruby
class A
end
Thread.new do
class A
def pub; end
end
end
class A
private
def priv; end
end
```
If there'... -
03:10 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- Dan0042 (Daniel DeLorme) wrote:
> Also I'd like to ask how fibers are relevant to this? When the `private` method toggles the visibility state of the current class/module, does that have anything to do with fibers?
```ruby
class A
... -
01:35 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- I don't see why all the opposition to this. It's a very simple, very intuitive and clear syntax. It fits well with the rest of ruby and the usage of blocks in general.
alanwu (Alan Wu) wrote:
> ```ruby
> ...
I think @adh1003 was pr... -
05:27 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
- adh1003 (Andrew Hodgkinson) wrote:
> duerst (Martin Dürst) wrote:
> ...
I'm not advocating any particular coding style. There are many coding styles that make it clear that `private` applies to a range of methods. There are not many ... -
05:03 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
- I have no strong opinion against this issue. In #7019, I just said that it was too late to introduce the feature into Ruby 2.0 because I was the release manager for 2.0.
I'm curious about Rails developers' opinion. I hear that they ... -
07:03 PM Bug #16286: DateTime.parse timezone errors
- shyouhei (Shyouhei Urabe) wrote:
> Curious where were those abbreviation from. According to `git log -G`, It was introduced in this commit https://github.com/ruby/ruby/commit/dc9cd6a8c22ad04baa7498fd0cbc5d519ed73be0 but no description ... -
02:25 AM Bug #16286: DateTime.parse timezone errors
- Curious where were those abbreviation from. According to `git log -G`, It was introduced in this commit https://github.com/ruby/ruby/commit/dc9cd6a8c22ad04baa7498fd0cbc5d519ed73be0 but no description came with it.
Maybe it's better t... -
12:46 AM Bug #16286 (Closed): DateTime.parse timezone errors
- Trying to parse a DateTime using Australian time zone abbreviations doesn't work:
```
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST')
=> #<DateTime: 2019-10-31T10:49:52+00:00 ((2458788j,38992s,364000000n),+0s,2299161j)>
# offse... -
07:02 PM Feature #10911: IPAddr.new should ignore zone identifiers
- Dan0042 (Daniel DeLorme) wrote:
> So "fe80::1%fxp0" is not even recognized as an IP address. This could result in unpleasantness in cases like this:
> ...
Good point. We would probably want to fix socket to support this before adding ... -
06:37 PM Feature #10911: IPAddr.new should ignore zone identifiers
- Looks like this testcase was in the original IPAddr commit from 2002:
```
commit 9ec0a96ad4235f2054976eab6c04efbe62b3c703
Author: knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Mon Dec 23 17:07:49 2002 +0000
* MANIFEST... -
04:23 PM Feature #10911: IPAddr.new should ignore zone identifiers
- I don't think this is a bug. The decision to not support zone identifiers seems deliberate as there are tests that using a zone identifier raises an exception:
```ruby
assert_raise(IPAddr::InvalidAddressError) { IPAddr.new("fe80::1%... -
05:38 PM Bug #16285 (Closed): Setting mtime to zero on Zlib::GzipWriter does nothing
-
05:12 PM Bug #14119: IPAddr#include? does not seem to support the subnet mask
- I'm not sure this is a bug, but it certainly seems like a bug to me. `IPAddr#include?` must consider the netmask of the receiver in order to work, for it not to consider the netmask of the argument seems wrong.
Attached is a patch th... -
04:51 PM Bug #11531: IPAddr#== implements wrong logic
- I am not sure whether this is a bug. `eql?` considers the netmask, but `==` does not. So if you want to consider the netmask, you can currently use `eql?`. Changing `==` to be the same as `eql?` could cause backwards compatibility issue...
-
01:47 PM Feature #16287: Proposal to add .second and .third in particular to class Array
- If I need such repeating accesses, I'll use `values_at` instead.
Probably, the word `first` is misleading.
If it were `head` or `lead`, the meaning would be clear.
-
12:23 PM Feature #16287 (Open): Proposal to add .second and .third in particular to class Array
- I meant to suggest this earlier, but then I think I did not; if I actually did, then please excuse my forgetfulness and
close the issue request here. I am very unorganized (also in reallife).
Anyway - I will be as short as possible h... -
01:24 PM Revision 63f70eb6 (git): [ruby/zlib] Removed no longer used variables
- https://github.com/ruby/zlib/commit/3e98e4cac3
-
01:23 PM Revision 0aaa15f6 (git): [ruby/zlib] Fix setting mtime to zero in GzipWriter
- Before this change, it was not possible to write out zero for the
timestamp part of a Gzip file's header, as calling GzipWriter#mtime with
zero was ignored.
Judging from the docs for `GzipWriter#mtime=`, it should be possible to
indicat... -
09:33 AM Bug #16284: Net/HTTP consuming multiple times more memory compared to other libraries
- Hey Yusuke, thanks for checking this out. I have tried this out on my friends machines and one of them has exactly the same results as I, but other has the results that are matching yours. All three of us are using MacBooks (although dif...
-
08:55 AM Bug #16281 (Closed): `irb -w` issues warning
- This is fixed by commit:d6ed7a984c8fd991ce2614d2f228239f8eb490b5. Thank you for reporting and patch!
-
08:51 AM Revision d6ed7a98 (git): Fix verbose warning being emitted
- Fixes Ruby Bug 16281.
-
08:11 AM Revision 5f6fbf87 (git): spec: Fix syntax errors
- Follow up of 473882e01f7e55753733e2607ace633b5041f11f
-
07:50 AM Revision 473882e0 (git): Skip tainted examples for stringio
-
07:24 AM Revision ebc88446 (git): [ruby/stringio] Remove taint support
- Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.
https://github.com/ruby/stringio/commit/60ee9ccd95 -
06:51 AM Revision 3895e548 (git): [ruby/date] Revert "Simplify #inspect"
- This reverts commit af01edd7d8575f544f647dbe8cde5b6ae535d459.
Revert requested by Yui Naruse.
https://github.com/ruby/date/commit/875d563557 - 06:51 AM Revision fce940aa (git): [ruby/date] introduce Date::Error, raise Date::Error for every
- "invalid <anything>" type of exception
https://github.com/ruby/date/commit/3e55c09ba4 -
06:41 AM Revision e4cd0d72 (git): [ruby/fileutils] Remove use of untaint on Ruby 2.7 to avoid deprecation warnings
- https://github.com/ruby/fileutils/commit/5ac9a8a1f7
-
06:34 AM Revision 39281d57 (git): [ruby/gdbm] Use Gemfile instead of Gem::Specification#add_development_dependency.
- https://github.com/ruby/gdbm/commit/bd2e7f6647
-
06:34 AM Revision b93ab7d6 (git): [ruby/gdbm] Remove taint support
- Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.
https://github.com/ruby/gdbm/commit/f9aaa1a08d -
06:34 AM Revision 290903db (git): [ruby/zlib] Remove taint support
- Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.
https://github.com/ruby/zlib/commit/21711ed0ce -
06:29 AM Feature #16272 (Closed): Update Unicode Emoji version to 12.1
- It turned out that for Ruby, the only thing that changed was that there are some more tests.
Implemented with https://github.com/ruby/ruby/commit/c54635c08b, NEWS updated with https://github.com/ruby/ruby/commit/bc7fbb6f02. -
06:19 AM Revision bc7fbb6f (git): Mention update to Unicode Emoji version 12.1 in NEWS.
- Also fixed some grammatical errors. [ci skip]
-
06:14 AM Misc #15843: Make "trunk" a symbolic-ref of "master" on git.ruby-lang.org
- For people who haven't yet switched from trunk to master, when you push, you'll get a message saying:
```
remote: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
remote: @ WARNING: THE TRUNK BRANCH OF RUBY.GIT IS DEPRE... -
04:23 AM Feature #6362: Modular exponentiation/inverse
- FYI:
* Modular exponentiation is implemented in Ruby 2.5 . https://ruby-doc.org/core/Integer.html#method-i-pow
* I created a patch gem to calculate a usual/modular multiplicative inverse. https://www.rubydoc.info/gems/numeric_inver... -
01:19 AM Revision c38ba757 (git): Fixed the sync task for json
- * Ignode to change ext/json/depend
* Fixed to ignore json_pure files -
01:05 AM Revision 79d96b42 (git): Revert "Fix zero free objects assertion"
- This reverts commit e1bf29314feee6aaf535917da0178e868e7ff3fa.
I'm not sure why this broke stuff, I need to investigate later. -
12:28 AM Revision e1bf2931 (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, ...
10/30/2019
-
11:39 PM Revision e08f2e47 (git): Also ignore mswin platform
-
11:39 PM Revision 8540efd3 (git): Ignore test_racc_command with linux platform
-
11:39 PM Revision 1c03026e (git): Try to run assert_output_unchanged with racc tests
-
11:11 PM Feature #16275: Revert `.:` syntax
- `.:` has special power in that one cannot change its semantics by redefining a
method. It other words, it's a fundamental operation in the language like
`class << object` and `def object.method_name; end`. I think a fundamental
operat... -
09:14 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- For the following:
```ruby
class Foo
private do
o = Object.new
def o.hello; end
end
end
```
Would `o.hello` be private? Also, I assume you want the visibility change to
be fiber local, to follow the principle of lea... -
08:04 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- adh1003 (Andrew Hodgkinson) wrote:
> There seems to be a general agreement that this proposed extension would be a good thing
I'm not seeing general agreement that this would be a good thing to add. In this ticket:
@shevegen : mo... -
07:08 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- shyouhei (Shyouhei Urabe) wrote:
> Yes, I agree we don't copy C++ / Java. What I wonder is _any_ other language who have such syntax. Swift? no. Python? no. TypeScript? no. AFAIK no one on this planet have such thing so far. It se... -
01:42 AM Feature #16276: For consideration: "private do...end" / "protected do...end"
- Yes, I agree we don't copy C++ / Java. What I wonder is _any_ other language who have such syntax. Swift? no. Python? no. TypeScript? no. AFAIK no one on this planet have such thing so far. It seems to me that IDEs are not the answer...
-
08:54 PM Feature #16131: Remove $SAFE, taint and trust
- Most of the pull requests to fix taint/$SAFE issues have been merged. These are the remaining ones that haven't been merged yet:
Bundled gems with external upstreams:
* rake: https://github.com/ruby/rake/pull/329 (Can one of the ... -
07:30 PM Feature #15123: Enumerable#compact proposal
- @matz: Its presence in Array and Hash make it more of a common interface that I could see being defined for Enumerable in general, though the immediate usecases are around Lazy. As mentioned above, sometimes one wants to use Enumerators ...
-
06:06 PM Bug #16285 (Closed): Setting mtime to zero on Zlib::GzipWriter does nothing
- Run the following script to observe the issue
```ruby
require 'zlib'
def write_gzip_file(content, mtime)
File.open('archieve.gz', 'w') do |f|
gz = Zlib::GzipWriter.new(f)
gz.mtime = mtime
gz.write(content)
gz.... - 03:38 PM Revision 5f8795a0 (git): * 2019-10-31 [ci skip]
-
03:37 PM Revision 4c7f789e (git): Allow only one argument for keyword_init struct
- ```
irb(main):001:0> RUBY_VERSION
=> "2.6.5"
irb(main):002:0> S = Struct.new(:foo, keyword_init: true)
=> S(keyword_init: true)
irb(main):003:0> S.new({foo: 23424}, 234) # I don't think this is intentional
=> #<struct S foo=23424>
irb(ma... -
02:10 PM Bug #16284: Net/HTTP consuming multiple times more memory compared to other libraries
- Thank you for the report. Unfortunately, I cannot reproduce the issue. The result on my Linux machine is completely opposite against yours.
```
$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
$ ruby t.rb EXC... -
12:14 PM Bug #16284 (Closed): Net/HTTP consuming multiple times more memory compared to other libraries
- I have an issue where Net/HTTP library is causing very high memory usage when requesting for medium to large sized content.
Here is the script to reproduce the issue:
```
gem 'excon'
require 'uri'
require 'net/http'
require ... -
12:36 PM Revision 6c3ed0d7 (git): Update the latest versions from upstream repository of racc
-
12:02 PM Revision e6d611ad (git): Regenerate the output results for test fixtures of racc
-
12:00 PM Revision d3272fcb (git): Update the latest structure for racc upstream
-
07:27 AM Bug #16283: A fork in transaction of PG cause Segmentation fault
- FYI:
```
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.5
BuildVersion: 18F132
``` -
02:46 AM Feature #16122: Data: simple immutable value object
- zverok (Victor Shepelev) wrote:
> So, considering all the points above, it could be either _multiple_ settings: `immutable: true, enumerable: false, hash_accessors: false`
I think that's a great idea. That way it's possible for every...
10/29/2019
-
11:25 PM Revision c54635c0 (git): Update Unicode Emoji version from 12.0 to 12.1.
- This update does not add any new codepoint assignments, it just
expands the range of emoji codepoint sequences recommended for
public interchange.
Depending on how emoji data files are cached, this commit may
require manual intervention... -
09:51 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- Eregon (Benoit Daloze) wrote:
> Also worth noting that `private def` actually defines two methods, one public and then a copy of it as private, overriding the public one in the method table.
I don't think this is true. `private :met... -
09:17 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- I kind of like this idea as it would make it clear which methods are private by indentation.
`private` alone is indeed hard to notice as soon as there are a few methods in the class.
OTOH, using this to change a method from private t... -
08:38 PM Feature #16276: For consideration: "private do...end" / "protected do...end"
- shevegen (Robert A. Heiler) wrote:
> > As noted in the pseudocode above, we can clean up some of the issues around
> ...
Agree with all you said and appreciate the detailed feedback - but on this, and in many ways on the use of `send... -
06:28 PM Bug #16283 (Third Party's Issue): A fork in transaction of PG cause Segmentation fault
- This looks like the Mac OS getaddrinfo bug. See the part of the C-level backtrace before the crash:
```
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1d) [0x7fff7cbf8b5d]
/usr/lib/system/libsystem_trace.dylib(_os_log_preferen... -
09:42 AM Bug #16283: A fork in transaction of PG cause Segmentation fault
- Pretty sure that's the OSX specific bug that got fixed in 2.6.4 or 2.6.5 (This one IIRC but I might be wrong https://bugs.ruby-lang.org/issues/15887).
Can you try with 2.6.5 ? -
03:55 AM Bug #16283 (Third Party's Issue): A fork in transaction of PG cause Segmentation fault
- Call Kernel#fork in transaction of Postgres and call some Socket method in fork's block, then ruby on the child process abort with segmentation fault.
Conceptual code:
```
MGModel.connection.transaction do
# Do something
... - 03:14 PM Revision 92c13380 (git): * 2019-10-30 [ci skip]
-
03:13 PM Revision 22dbbbeb (git): Compacting the heap can cause GC, so disable it
- When we compact the heap, various st tables are updated, particularly
the table that contains the object id map. Updating an st table can
cause a GC to occur, and we need to prevent any GC from happening while
moving or updating referen... -
01:40 PM Revision fee5cde0 (git): Fix tests for CVE-2018-6914
- Since the current working directory is not involved in `Tempfile`
and `Dir.mktmpdir` (except for the last resort), it is incorrect
to derive the traversal path from it. Also, since the rubyspec
temporary directory is created under the b... -
11:05 AM Feature #16275: Revert `.:` syntax
- Jeremy – I’m sorry for the overreach in that clumsy wording. Let me rephrase: what I saw here was a fair number of comments supporting the removal of an already-implemented feature of 2.7 that I felt had good potential and that I was per...
-
07:38 AM Revision ad4da866 (git): Check for nonnull attribute in configure
-
07:05 AM Revision 9195ed18 (git): Revert "Check for nonnull attribute in configure"
- This reverts commit 54eb51d72bc43f90b595f0d7ffb5069ebf1a56d9.
Windows build failure. See also https://github.com/ruby/ruby/runs/278718805 -
05:40 AM Revision 7bf51ced (git): test/rubygems/test_gem.rb: early failure when there is /tmp/Gemfile
- Some test cases in rubygems assume that /tmp/Gemfile does not exist.
If it does, they fail with very difficult-to-understand message:
```
[ 149/2108] TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler = 0.00
1... -
04:16 AM Revision 79a7fd91 (git): Revert "Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest""
- This reverts commit ca5812fe4516a10cc687281f9e47e1a08449f1ab.
Now tool/lib/minitest provides "omit", so it should work. -
04:15 AM Revision 1820aeee (git): tool/lib/minitest/unit.rb: add "omit" as an alias to "skip"
- According to rdoc, test-unit provides omit instead of skip.
This is a compatibility layer to make it work with both test-unit and
tool/lib/minitest. -
03:57 AM Revision ca5812fe (git): Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest"
- This reverts commit b4da6fc1c277190bbd10e795ebf3be45772038e8.
`make test-all` uses minitest, which led to "undefined method `omit'" -
03:34 AM Revision 9525541d (git): [ruby/rdoc] Use Dir.glob to convert short path of Dir.tmpdir to long path
- https://github.com/ruby/rdoc/commit/ba16e44572
-
03:34 AM Revision c8ce37d4 (git): [ruby/rdoc] Support different drive latters in include paths
- https://github.com/ruby/rdoc/commit/946d2592e2
-
03:34 AM Revision b4da6fc1 (git): [ruby/rdoc] Use omit of test-unit instead of skip of minitest
- https://github.com/ruby/rdoc/commit/1c5bf2ae1d
-
03:12 AM Revision 54eb51d7 (git): Check for nonnull attribute in configure
-
03:07 AM Revision b86e5c9f (git): Clang can also use C call cache
- Previously this was restricted to only gcc because of the
GCC_VERSION_SINCE check (which explicitly excludes clang).
GCC 3.3.0 is quite old so I feel relatively safe assuming that all
reasonable versions of clang support this. -
02:32 AM Revision 85b88c1d (git): Let the arrays for the singleton and instance method reflection helpers be initialized to the methods count
-
02:32 AM Revision fecaa6e9 (git): Let the backtrace array constructed in backtrace_collect be initialized with the size already given
-
02:31 AM Revision 00953629 (git): Right size the vm_default_params hash
-
02:31 AM Revision 0e68913f (git): Right size the Enumerator internal lazy_use_super_method hash
-
02:31 AM Revision 4480d689 (git): Right size the compile option hash
-
02:30 AM Revision 65744fb1 (git): Right size the iseq coverage branches tmp array - initializes with 5 elements
-
01:35 AM Revision 05476277 (git): Version 0.0.4
-
12:01 AM Feature #16282: Add "call data" wrapper IMEMO object so inline cache can be updated
- Actually, I think this makes performance worse because it removes the "define". So there will be only one. I will fix it to maintain the macro.
10/28/2019
-
11:58 PM Revision b4229c0a (git): Restore `in_kwarg` flag properly
-
11:26 PM Feature #16282 (Open): Add "call data" wrapper IMEMO object so inline cache can be updated
- Hi,
Currently the compactor will invalidate all inline caches. I would like to update references in inline caches so we don't have to invalidate. Most inline caches are reachable from instruction sequences, but one cache is not:
... -
11:14 PM Revision da3774e5 (git): Revert "Protect finalizer references during execution"
- This reverts commit 60a7f9f446604571f8a81499080c57c47baf0e6b.
We can't have Ruby objects pointing at T_ZOMBIE objects otherwise we get
an error in the GC. We need to find a different way to update
references. -
09:50 PM Revision 60a7f9f4 (git): Protect finalizer references during execution
- When we run finalizers we have to copy all of the finalizers to a new
data structure because a finalizer could add another finalizer and we
need to keep draining the "real" finalizer table until it's empty.
We don't want Ruby programs to... -
08:09 PM Revision 6147fa82 (git): Fix continuation mark / compact
-
07:15 PM Revision bbf3de22 (git): Pin labels during disassembly
- We need to ensure that labels are pinned while disassembling. If the
compactor runs during disassembly, references to these labels could go
bad, so this commit just ensures that the labels can't move until we're
done. -
06:47 PM Revision 339a891c (git): Pin keys of this st_table
- 06:19 PM Revision a51583b6 (git): * 2019-10-29 [ci skip]
-
06:18 PM Revision aec16b75 (git): Marshal is calling functions that should pin things
-
01:05 PM Revision 6e0b40af (git): Try out-of-place build
-
12:59 PM Feature #16029: Expose fstring related APIs to C-extensions
- > What about rb_str_fstring_lookup and rb_str_fstring_lookup_enc?
I don't think a lookup would be enough for what I'd like to do.
A typical use case would be a JSON document with lots of duplicated strings.
If we only lookup t... -
10:14 AM Revision 48f982ab (git): test-bundled-gems.rb: fixed for out-of-place build
-
09:15 AM Revision 07b5fec0 (git): Clean mjit and timestamp directories
-
07:53 AM Revision 3e83f1f0 (git): Add more matrix info to slack payload
-
05:38 AM Revision cc5580f1 (git): fix bug in keyword + protected combination
- Test included for the situation formerly was not working.
- 03:20 AM Revision a72cb6b1 (git): * 2019-10-28 [ci skip]
-
03:19 AM Revision d8d581bf (git): add assertion for mutex_lock.
- After do_mutex_lock(mutex), the mutex should be owned by the current
thread. Adding an assertion for this assumption.
10/27/2019
-
11:09 PM Bug #15834: Mutating the result of SortedSet.to_a mutates the original set, potentially violating the set's guarantees
- Attached is a patch with a test for fixing this.
-
10:38 PM Bug #14325 (Closed): Set#reset raise RuntimeError instead of FrozenError
- Fixed in commit:afd68cd87114fb49158462f1594cacfd2b765e9b.
-
10:32 PM Bug #16187 (Closed): Hash#replace no longer rehashes keys for small (array table) hashes
-
10:30 PM Bug #16281: `irb -w` issues warning
- Pull request submitted to fix this: https://github.com/ruby/reline/pull/62
-
08:41 PM Bug #16278: Potential memory leak when an hash is used as a key for another hash
- Thanks both @jeremyevans0 @alanwu for the rich and clear explanations!
-
11:19 AM Revision 85d966af (git): Add ubuntu-16.04 to matrix of GitHub Actions
-
10:45 AM Feature #14145: Proposal: Better Method#inspect
- This PR provides method parameters inspect: https://github.com/ruby/ruby/pull/2618
Implementation is most probably not optimal (to say the least), I am ready to fix it by comments. At least the tests and implementation should handle all... -
10:41 AM Misc #16188: What are the performance implications of the new keyword arguments in 2.7 and 3.0?
- I want to expand on my semantics concern, for the performance concern I should get some numbers first.
jeremyevans0 (Jeremy Evans) wrote:
> Technically, `**hash` automatically converts a positional hash to keywords. So I definitely ... -
09:57 AM Revision 417369e0 (git): Improve Enumerator.produce docs
- * Add to NEWS;
* Add examples of while-alike cycles with practical tasks. -
01:41 AM Revision aba23d83 (git): Fix documentation for Fiber#transfer [ci skip]
- Fiber#transfer prevents calling Fiber#resume on the receiver of the
transfer method, not the fiber calling transfer.
Transfering back to a fiber does not allow later calling resume on
the fiber. Once transfer has been called on a fiber...
10/26/2019
-
08:33 PM Revision 4fe89e08 (git): Add entry for Feature #13083 in NEWS
- * Move Unicode changes under String / Unicode for consistency with the rest.
-
08:23 PM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
- There are PRs to fix those: https://github.com/rails/rails/pull/37504
-
06:53 PM Revision 664e96b1 (git): Update to ruby/spec@28a728b
-
06:52 PM Revision 3eb0d50c (git): Update to ruby/mspec@e171725
- 05:24 PM Revision 9c5a9623 (git): * 2019-10-27 [ci skip]
-
05:24 PM Revision 62212482 (git): Improve Net::HTTP docs:
- * Make links from Net::GenericHTTPRequest work;
* Document +dest+ param of HTTPResponse#read_body;
* Slightly improve reference to particular response
classes from HTTPResponse class docs. -
05:24 PM Revision f93cb690 (git): OptionParser: document into: argument
-
05:24 PM Revision a24bff46 (git): open-uri: change global docs to reflect that URI.open syntax is preferred
-
05:24 PM Revision de147bb7 (git): Net::FTP: fix formatting problems for #status method
-
05:24 PM Revision 4fe06f46 (git): IRB: Document command evaluation history.
-
05:24 PM Revision 2746fd5d (git): Update StringIO docs:
- * More explanations/examples in class docs;
* Fix links to other methods (remove -
05:24 PM Revision f6f1377a (git): Update ERB docs
- * Actualize Notes about other templating engines;
* Document #location= method. -
04:31 PM Bug #16278: Potential memory leak when an hash is used as a key for another hash
- The GC scans the native stack for Ruby's C code to find values to retain.
Pointers to Ruby's heap objects can end up on the native stack for a variety
of reasons, and this is mostly up to the C compiler. Whether a pointer ends up
on t... -
03:23 PM Bug #16278 (Rejected): Potential memory leak when an hash is used as a key for another hash
- cristiangreco (Cristian Greco) wrote:
> Hi Jeremy, thanks for these details!
> ...
It is eventually collected when Ruby's GC can no longer find a reference to it. The reason it may be retained even though there is no direct reference ... -
12:44 PM Bug #16278: Potential memory leak when an hash is used as a key for another hash
- Hi Jeremy, thanks for these details!
I don’t know the details of ruby’s GC, seems to me it might behave unpredictably sometimes. I guess what confuses me now is that although that object is retained we don’t observe unbounded memory g... -
04:13 AM Bug #16278: Potential memory leak when an hash is used as a key for another hash
- Adding this method and calling it after `create` clears the output.
```ruby
def garbage
h1 = h2 = h3 = h4 = h5 = h6 = h7 = h8 = h9 = h10 = nil
end
```
So a “shadow” seems staying on the VM stack. -
02:21 AM Bug #16278: Potential memory leak when an hash is used as a key for another hash
- Here's a modified version of your script, fixing the issue where `$id_h4 = h3.object_id`, and showing the actual contents of the objects found with those ids:
```ruby
require 'objspace'
class Klass; end
def create
h1 = { :a ... -
12:42 PM Misc #16262: DevelopersMeeting20191128Japan
- (Sorry for being over-active. On the bright side, it could be a final bunch from me)
Carry-over from tickets with feedback:
* [Feature #16122] `Struct::Value`: simple immutable value object. First version of the proposal was not clea... -
12:09 PM Feature #16275: Revert `.:` syntax
- > with several core team members agreeing on this
At the end of the day you only need to find pro/con arguments for matz. :)
Once a syntax is picked, though, it may be mutually exclusive to other syntax
and follow-up ideas buildin... -
07:17 AM Feature #16275: Revert `.:` syntax
- zverok (Victor Shepelev) wrote:
> OK, with several core team members agreeing on this (and even PR prepared), I believe this is already a lost cause, but I'd still like to put some perspective here, if just for reference and future disc... -
07:02 AM Feature #16275: Revert `.:` syntax
- timriley (Tim Riley) wrote:
> I’m opposed to this reversion. I was looking forward to using `.:` in 2.7. I felt I should say this as a representative of perhaps a “silent majority” of Ruby users.
If you think your opinion represents... -
02:44 AM Feature #16275: Revert `.:` syntax
- matz (Yukihiro Matsumoto) wrote:
> I am for adding syntax sugar for method reference. But I don't like proposed syntax (e.g. ->).
> ...
So clearly the syntax sugar for method reference is something that we *will* have. Eventually if no... -
11:54 AM Bug #15528: Bundler stdlib is not documented
- https://github.com/bundler/bundler/pull/7394
-
09:09 AM Bug #8855: {Single}Forwardable#def_delegators が、Stringでメソッド名を渡された時だけ __id__ と __send__ が取り除かれる
- merged into ruby core at d00551a7bb1d5dbabb0a8c95d6bd2d9d4e86934a
-
07:27 AM Revision ad9c7137 (git): Make `(#methodname)` a link with --hyperlink-all option
-
06:48 AM Revision d70fdeed (git): Make `(#methodname)` a link
-
06:35 AM Revision 5aacb304 (git): refactor assign variables
- For readability. Requested by ko1.
See: https://github.com/ruby/ruby/commit/356e203a3acd4d3d20ba12f956fd22e17b6363e9#r35661401 -
05:58 AM Revision bddb31bb (git): Documentation improvements for Ruby core
- * Top-level `return`;
* Documentation for comments syntax;
* `rescue` inside blocks;
* Enhance `Object#to_enum` docs;
* Make `chomp:` option more obvious for `String#each_line` and
`#lines`;
* Enhance `Proc#>>` and `#<<` docs;
* Enhanc... -
03:52 AM Revision cf934413 (git): Raise on end-exclusive ranges [Feature #14784]
- Raises an error on end-exclusive ranges unless endless, regardless
the receiver. -
12:26 AM Revision f14b7541 (git): [ruby/forwardable] Use Gemfile instead of Gem::Specification#add_development_dependency.
- https://github.com/ruby/forwardable/commit/1e7123a81b
-
12:25 AM Revision f625a4be (git): [ruby/forwardable] Fix NoMethodError on ruby 2.4 or earlier
- https://github.com/ruby/forwardable/runs/242918994#step:5:12
```
Error: test_obj_single_delegators_send_id(TestForwardable): NoMethodError: private method `attr_reader' called for #<Class:#<Object:0x00005605af501f58>>
```
https://github... -
12:25 AM Revision 00989770 (git): [ruby/forwardable] Remove string allocation in def_{instance,single}_delegators
- https://github.com/ruby/forwardable/commit/1a994c90e1
-
12:25 AM Revision d00551a7 (git): [ruby/forwardable] Make def_{instance,single}_delegators skip :__send__ and :__id__
- Previously, __send__ and __id__ were skipped if provided as strings,
but not skipped if provided as symbols.
Fixes Ruby Bug 8855.
https://github.com/ruby/forwardable/commit/2e61c8c66c -
12:25 AM Revision b15e0983 (git): [ruby/forwardable] Update spec.files
- https://github.com/ruby/forwardable/commit/1b6991e589
-
12:24 AM Revision b25ab383 (git): [ruby/forwardable] Extracted VERSION constant for gemspec
- https://github.com/ruby/forwardable/commit/387758d45a