Activity
From 12/25/2020 to 12/31/2020
12/31/2020
-
10:55 PM Revision 3d7f7180 (git): Remove unused file
-
10:47 PM Feature #17496: Add constant Math::TAU
- From that post 3 years ago.
> For the time being, use math-tau gem.
> ...
Well, Python3 added it, so when do you (empirically?, subjectively?) establish it's become ``time-proven``?
How many other language adoptions does it take (oh bt... -
10:18 PM Feature #17496: Add constant Math::TAU
- Relevant context is probably Matz's reason for rejection and criteria for reconsidering.
https://bugs.ruby-lang.org/issues/4897#note-41 -
10:16 PM Feature #17496: Add constant Math::TAU
- Well, I guess this regresses to a philosophical|religious issue, it's obviously not technical. :-(
But how can adding ``TAU`` in anyway hurt Ruby?
A short list of languages I know of which now include ``TAU``:
D
C# (.NET)
F#
Nim
Zig
Ru... -
09:13 PM Feature #17496 (Rejected): Add constant Math::TAU
- jzakiya (Jabari Zakiya) wrote:
> Excuse me if this has been brought up before.
It has been brought up before, by you in #13694, which was itself a duplicate of #4897. I'm rejecting this as a duplicate. However, if you think circumst... -
07:27 PM Feature #17496 (Open): Add constant Math::TAU
- Excuse me if this has been brought up before.
This is a simple proposal to add the math constant ``Math::TAU`` = 2*``Math::PI``.
See: https://tauday.com/
``TAU`` has been included in a growing number of languages (Rust, Python3,... -
09:48 PM Bug #17497 (Closed): Ractor performance issue
- There's a strange performance issue with Ractor (at least on MacOS, didn't run on other OS).
I ran a benchmark doing 3 different types of work:
* "fib": method calls (naive fibonacci calculation)
* "cpu": `(0...1000).inject(:+)`
* ... -
04:18 PM Bug #17495 (Closed): Make args info for RubyVM::AST to available on endless method without parens
Problem
===
Arguments information is missing for endless method without parens.
For example:
```ruby
# ok
pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2]
def x() = 42
RUBY
# => (DEFN@1:0-1:12
# mid: :x
# ...- 03:58 PM Revision 48cf548b (git): * 2021-01-01 [ci skip]
-
03:54 PM Revision 37e2a67a (git): Method ID of call and fcall can be const not only ident
-
02:18 PM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
- Thanks for the comment.
A patch is attached to solve the problem. -
08:37 AM Bug #17491 (Feedback): `./configure' unsuccessful on Android NDK cross-build
- Currently, Ruby does not support Android officially. A patch is welcome.
I'm experimentally maintaining a CI on Android/Termux (http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/recent.html), and it is only a test environmen... -
11:47 AM Bug #17494 (Closed): ruby is hanged when using activesupport + rspec + rspec-parameterized
- # Example code
## Gemfile
```ruby
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "activesupport", "6.1.0"
gem "rspec", "3.10.0"
gem "rspe... -
09:34 AM Revision d0693391 (git): merge revision(s) ed549f80b645aafd62376f65c3a27b66bafa2a38,eff0c5bf2ad47d10a440c5211be5eddb3bbf4028,f6b6a7ad345c50eeb3f7206ceabdf41ba94b7d85,5b48686691c2443d8d7113e593494c4d9302da0e,2af4c1fc5b19fc96203c2d7e917e689510d3527e,c9213aa864fb8527388679c21f1ea8ce129e2f1a,224f29c8e92094af10bc666c474b81a3545d6adf:
- spec/ruby/core/process/clock_getres_spec.rb: skip on Android
in the same way as FreeBSD and OpenBSD.
I guess that the spec makes too strong assumption.
Try to avoid random failures on clock_getres_spec.rb
... -
09:22 AM Feature #17473: Make Pathname to embedded class of Ruby
- hsbt (Hiroshi SHIBATA) wrote in #note-9:
> I'm not sure how embedded pure-Ruby implementation to core classes. The above request is the different request.
I support making Pathname part of core Ruby. It's an extremely convenient li... -
12:01 AM Feature #17473: Make Pathname to embedded class of Ruby
- >Then, we could share more of Pathname between Ruby implementations, and avoid maintaining both a Ruby and C version.
I'm not sure how embedded pure-Ruby implementation to core classes. The above request is the different request. -
08:25 AM Revision 18ea81fd (git): get_tmopt is no longer used
-
08:25 AM Revision 77e7082e (git): Moved Time.at to builtin
-
08:25 AM Revision 9101597d (git): Moved Time.now to builtin
-
08:23 AM Revision 93735f8f (git): Moved time.rb to timev.rb
-
08:05 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- I'm +1 to rename it.
-
07:47 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- > If we'd consider RubyVM is CRuby-specific, then it seems fine.
> ...
Didn't you clarify it by yourself at [Feature #15743]? The person who wrote the line that nobu quoted was you. You made it pretty clear that `RubyVM::MJIT` doesn't ne... -
06:40 AM Bug #17358: Backport 1ca9facab6c85264168b4c0a18c24f489cabcc9f
- ruby_2_7 5cbba4d6005a03914fc47e7a65ae5b6ef76c8e29 merged revision(s) 1ca9facab6c85264168b4c0a18c24f489cabcc9f.
-
06:40 AM Revision 5cbba4d6 (git): merge revision(s) 1ca9facab6c85264168b4c0a18c24f489cabcc9f: [Backport #17358]
- Add monitor to document files
-
06:39 AM Bug #17275: Please backport 8b0dc77a621ded75f72486c33f55404ce73f00d7
- ruby_2_7 9eff912943a71745087ea4ae892774e33bd2e8ca merged revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7.
-
06:39 AM Revision 9eff9129 (git): merge revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7: [Backport #17275]
- configure.ac: Bump the size of sigaltstack
The RubyVM uses C macro defines to feature detect whether
`backtrace(2)` support is available, and if so it includes C level backtraces
when the RubyVM itself crashes.
... -
06:37 AM Bug #15178: Wrong paramaters passing to pthread_setname_np(3)
- ruby_2_7 16930b254b4e5397759d6b42845b495041b71321 merged revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd.
-
06:37 AM Revision 16930b25 (git): merge revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd: [Backport #15178]
- Fix pthread_setname_np arguments on NetBSD
The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order instead of just fixing the quote escaping.
From Takahir... -
06:32 AM Feature #16378: Support leading arguments together with ...
- Thank you for ping me. I backported f8b4340f into ruby_2_7 at 27fca66207f2c35f2f44f6a7cbbe6fd153546082.
-
06:30 AM Bug #17493 (Closed): Calling Reline::Unicode.calculate_width appears to lock up when called from emacs or if output is redirected
- In https://github.com/ruby/reline/pull/224 there is a test program
```
require "reline"
p Reline::Unicode.calculate_width("√")
```
as a test case for bug #17405. This program hangs when called from an emacs shell.
The prob... -
06:19 AM Revision 27fca662 (git): Add leading arguments support to arguments forwarding
- Implements [Feature #16378]
-
06:19 AM Revision d5fb51d2 (git): Add time.rb as builtin
-
06:11 AM Revision 0fbf4d03 (git): Access to reserved word parameter like as `__builtin.arg!(:if)`
-
06:10 AM Revision e249f37f (git): merge revision(s) 45fd4436ee146f95487b1575c5a2df5cf77f4717:
- Use $GITHUB_ENV instead of set-env
https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ -
06:05 AM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- shyouhei (Shyouhei Urabe) wrote in #note-4:
> Hello, I cannot reproduce this on any of `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` compiled using {clang-{3,4,5,6,7,8,9,10,11,12),gcc-{4,5,6,7,8,9,10}} on my Linux box. ... -
03:13 AM Bug #17488 (Closed): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Applied in changeset commit:git|20a8425aa0f9a947e72b06cbd3a2afe9674dd18f.
----------
Make any hash values fixable [Bug #17488]
As hnum is an unsigned st_index_t, the result of RSHIFT may not be
in the fixable range.
Co-authored-by: Ne... -
03:30 AM Revision 62450e0a (git): Fixed missing NORETURN on rb_mod_const_missing
-
03:23 AM Revision 4b4dc0fa (git): Defined RBIMPL_ATTR_DEPRECATED_INTERNAL
- Get rid of duplicate attributes, which may be warned or ignored
except for the first. -
03:11 AM Revision 20a8425a (git): Make any hash values fixable [Bug #17488]
- As hnum is an unsigned st_index_t, the result of RSHIFT may not be
in the fixable range.
Co-authored-by: NeoCat <[email protected]> -
01:14 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- Sorry not to have checked back recently. The patch mentioned above works great for me.
I doubt if this is required now but here it is:
irb(main):001:0> irb_info
=>
Ruby version: 2.7.2
IRB version: irb 1.2.6 (2020-09-14)
InputMeth...
12/30/2020
-
11:59 PM Bug #17492 (Closed): Breakpoints in debug.rb only work when program invoked with absolute filename
- When using the debugger, as in ruby -r debug, it seems that breakpoints sometimes are honoured and sometimes not. It turns out that it matters how the program is invoked.
For example, when debugging test.rb,
if invoked as
ruby -... -
11:46 PM Bug #17486: Build fails on darwin due to libtool being removed
- I tried the following on a Macbook Pro with Catalina and the error was still present.
```
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
$ sudo xcode-select -s /Library/Developer/CommandLineTools
```
-
11:46 PM Bug #17486: Build fails on darwin due to libtool being removed
- FYI: https://github.com/rbenv/ruby-build/issues/1505#issuecomment-752274233
-
11:28 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- Thanks for the followup on this issue. However, was the fix ever released?
I can still reproduce this issue on the following ruby versions, using the grpc gem at version 1.34.0:
```
$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 6... -
10:59 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- Eregon (Benoit Daloze) wrote in #note-2:
> If we'd consider RubyVM is CRuby-specific, then it seems fine.
Yes.
commit:39a43d9cd09f
```
/*
* Document-class: RubyVM
*
* The RubyVM module only exists on MRI. +RubyVM+ is... -
03:04 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- If we'd consider RubyVM is CRuby-specific, then it seems fine.
However, that's rather unclear, and then the question is what should other Ruby implementations should do `RubyVM::MJIT` and its methods?
(other Ruby implementations might ... -
05:45 AM Feature #17490 (Closed): Rename RubyVM::MJIT to RubyVM::JIT
- ## Background
These days it's sometimes said that CRuby may add another lightweight JIT. Leaving `RubyVM::MJIT` under such a situation might imply `RubyVM::MJIT` will not impact the future JIT, but I think `MJIT.pause`/`MJIT.resume` sho... -
09:24 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- I have confirmed this too in `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` built with `gcc (Debian 8.3.0-6) 8.3.0`.
And also confirmed that this PR fixes the issue:
https://github.com/ruby/ruby/pull/4014 -
04:18 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- On my mac pro (High Sierra) too:
```
$ clang --version
Apple LLVM version 10.0.0 (clang-1000.11.45.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Volumes/Media/Applications/Xcode.app/Contents/Developer/To... -
04:14 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- shyouhei (Shyouhei Urabe) wrote in #note-4:
> Also I want to know your `clang --version`.
```
$ clang --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: ... -
03:42 PM Bug #17488 (Feedback): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Hello, I cannot reproduce this on any of `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` compiled using {clang-{3,4,5,6,7,8,9,10,11,12),gcc-{4,5,6,7,8,9,10}} on my Linux box. Maybe an XCode glitch I suspect?
I have jus... -
08:38 PM Feature #17475 (Rejected): Implement arguments forwarding for blocks
-
06:46 PM Feature #17475: Implement arguments forwarding for blocks
- Found it, duplicate of rejected #16605. Sorry for the noise, can be closed/rejected.
-
08:26 PM Bug #17491 (Closed): `./configure' unsuccessful on Android NDK cross-build
- We have no such command as `getprop` in our Android NDK cross-build environment, and so `./configure` says
```
checking whether it is Android... yes
checking for Android API version... ./configure: line 9108: getprop: command not foun... - 05:19 PM Revision b2030d4d (git): * 2020-12-31 [ci skip]
- 05:05 PM Revision a8014dae (git): [ruby/bigdecimal] Refactor object allocation
- https://github.com/ruby/bigdecimal/commit/271cebe567
- 05:04 PM Revision 4569e465 (git): [ruby/bigdecimal] Remove ToValue
- https://github.com/ruby/bigdecimal/commit/97e9feeebd
-
03:10 PM Feature #17473: Make Pathname to embedded class of Ruby
- shyouhei (Shyouhei Urabe) wrote in #note-7:
> JFYI pathname was born as a pure-ruby library, then was eventually translated into C (in commit:4bf3cb5ba9c0242bd5a6d0d55b7db9f837c09edf). Don't know the reason behind that move though. @a... -
03:05 PM Feature #17473: Make Pathname to embedded class of Ruby
- JFYI pathname was born as a pure-ruby library, then was eventually translated into C (in commit:4bf3cb5ba9c0242bd5a6d0d55b7db9f837c09edf). Don't know the reason behind that move though. @akr do you remember?
-
02:11 PM Revision 0284e7ca (git): Replaced deprecation macros
- * DECLARE_DEPRECATED_FEATURE with RBIMPL_ATTR_DEPRECATED_SINCE
* DECLARE_DEPRECATED_INTERNAL_FEATURE with RBIMPL_ATTR_INTERNAL
And moved function declarations outside both. -
07:42 AM Feature #17316: On memoization
- IMO there should be an operator in the language directly to keep it more dry.
```ruby
def my_method # current implementation
return @cache if defined? @cache
@cache = some_heavy_calculation
end
def my_new_method
@cac... -
07:01 AM Revision ac2df891 (git): Stop managing valid class serials
- `mjit_valid_class_serial_p` has no longer been used since b9007b6c548.
- 06:25 AM Revision 11b8bb99 (git): Minor grammar fix in String#chomp documentation
-
06:02 AM Revision 15c129d0 (git): Try increasing SMTP's read_timeout for --jit-wait
- for random hangs like:
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302796
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302188
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3301293 -
05:49 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Feature #16806] `Struct#initialize` accepts keyword arguments too by default (k0kubun)
* Is there any update on kwargs since [the last discussion](https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20200514Japan.md... -
04:06 AM Revision 8e231ffa (git): Increase timeout for reline with --jit-wait
- for failures like:
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-130509
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-165132
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201228-015519
12/29/2020
-
08:49 PM Feature #16746: Endless method definition
- I haven't seen it mentioned in the comments so I just wanted to point out that the regular method-definition syntax doesn't require semicolons, and is very close to this experiment, given the parentheses are mandatory:
``` ruby
def fib(... -
08:34 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- I believe that `HashWithIndifferentAccess` is one of the very false ideas in Rails -- and that as of today, it is a more or less common understanding in the community.
The distinction of Symbol (as a controlled internal name) and Str... - 03:46 PM Revision c550b75c (git): * 2020-12-30 [ci skip]
-
03:23 PM Feature #17471: send_if method for improved conditional chaining
- osyo (manga osyo) wrote in #note-1:
```ruby
puts number.tap { break _1 * 2 if _1 > 5 }.send(:-, 1)
puts %w(Merry Christmas).tap { break _1.map(&:upcase) if answer == 'y' }.join(' ')
```
Hello and thanks for sharing this Ruby idiom... - 03:22 PM Revision 8d93c1e7 (git): [ruby/bigdecimal] Remove VP_EXCEPTION_MEMORY
- It is no longer used due to the previous commit.
https://github.com/ruby/bigdecimal/commit/7d463f802b - 03:22 PM Revision 086f3f18 (git): [ruby/bigdecimal] Remove needless pointer checks
- xmalloc and xrealloc return non-NULL pointers or raise memory error.
https://github.com/ruby/bigdecimal/commit/507f0a6a64 -
12:12 PM Revision f6256d8b (git): bisect.sh: Apply bisect.patch if exists [ci skip]
- For some external reasons, e.g. Bison 3.5.91, some commits need to
be applied retroactively in order to pass builds. -
12:00 PM Revision b7163c71 (git): Canonicalization functions were removed already
- At b958e2add835d62c0a62edaf9a23ecbbd70a3635
-
09:12 AM Bug #17477: Ractor and pp incompatibility
- marcandre (Marc-Andre Lafortune) wrote in #note-4:
> I wrote a similar opinion to Martin Dürst's in #17420. I propose that we comment there (simply because the issue is older and more general)
Thanks, I wasn't aware of #17420. Should... -
08:50 AM Revision 208192fd (git): Fixed wrong configure option
- 08:46 AM Revision 47a1f5ff (git): [ruby/bigdecimal] Define bool, true, and false for old Ruby
- https://github.com/ruby/bigdecimal/commit/a6d3bd2d44
- 08:46 AM Revision 29d012c9 (git): [ruby/bigdecimal] Alloc wrapper object before VpAlloc
- Calling TypedData_Wrap_Struct after VpAlloc may cause memory leak.
This commit reverts d11b78f9c420f39ee800b9feed4839cd28f4ff5c.
https://github.com/ruby/bigdecimal/commit/2c5a288caf - 08:46 AM Revision 13b520d5 (git): [ruby/bigdecimal] Refactor to extract VpCheckException
- https://github.com/ruby/bigdecimal/commit/6fd171308b
-
08:45 AM Revision 2f42243b (git): Make more silent when -s on GNU make
-
08:45 AM Revision d57c5a7b (git): transcode-tblgen.rb: make silent a little when just -v
-
08:45 AM Revision 365df8d3 (git): transcode-tblgen.rb: send verbose messages to STDOUT
-
07:29 AM Revision 6d077851 (git): [ruby/irb] Remove unnecessary ignore_error in dispatch_seq
- Just forgotten in https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
https://github.com/ruby/irb/commit/e42e548793 -
07:29 AM Revision f30a3a06 (git): [ruby/irb] Do not colorize partially-correct inspect
- This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone.
Follows up https://github.com/ruby/irb/pull/159 and https://github.com/ruby/ruby/pull/3967.
https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f... -
07:07 AM Revision 9b7ceb67 (git): irb: add more syntax errors colorizing support (#3967)
-
07:03 AM Revision c0a2d322 (git): Update help of sync-default-gems
-
07:01 AM Revision af9d4ee1 (git): [ruby/irb] Fix failing tests
- https://github.com/ruby/irb/commit/7723ade899
-
07:01 AM Revision f9e80af2 (git): [ruby/irb] Add color_printer.rb to gemspec
- https://github.com/ruby/irb/commit/b4df0fd8b2
-
07:01 AM Revision c715fb46 (git): [ruby/irb] Enhance colored inspect output
- https://github.com/ruby/irb/commit/dffcdb5269
-
06:56 AM Feature #17187: Add connect_timeout to TCPSocket
- @PhobosK
Many thanks for reporting the issue!
I merged your patch. -
06:52 AM Revision 1ffb267c (git): Fix compile error of sockssocket
- The patch is provided by PhobosK (Phobos Kappa).
This should be backported to Ruby 3.0.
[Feature #17187] -
04:43 AM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Seems commit:9e6e39c3512f7a962c44dc3729c98a0f8be90341 by bisect.
- 04:09 AM Revision f8555cad (git): * 2020-12-29 [ci skip]
- 03:56 AM Revision 512e0889 (git): [ruby/bigdecimal] Refactor to decompose VpNewVarArg into small functions
- https://github.com/ruby/bigdecimal/commit/7504871c48
-
03:54 AM Bug #17486 (Feedback): Build fails on darwin due to libtool being removed
-
03:50 AM Bug #17486: Build fails on darwin due to libtool being removed
- I've heard that similar error used to occur in earlier versions too,
and `sudo xcode-select -s /Library/Developer/CommandLineTools` may fix it. - 03:54 AM Revision d11b78f9 (git): [ruby/bigdecimal] Reduce needless object allocation in f_BigDecimal
- https://github.com/ruby/bigdecimal/commit/5c808eeabb
12/28/2020
-
10:21 PM Bug #17487 (Closed): rb_gc segfaults on ARM64 platforms
- Thank you for confirming. I will close this as the issue appears to have already been fixed.
-
10:12 PM Bug #17487: rb_gc segfaults on ARM64 platforms
- I cannot reproduce with 2.6.6 or 2.7.2, using those the call to rb_gc doesn't cause a segfault.
-
07:51 PM Bug #17487 (Feedback): rb_gc segfaults on ARM64 platforms
- Both Ruby 2.0 and 2.3 are out of support. Can you reproduce this on Ruby 2.6, 2.7, or 3.0?
-
07:48 PM Bug #17487 (Closed): rb_gc segfaults on ARM64 platforms
- I have a ruby native extension, and I see a segfault when calling rb_gc, so far I have seen this happening on arm64 platforms both rhel7 arm64 using ruby 2.0 and debian stretch arm64 using ruby 2.3
```
(gdb) bt
#0 0x0000ffffbe2251b... -
09:27 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- (coming to this bug from https://bugs.ruby-lang.org/issues/17477)
I think it's fine to force `require` to be called only from the main thread/ractor, at least for now. I can imagine that would simplify a lot of things.
I'd like to ... -
11:58 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- That sounds like a good way to fix it.
marcandre (Marc-Andre Lafortune) wrote in #note-3:
> the main thread could spin a private thread to do the needed `require`.
Whatever code is loaded by require can check `Thread.current`, so ... -
08:43 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- I agree that it would be best to make require work everywhere, but always be executed in the main Reactor. That would just be part of the semantics of require (comment moved from #17477).
-
09:23 PM Bug #17489 (Closed): Ractor segfaults
- I was able to boil it down to this script:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem "sinatra", "~> 2.1"
end
require 'sinatra'
class App < Sinatra::Base
get '/' do
200
en... -
09:12 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Bug requires more than 8 keys (as in the example)
-
09:08 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- I didn't run a git bisect, but this was the case already in `ruby 3.0.0preview1`
-
08:52 PM Bug #17488 (Closed): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Upon upgrading a library to run on Ruby 3.0, I have observed that `Hash#key?` has non-deterministic behavior when the argument uses `DelegateClass`. This non-deterministic behavior was not present in Ruby 2.7.
Reproducing this is slig... -
08:09 PM Feature #17411: Allow expressions in pattern matching
- mame (Yusuke Endoh) wrote in #note-8:
> ktsj (Kazuki Tsujimoto) wrote in #note-7:
> ...
We also already have all theses issues/possibilities (including modifying local variables on the fly):
```ruby
var = 42
proc = ->(obj) { var =... -
05:20 PM Feature #17411: Allow expressions in pattern matching
- ktsj (Kazuki Tsujimoto) wrote in #note-7:
> If there were a obvious reason, I'd like to know that.
I can think of three reasons.
* (1) This feature makes an exhaustive check impossible (like a guard), which is not related to Ruby'... -
04:18 PM Feature #17411: Allow expressions in pattern matching
- I am basically positive.
(I've had the same idea. :) https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7?slide=64)
But I've been a little concerned most of languages which have pattern matching don't support su... -
07:15 PM Bug #17486 (Closed): Build fails on darwin due to libtool being removed
- The following commit is causing builds in master and for the recently released Ruby 3.0.0 to fail on darwin. This was tested on macOS Mojave using the most recent XCode and Mojave patches. The error reported is as follows:
```
compil... -
06:30 PM Feature #17474: Interpreting constants at compile time
- Your example:
```
def m(i)
$("foo#{i}")
end
```
**_would not_** work because it doesn't evaluate at parse-time to a constant value. It requires a runtime parameter ``i``, thus it can't evaluate to a constant value/object it c... -
04:52 PM Feature #17474: Interpreting constants at compile time
- > Agree but... can a JIT optimize `Set["x","y","z"].include?(v)` so that the Set is only allocated once?
Absolutely it could - TruffleRuby will today already optimise `['x', 'y', 'z'].include?('y')` to be `true` and it doesn't allocat... -
04:48 PM Feature #17474: Interpreting constants at compile time
- Eregon (Benoit Daloze) wrote in #note-13:
> Doesn't `private_constant` (no arguments) work? (if not, sounds worth adding)
No it doesn't work; "warning: private_constant with no argument is just ignored"
Being able to set the default... -
12:32 PM Feature #17474: Interpreting constants at compile time
- marcandre (Marc-Andre Lafortune) wrote in #note-9:
> Moreover, constants would ideally use `private_constant`, making the resulting code very verbose.
Doesn't `private_constant` (no arguments) work? (if not, sounds worth adding)
I... -
04:57 AM Feature #17474: Interpreting constants at compile time
- Regarding "once" syntax, I've had an idea to use `BEGIN`.
```ruby
BEGIN {/#{1+2}/} #equivalent /#{1+2}/o
BEGIN {Set["x","y","z"]}.include?(v)
BEGIN {(10**6 ... 10**7)}.include?(range)
```
I haven't considere... -
02:22 AM Feature #17474: Interpreting constants at compile time
- Some time ago I thought of basically the same idea, but in the end decided that constants were the appropriate way to handle this, so I didn't make it a proposal.
But the cases presented by Marc-Andre are remarkably compelling. It's ... -
04:42 PM Bug #15857: <=> の右辺が <=> を実装していない場合の振る舞い
- In doing a bit of maintenance work for the ruby-units gem this issue came up. I think there may be some additional methods that now need to be generated in the C code. See the following example.
```
c = Complex(1,0)
c <=> 1 # => 0
... -
02:53 PM Feature #17187: Add connect_timeout to TCPSocket
- You forgot to add the new parameter *connect_timeout* to the return statement of the function **socks_init** in sockssocket.c.
Thus the now available official sources of Ruby 3.0.0 cannot compile when sockets are enabled giving the erro... -
02:47 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- I am making a library that makes error messages easier to read. Therefore, instead of using `Exception#full_message`, I need to analyze the Exception and output the error message myself.
For example, suppose I have a script like this:... -
02:05 PM Bug #17484: pry & byebug gems not working properly with Ruby 3.0.0
- It works perfectly for me. Did you `gem install pry-byebug`?
-
01:41 PM Bug #17484 (Closed): pry & byebug gems not working properly with Ruby 3.0.0
- When I try to use pry with version 3, it won't allow me. For example when I type in the command next in the terminal, an error message says: "can't escape from eval with next". When using byebug's command step, version 3 I get an error ...
-
02:04 PM Feature #17485 (Closed): Keyword argument for timezone in Time.new
- Currently, `Time.at` and `Time.now` accept a timezone as a keyword argument, but not `Time.new`.
This means minor arguments cannot be omitted for `Time.new`.
```ruby
Time.new(2021, 1, 1, 0, 0, 0, "+09:00") #=> ok: 2021-01-01 00:00:0... -
12:38 PM Feature #17473: Make Pathname to embedded class of Ruby
- I thought about FileUtils too, but it's required lazily for these two methods.
So I think it might be fine to move only Pathname to core, and accept that `Pathname#{mkpath,rmtree}` `require`s `fileutils` when used.
I think having par... -
12:30 AM Feature #17473: Make Pathname to embedded class of Ruby
- Dan0042 (Daniel DeLorme) wrote in #note-4:
> Isn't Pathname dependent on FileUtils though?
Yes. It uses only `FileUtils.mkpath` and `rm_r`. Rubygems also uses them, so @hsbt is preparing to propose making a very limited set of FileUt... -
12:35 PM Feature #16378: Support leading arguments together with ...
- Agreed it should be in 2.7 (well, I've said since the beginning of this issue :D).
Right now, I consider `...` non-existing because it's almost never usable due to the restrictions in 2.7. - 12:26 PM Revision 06b44f81 (git): [ruby/bigdecimal] [Doc] Fix the document of BigDecimal()
- [ci-skip]
https://github.com/ruby/bigdecimal/commit/905d0345ec - 12:16 PM Revision 80d9e457 (git): [ruby/bigdecimal] Reduce conditional branch count in VpNewVarArg
- https://github.com/ruby/bigdecimal/commit/741fb3e00f
-
11:53 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- naruse (Yui NARUSE) wrote in #note-11:
> I think it will not fast.
Before we start considering performance trade-offs,
do we even have a benchmark where time spent in HashWithIndifferentAccess is significant for a Rails app? -
11:24 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- byroot (Jean Boussier) wrote in #note-10:
> > A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess
> ...
I think it will not fast. -
11:22 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- > A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess
Would it be possible to have a "hook" akin to `convert_key`?
e.g. something like:
```
hash = {}
hash.coerce_key = ->(key) { key.is_a?(Symbol) ? key.name... -
03:41 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- My intention is
* A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess, not providing HashWithIndifferentAccess itself.
* the key of internal hash should be symbol though ActiveSupport::HashWithIndifferentAccess uses... -
10:52 AM Revision 09aca50f (git): Adjusted styles [ci skip]
-
10:43 AM Revision 2eea9156 (git): Adjusted indents [ci skip]
-
10:41 AM Feature #16476: Socket.getaddrinfo cannot be interrupted by Timeout.timeout
- Dan0042 (Daniel DeLorme) wrote in #note-16:
> naruse (Yui NARUSE) wrote in #note-15:
> ...
Both `Timeout.timeout` and `deadline` is not the essential problem of this topic. The topic this ticket handles is "getaddrinfo is not interruptab... -
09:41 AM Revision a0d1152d (git): [ruby/drb] Removed needless files from Gem::Specification#files
- https://github.com/ruby/drb/commit/61c49af71b
-
07:20 AM Revision e6fee2b6 (git): [ruby/pp] Removed needless files from Gem::Specification#files
- https://github.com/ruby/pp/commit/272d4befeb
-
07:19 AM Revision 8b387bcf (git): [ruby/pp] Drop to support < Ruby 2.7
- https://github.com/ruby/pp/commit/e92228964b
-
06:47 AM Bug #17477: Ractor and pp incompatibility
- I wrote a similar opinion to Martin Dürst's in #17420. I propose that we comment there (simply because the issue is older and more general)
-
02:25 AM Bug #17477: Ractor and pp incompatibility
- My preference would be to make `require` work everywhere, but always be executed in the main Reactor. That would just be part of the semantics of `require`.
-
03:44 AM Revision 2556cd3f (git): Bypass check for warning_category on internal calls
-
03:12 AM Revision 64d79d33 (git): Suppress too big exponent warnings
-
12:45 AM Bug #17476 (Assigned): 3.0/specifications/default/net-*.gemspec repeats the same files
-
12:43 AM Bug #17483 (Rejected): Array#insert is pathologically slow
- In short, it is unavoidable.
Currently, an array is internally represented as consecutive memory area. Adding new elements into the middle of an array requires reallocation of the array, which takes O(n). Therefore, calling Array#inse...
12/27/2020
-
11:59 PM Bug #17483 (Rejected): Array#insert is pathologically slow
- I ran some generic Array method benchmarks:
https://github.com/djberg96/berger_spec/blob/ruby23/bench/core/bench_array.rb (comment out nitems first)
https://github.com/djberg96/berger_spec/blob/ruby23/bench/core/Array/bench_insert.... -
10:29 PM Feature #17474: Interpreting constants at compile time
- (Unassigning, as there is no acceptable proposal yet)
-
10:28 PM Feature #17474 (Open): Interpreting constants at compile time
- tldnr; I feel that the possibility to have "inline shareable constant expressions" could improve expressiveness and allow for easier optimizations.
> There is no "compile time" for Ruby, and there is no way to execute arbitrary Ruby co... -
04:08 PM Feature #17474 (Rejected): Interpreting constants at compile time
- There is no "compile time" for Ruby, and there is no way to execute arbitrary Ruby code at any other time than runtime.
Simply use constants if you want to ensure things are computed once, or rely on the JIT if it's simple enough:
``... -
01:44 PM Feature #17474: Interpreting constants at compile time
- Also to reiterate, this "feature" also applies to string constants.
So ``[["Hello World".reverse * 3"]]`` # => ``"dlroW olleHdlroW olleHdlroW olleH"``
would be interpolated at compile time with its results used at runtime.
I wou... -
03:41 AM Feature #17474: Interpreting constants at compile time
- I think you're missing my point.
I agree 100% the compiler(s) should do it, but they don't, not across all CRuby versions, and other VMs.
I am proposing standard semantics to provide for users they can ensure this happens going for... -
03:17 AM Feature #17474: Interpreting constants at compile time
- > What about something like `Math.sqrt(Math.log(2*PI))`?
Isn't that obviously a constant as well? Or at least `Math.sqrt(Math.log(2*Math::PI))` is. (Again, apart from any method redefinition that can be handled separately.)
Some Ru... -
03:08 AM Feature #17474: Interpreting constants at compile time
- But is that the case?
Does ``10**6`` get's used at runtime as ``1_000_000``?
What about something like ``Math.sqrt(Math.log(2*PI))``? This is a constant that should be determined at compile time.
Providing semantics to allow us... -
02:39 AM Feature #17474: Interpreting constants at compile time
- But why do you need to specially mark expressions as constant? `10**6` is already obviously constant (modulo the redefinition of `#**` which we could deal with separately.) Why not evaluate everything that is obviously constant at compil...
-
02:36 AM Feature #17474: Interpreting constants at compile time
- My intent is to ensure the operations needed to create the constant values are performed at compile time (not runtime) and the results are compiled to use at runtime.
It doesn't seem like in cases using multiple operations, as in the ex... -
09:39 PM Revision 228ad7d8 (git): doc/ractor.md: Fix indentation
- Reintroduce removed empty line to fix indentation on rendered page
(the first line is _not_ indented despite the leading spaces,
and ends up "outdented" compared to the rest of the block).
Also add a missing "-". - 09:09 PM Revision cf1f9bdc (git): Language tweaks to Fiber [doc]
-
08:08 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- Count me in the "No" camp.
`HashWithIndifferentAccess` has horrible semantics. It may have had a reason to be when Ruby didn't support symbol garbage collection and Rails didn't require an explicit mapping of HTTP Request to params, b... -
07:09 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- I'm also against this, but I think a more general-purpose version might be ok. In my code I use a `NormalizedHash` class which calls `key = normalize(key)` for every method with a `key` argument (as well as `merge`, etc.) I use this base...
-
05:13 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- I am against adding this in principle. One of the harder things for new Ruby programmers to understand is the difference between symbols and strings. This is even more difficult for programmers learning Ruby and Rails at the same time,...
-
04:14 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- I don't think C code will be more efficient for things like https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activesupport/lib/active_support/hash_with_indifferent_access.rb#L367.
And translating the rest of t... -
10:44 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- +1, if Rails people really want it, and if it brings performance improvement. We need to experiment, but in principle, it looks to me a good idea to provide small but simple improvements that we can use immediately in Ruby 3.1. We mainly...
-
07:41 PM Feature #16378: Support leading arguments together with ...
- @nagachika I would really like to see this backported to 2.7 ... may I ask for the status?
-
07:19 PM Feature #17473: Make Pathname to embedded class of Ruby
- mame (Yusuke Endoh) wrote in #note-2:
> Though FileUtils and Tsort are relatively easy to be removed from the dependencies, Pathname looks difficult.
Isn't Pathname dependent on FileUtils though? -
04:16 PM Feature #17473: Make Pathname to embedded class of Ruby
- I forgot to mention, +1 from me for Pathname in core, if it's written mostly in Ruby.
-
10:57 AM Feature #17473: Make Pathname to embedded class of Ruby
- The proposal lacks one background, so I'd like to add it. Rubygems cannot allow uesrs to choose the version of a gem that rubygems itself are using. So, we want to make Rubygems independent with any gems. According to @hsbt, Rubygems is ...
-
06:27 PM Feature #16476: Socket.getaddrinfo cannot be interrupted by Timeout.timeout
- naruse (Yui NARUSE) wrote in #note-15:
> It's a long requested series of improvements for HTTP client like read_timeout, connect_timeout, and write_timeout.
> ...
How common is it to need separate timeouts for all of these? I can easily ... -
09:45 AM Feature #16476 (Open): Socket.getaddrinfo cannot be interrupted by Timeout.timeout
- ioquatix (Samuel Williams) wrote in #note-12:
> * I'm not convinced that getaddrinfo_a is a good idea, it has a user-space thread pool and the implementation doesn't seem great.
https://github.com/ruby/ruby/commit/2038cc6cab6ceeffef3ec3... -
05:30 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- Maybe a solution would be to do all `require` in the main Ractor?
Something like whenever a new Ractor is created, the main thread could spin a private thread to do the needed `require`. When a `require` call happens, or a constant ne... -
05:03 PM Bug #17481 (Closed): Keyword arguments change value after calling super without arguments in Ruby 3.0
- Applied in changeset commit:git|c8010fcec016ee89aa0c45fe31094b2db0023e5c.
----------
Dup kwrest hash when merging other keyword arguments [Bug #17481] -
01:56 PM Bug #17481: Keyword arguments change value after calling super without arguments in Ruby 3.0
- Bisect resulted in commit:d2c41b1bff1f3102544bb0d03d4e82356d034d33.
-
12:40 PM Bug #17481 (Closed): Keyword arguments change value after calling super without arguments in Ruby 3.0
- There seems to be a bug in Ruby 3.0 regarding keyword arguments and calling super without arguments, where the splatted variable changes its value after super is called. The following self-contained example reproduces the issue:
``` r... -
04:52 PM Revision c8010fce (git): Dup kwrest hash when merging other keyword arguments [Bug #17481]
- 04:39 PM Revision cc055d4d (git): * 2020-12-28 [ci skip]
-
04:35 PM Revision 727c97da (git): Update to ruby/spec@4ce9f41
-
04:35 PM Revision 267bed0c (git): Update to ruby/mspec@a40a674
-
04:24 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- ioquatix (Samuel Williams) wrote in #note-2:
> Actually, that's not necessarily true, even for the current implementation, see `getaddrinfo` for example.
You're completely evading my question :p
Could you answer it please?
That's... -
06:44 AM Feature #17470: Introduce non-blocking `Timeout.timeout`
- It appears that `Timeout.timeout` does not work when a Fiber scheduler is set, regardless of the implementation, even when Fibers are not explicitly in use.
Simple example using the [sample scheduler](https://github.com/ruby/ruby/blob... -
04:20 PM Bug #17477: Ractor and pp incompatibility
- I doubt `require` can ever be supported in a Ractor, see #17420.
It seems there is no good solution for this, and besides this problem not only happens with `pp` but with any kind of "autoloaded" library/gem. -
08:14 AM Bug #17477 (Closed): Ractor and pp incompatibility
- ```ruby
r = Ractor.new do
pp("foobar")
end
Ractor.select(r)
```
fails with:
```
#<Thread:0x00007f973414a050 run> terminated with exception (report_on_exception is true):
<internal:/opt/rubies/3.0.0/lib/ruby/3.0.0/rubygems/... -
04:03 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- What's the use case?
I think we should encourage to use `Exception#full_message` (instead of manually formatting backtraces), and that could default to apply the limit.
Related: https://github.com/ruby/ruby/commit/f6a080047e960e8b1821a97... -
11:06 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- +1 if we can provide `-B` option too.
-
10:03 AM Feature #17479 (Closed): Enable to get "--backtrace-limit" value by "$-B"
- # Background
There is currently no way to get "--backtrace-limit" value when outputing backtraces from my script, so I have to ignore this value and output backtraces.
In order to be able to output according to "--backtrace-limit" ... -
02:33 PM Revision a0420434 (git): Do not include external library sources into packages
-
02:28 PM Bug #17482 (Assigned): Ractor.receive doesnt accept Ctrl+C under some condition
- Thank you for the report, I could reproduce it.
-
01:41 PM Bug #17482 (Closed): Ractor.receive doesnt accept Ctrl+C under some condition
- When I run this script, Ctrl+C doesn't work.
Waiting forever on #4 is fine, but I think Ctrl+C should work.
``` ruby
r = Ractor.new() {
# sleep 1 #1
File.open(__FILE__){ } #2
}
# sleep 1 ... -
12:42 PM Misc #17480: DevelopersMeeting20210113Japan
- * [Feature #17327] The `Queue` constructor should take an initial set of items (chrisseaton)
* This simple feature captures a common pattern. There's a PR with an implementation based on initial feedback and specs https://github.com/ru... -
11:08 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Feature #17472] `HashWithIndifferentAccess` like `Hash` extension (mame)
* It is a good idea for Ruby 3.1 to provide small but immediate improvements like this. The constant name should be discussed.
* [Feature #17473] Make `Pathnam... -
10:17 AM Misc #17480 (Closed): DevelopersMeeting20210113Japan
- # The next dev meeting
**Date: 2021/01/13 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210113Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
11:50 AM Revision f6a08004 (git): Limit bactrace length from Exception#full_message
-
10:35 AM Revision 730b0099 (git): Get rid of inconsistent dll linkages against vcpkg readline
-
10:24 AM Feature #16989: Sets: need ♥️
- FYI: SortedSet has been extracted out from set.rb since 3.0. So there is no longer the dependency problem.
-
10:19 AM Revision 0a2e4a8f (git): Removed declarations conflicting on MinGW
-
10:17 AM Misc #17346 (Closed): DevelopersMeeting20201210Japan
-
09:25 AM Bug #17220 (Closed): Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
-
09:09 AM Bug #17478 (Closed): Ruby3.0 is slower than Ruby2.7.2 when parsing a large CSV file
- Ruby3.0 is around 10%-20% slower than Ruby2.7.2 when parsing and aggregating a large CSV file.
The script is here:
```ruby
require "csv"
name_to_cost = Hash.new(0)
CSV.foreach(ARGV[0], headers: true) do |row|
name_to_cost[r... -
07:50 AM Revision ecfbd972 (git): win32: Removed never used/worked functions
- Almost certainly, these have never been used in external extension
libraries. If any had, these would have had to be declared in
headers. -
07:49 AM Revision 90dd4820 (git): win32: Declared wait and fixed the return type
-
06:50 AM Revision 260d626e (git): Ignore symbols declared in the platform header
-
06:50 AM Revision 366b58d7 (git): Ignore objects from the "missing" directory
-
06:50 AM Revision 0957814c (git): Get rid of \K for old BASERUBYs which have a bug in String#scan
-
06:50 AM Revision d55d0331 (git): Exclude entry points
-
06:50 AM Revision 46ab4fcf (git): Support AC_FUNC_MEMCMP
-
06:50 AM Revision b73d256f (git): Check leaked global symbols under more various conditions
- 06:27 AM Revision 441cd156 (git): [ruby/csv] Fix typo [ci skip]
- https://github.com/ruby/csv/commit/117bcf311e
- 06:27 AM Revision 677ccb92 (git): [ruby/csv] fix typo conveters => converters for CSV parsing docs (#196)
- https://github.com/ruby/csv/commit/77ccf486fe
- 06:26 AM Revision cd2c726b (git): [ruby/csv] Bump version
- https://github.com/ruby/csv/commit/5855c017ef
-
01:28 AM Bug #17476 (Closed): 3.0/specifications/default/net-*.gemspec repeats the same files
- I guess net-* generated gemspec during ruby build assumes that the net/ directory only contains its files (as it happens on standalone gem builds):
``` shell
/usr/lib/ruby/gems/3.0/specifications/default/net-ftp-0.1.1.gemspec: s.f...
12/26/2020
-
10:29 PM Feature #17370: Introduce non-blocking `Addrinfo.getaddrinfo` and related methods.
- In order to implement this hook, we need to expose the C interface to extensions:
https://github.com/ruby/ruby/pull/3945 - 10:02 PM Revision 7459fcb3 (git): * 2020-12-27 [ci skip]
-
09:51 PM Revision ab6adf27 (git): doc/ractor.md: Fix indentation in code blocks
- Remove unnecessary indentation of code in code blocks
(it is also not rendered properly in the generated HTML).
Also remove an empty line. -
09:50 PM Revision 0a867315 (git): [DOC] Fix typos in vm_method.c
-
09:49 PM Revision 114840b0 (git): [DOC] Fix typo in proc.c
-
09:40 PM Feature #17474: Interpreting constants at compile time
- Why do we need a new syntax to do this? Couldn't the compiler already work out `10**6` at compile-time, and invalidate the constant if `Integer#**` is redefined?
Or is the idea that `[...]` will contain expressions that potentially ha... -
04:36 PM Feature #17474 (Open): Interpreting constants at compile time
- Ruby has borrowed concepts/idioms from allot of languages.
I am proposing borrowing a feature from Forth to provide for compile time interpretation of Constants.
This should make executed code faster|efficient, while maintaining sour... -
09:36 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- > Timeout.timeout must be able to interrupt non-IO operations as well.
Actually, that's not necessarily true, even for the current implementation, see `getaddrinfo` for example. -
12:48 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- How would that work, what would be a sample implementation of the hook?
`Timeout.timeout` must be able to interrupt non-IO operations as well. -
07:42 AM Feature #17470 (Closed): Introduce non-blocking `Timeout.timeout`
- In this bug report, user complained that `Timeout.timeout` does not work correctly with scheduler: https://github.com/socketry/async-io/issues/43
We should introduce non-blocking timeout.
I propose the following:
```
rb_fiber_s... -
06:57 PM Feature #17475 (Rejected): Implement arguments forwarding for blocks
- In a gem, I create a bunch of initializer shortcuts as follows:
# Shortcut initializers
CLASSES.each do |element, class_name|
define_singleton_method(element) do |*args, **kwargs|
class_name.to_class.new(*args... -
02:49 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- naruse (Yui NARUSE) wrote in #note-11:
> * Time#sql_timestamp for serializer
Time#sql_timestamp needs to convert rational subsec to finite digits (or raise an error).
truncate to nanoseconds?
-
02:16 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- What about making `Time.new(string)` to work more?
```ruby
Time.new("2020-12-25 17:09:16 +0900") #=> 2020-01-01 00:00:00 +0900
Time.new("2020-12-25 08:09:16 UTC") #=> 2020-01-01 00:00:00 +0900
```
It is surprising that only th... -
01:42 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- kamipo says Rails 6.1 uses their RDB driver's implementation to decode serialized string into Time object.
https://twitter.com/kamipo/status/1342820891256733696
For example PostgreSQL as below:
* https://github.com/rails/rails/pull/... -
11:07 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- We (akr, naruse and matsuda) discussed this issue.
- implementing this method, Time.sql_timestamp(string), in time.c would be faster implementation than Ruby version because it avoids several string object allocations: `/(\d+)-(\d\d)-(\... -
11:00 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- https://pubs.opengroup.org/onlinepubs/9695959099/toc.pdf
P.42 says " If the application or the user cannot infer a time zone (for example, from the context of the user’s session) then the date/time value is ambiguous."
* C implementatio... -
01:24 PM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Thanks for both of the responses. I'm using the latest supported compiler/Xcode.
Ruby needs a wiki page explaining what is in scope and what is out of scope. -
03:59 AM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Seems a compiler related issue.
Try more recent Xcode. -
01:23 AM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- MacOS 10.12.6 is too old environment. We couldn't care it.
-
12:56 PM Feature #17471: send_if method for improved conditional chaining
- hi.
How about using `#tap` + `break` ?
```ruby
# Proposal
puts number.send_if(:*, 2) {|obj| obj > 5}.send(:-, 1)
puts %w(Merry Christmas).send_if(:map, proc: :upcase ) { answer == 'y' }.join(' ')
# tap + break
puts number.tap ... -
10:37 AM Feature #17471 (Open): send_if method for improved conditional chaining
- # Background
Method chaining is very important to many Ruby users, since everything in Ruby is an object.
It also allows easier functional programming, because it implements a pipeline where each step can happen without mutation.
... -
12:53 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- Isn't a C extension in a gem enough?
Also what specifically would writing it in C instead of Ruby gain?
Intuitively I'd think there would be no significant gain to write it in C.
Is there any profile showing a significant amount o... -
11:06 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- ❤️
-
11:04 AM Feature #17472 (Rejected): HashWithIndifferentAccess like Hash extension
- Rails has [ActiveSupport::HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html), which is widely used in Rails to handle Request, Session, ActionView's form construction, ActiveRecor...
-
12:45 PM Feature #17473: Make Pathname to embedded class of Ruby
- If we do so, could we actually define most of Pathname in Ruby, and not in C?
Right now, https://github.com/ruby/ruby/blob/3fc53de5c961cc8fa2b6acbd63874b89fe709520/ext/pathname/pathname.c is essentially just a bunch of rb_funcall() ca... -
12:00 PM Feature #17473 (Closed): Make Pathname to embedded class of Ruby
- pathname is one of most useful utility class of Ruby. I'm happy to use Pathname without require it.
Any thought? -
09:40 AM Revision 3fc53de5 (git): methods.rdoc: Improve method definition documentation
- * typos, grammar, formatting
* use `concrete_method` again in `regular_method` example,
to better distinguish from `forwarding_method` example
* clarify that leading arguments before `...` require Ruby 3.0 -
09:40 AM Revision ce65a768 (git): methods.rdoc: Clarify "currently" means "in 2.7" here
-
09:31 AM Revision 858f9aa4 (git): Update labels of badges [ci skip]
-
08:09 AM Revision 3a0a0869 (git): Add 3.0 top sepc guards
- * Needs WEBrick
-
07:40 AM Feature #17369: Introduce non-blocking `Process.wait`, `Kernel.system` and related methods.
- We introduced experimental feature and implemented non-blocking hook for Ruby 3.
More work is required here, but we didn't make it in time for Ruby 3.0 - so we marked it as experimental.
We also need to implement `rb_f_system` in t... -
06:10 AM Revision bb04856b (git): [ruby/racc] Bump version to 1.5.2
- https://github.com/ruby/racc/commit/ce0d7b9cde
-
06:10 AM Revision 533bf6f1 (git): [ruby/racc] Use Racc::VERSION for gemspec
- https://github.com/ruby/racc/commit/30f5760d85
-
04:26 AM Bug #17373: Ruby 3.0 is slower at Discourse bench than Ruby 2.7
- In my early benchmarks:
## Async
### ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
```
Wrapper#wait_readable
114.385k (± 1.0%) i/s - 573.250k in 5.012051s
Reactor#register 137.206... -
03:17 AM Revision 15e19207 (git): Fix a cyclic explanation
-
01:27 AM Feature #13368 (Closed): Improve performance of Array#sum with float elements
- https://github.com/ruby/ruby/pull/1555 was merged at https://github.com/ruby/ruby/commit/2d001003e4b3a6c20ead09ed54b6726a7669f457
-
12:45 AM Revision dc13bd22 (git): Ignore failure on unsupported fcntl to drop non-blocking mode
- Fixes https://github.com/ruby/ruby/pull/3723
-
12:39 AM Revision 292230cb (git): Fixed leaked global symbols
-
12:39 AM Revision 73cd4951 (git): Reduced GitHub Actions
- Moved leaked-globals before check.
12/25/2020
-
05:24 PM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Description
* Ruby 3.0.0 do not install cleanly on MacOS 10.12.6.
Steps to Reproduce
* Following instructions at the bottom of
* https://www.ruby-lang.org/en/documentation/installation
* Downloaded ruby-3.0.0.tar.gz file. (w... - 04:41 PM Revision d4ba88bc (git): * 2020-12-26 [ci skip]
-
04:40 PM Revision 6083fed3 (git): Use `size_t` for `RSTRING_LEN` in String#count
- https://hackerone.com/reports/1042722
-
01:23 PM Revision 92f9f998 (git): test/test_trick.rb: fixed the position to add timeout
-
01:10 PM Revision 255ee4de (git): Update method definition documentation
- * Add endless methods
* Add argument forwarding ... -
01:09 PM Revision aaf0474e (git): Adjusted the heading level of "Block Arguments" [ci skip]
-
12:58 PM Revision a01d28fe (git): test/test_trick.rb: increase timeout of some tests
- http://rubyci.s3.amazonaws.com/raspbian10-armv7l/ruby-master/log/20201225T071824Z.fail.html.gz
- 11:11 AM Revision 7a4b8d87 (git): [memory_view] Fix a comment
- A consumer of a MemoryView no longer guards the original object.
[ci skip] -
09:32 AM Feature #17468 (Closed): Deprecate RUBY_DEVEL
- Some configuration of Ruby use RUBY_DEVEL, which depends PATCH_LEVEL.
But depending PATCH_LEVEL causes issues which will become revealed on the final release.
Though we release some previews and RCs, they don't contributes the quality ... -
08:43 AM Revision ddacff2b (git): Follow up on variations of the development start messages [ci skip]
-
08:31 AM Revision 7e3d710a (git): Copy NEWS.md to doc/NEWS-3.0.0.md and update for 3.1.0
-
08:09 AM Revision c591ab11 (git): Development of 3.1.0 started.
-
06:57 AM Revision caae14d9 (git): test_trick.rb: Make the encoding explicit for code written in UTF-8
-
06:28 AM Revision 67fe290b (git): fix filename
-
06:22 AM Revision 09216f63 (git): test/test_trick.rb: Add a test file for TRICK entries (#3988)
- * test/test_trick.rb: Add a test file for TRICK entries
Co-authored-by: Nobuyoshi Nakada <[email protected]> -
03:33 AM Revision 95aff214 (git): Disable DTrace in FreeBSD (#3999)
- The latest ruby cannot compile with FreeBSD Dtrace enabled.
-
03:33 AM Revision 31217190 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
-
03:33 AM Revision 0a31310b (git): define RGENGC_DEBUG_ENABLED() as 0
- on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED(). -
03:32 AM Revision 6a0bbc55 (git): Updated bundled_gems
-
03:06 AM Revision 78677f10 (git): Disable DTrace in FreeBSD (#3999)
- The latest ruby cannot compile with FreeBSD Dtrace enabled.
-
02:32 AM Revision 1f18f5c6 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
-
02:20 AM Revision 888cf28a (git): define RGENGC_DEBUG_ENABLED() as 0
- on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED(). -
01:42 AM Revision 5c6f5b16 (git): Update stdlib section for Ruby 3.0
-
01:22 AM Revision 1ba77ff8 (git): Update stdlib section for Ruby 3.0
-
12:57 AM Revision a628a108 (git): USE_RUBY_DEBUG_LOG is not defined !devel build
-
12:53 AM Bug #17428: Method#inspect bad output for class methods
- Agreed that looks nice, but what should be shown from the example in #15608?
```
p obj.method(:foo)
#<Method: C#foo>
vs
#<Method: #<C:0x000055668ebef268>.foo(C#foo)>
```
based on whether the instance has a singleton class doesn't seem id... -
12:52 AM Revision 45f3d481 (git): USE_RUBY_DEBUG_LOG is not defined !devel build