Activity
From 12/16/2020 to 12/22/2020
12/22/2020
-
10:28 PM Bug #17427 (Rejected): Hash getting multiple identical keys
- This code is broken:
```ruby
if states.map(&:hash).uniq.size < states.size
```
The result of `hash` does not have to be unique. Two different objects can have the same `hash` value without problems. The invariant is that if two... -
09:31 PM Bug #17427 (Rejected): Hash getting multiple identical keys
- I have a situation where a hash (contained within a Set) seems to get duplicate keys. I've had some difficulty reproducing the issue in a minimal fashion, but I have a 175-ish-line program that runs it. (Just for context, if you want to ...
-
10:20 PM Revision 74a3569b (git): NEWS: fix typos and grammar
-
09:06 PM Revision 841d22ea (git): [ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly
- Co-authored-by: manga_osyo <manga.osyo@gmail.com>
Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>
https://github.com/ruby/irb/commit/c59a9be82f
https://github.com/ruby/reline/commit/a7922da16b -
09:06 PM Revision be5faa25 (git): [ruby/irb] Make it possible to use measure even if it is installed as gem
- Include the file that implements this command in the irb gem.
Co-Authored-By: scivola <scivola@users.noreply.github.com>
https://github.com/ruby/irb/commit/d8dfea5b57 - 08:49 PM Revision 32849dc1 (git): fiddle: Update to 1.0.5
-
07:05 PM Misc #17399: Are endless methods experimental?
- @mame My concern is not "we should warn" (or "we shouldn't warn") about experimental features, but about consistency. It seems that since 2.7, when warning categories and first experimental warnings were introduced, it became an ad-hoc r...
-
01:56 AM Misc #17399: Are endless methods experimental?
- "Experimental" means to me "we are a little more flexible against any feedback". We will make reasonable efforts to keep compatibility of any language feature that is once released, even if it is experimental. For example, we will not re...
- 06:48 PM Revision 228fa3ac (git): NEWS: Mention deprecation warnings not being shown by default
- 06:48 PM Revision fd745cc9 (git): NEWS: group keyword arguments related items together
- 06:48 PM Revision 5a6d27fe (git): NEWS: combine $SAFE and $KCODE, move lower
- 06:48 PM Revision 1bd7427f (git): NEWS: move error handling at end of section
-
06:27 PM Revision f1591b38 (git): Add verbose nil in testing
-
06:27 PM Revision c6d7e02b (git): Enable `Fiber.current` and `Fiber#alive?` call inside ractor
- 05:37 PM Revision 48735587 (git): * 2020-12-23 [ci skip]
-
05:37 PM Revision b222a1a4 (git): Fix a message in example code
- Thanks to @zverok for the report.
-
05:31 PM Revision 31b17a14 (git): Make NoMatchingPatternError a subclass of StandardError
-
04:25 PM Bug #17426: method_missing can't override kernel#system method anymore
- If you want to intercept `system` on both, you can use `undef` or `undef_method`.
```ruby
class Klass
undef_method :system
end
``` -
03:53 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
- This is expected. From NEWS-2.7.0:
```
* Calling a private method with a literal +self+ as the receiver
is now allowed. [Feature #11297] [Feature #16123]
```
Because you are allowed to call private methods when using self in ... -
02:45 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
- Hello,
It seems like I found a behavior change on the way method missing is working on Ruby 2.7.2 in comparison with 2.6.6.
`method_missing` can't intercept call to a method called `system`.
The following code help reproducing the... -
02:51 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
- Applied in changeset commit:git|299f5708a2274d069c624073ca3958f8625faf35.
----------
[ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
https://github.com/ruby/reline/... -
09:28 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- hi.
This error is caused by [calling `Reline::Unicode.calculate_width` in `irb`](https://github.com/ruby/irb/blob/ae91f7ac13a97e2ce8bc7524aea279e797a3ba27/lib/irb.rb#L784).
`Reline::Unicode.calculate_width` should be initialized with... -
02:45 PM Revision 53510d1e (git): [ruby/reline] [ruby/reline] Remove unused `attr_writer`
- https://github.com/ruby/reline/commit/ecdc1b7116
https://github.com/ruby/reline/commit/a7922da16b -
02:45 PM Revision 299f5708 (git): [ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
- https://github.com/ruby/reline/commit/f79b4c857f
-
02:45 PM Revision b52bc4a9 (git): [ruby/reline] Support isearch-terminators
- https://github.com/ruby/reline/commit/a7922da16b
-
02:45 PM Revision 294552ca (git): [ruby/reline] Render refreshed prompt just after i-search finished
- https://github.com/ruby/reline/commit/0d3188fe34
-
02:45 PM Revision 0b14abe8 (git): [ruby/irb] Suppress "shadowing outer" warning
- https://github.com/ruby/irb/commit/27b149c599
-
02:45 PM Revision fbcdcbff (git): [ruby/irb] Version 1.2.9
- https://github.com/ruby/irb/commit/9668e5fe6b
-
02:45 PM Revision 4131cd05 (git): [ruby/irb] Support arg for measure command
- https://github.com/ruby/irb/commit/b43f35d8f3
-
02:45 PM Revision 47b26795 (git): [ruby/irb] Change variables handling for compatibility
- https://github.com/ruby/irb/commit/26fd1a75cf
-
02:44 PM Bug #17425: Ripper.lex raises unexpected error
- https://github.com/ruby/ruby/pull/3977
-
10:02 AM Bug #17425 (Closed): Ripper.lex raises unexpected error
- ```
$ cat /tmp/l.rb
require "ripper"
pp Ripper.lex("def foo(arg1?:) end")
$ ./ruby -v /tmp/l.rb
ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux]
/var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:19... -
02:32 PM Revision cae8bbfe (git): pp is ractor-ready.
- `@sharing_detection` is only one obstruction to support pp on
non-main ractors, so make it ractor-local. -
12:51 PM Revision 034c19ce (git): Merge json-2.5.1
-
12:45 PM Revision 9b9cbbbc (git): Update library versions of the default gems.
- They are followed up with
https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1 - 12:41 PM Revision 96b88167 (git): Import set 1.0.1
- - Eliminate warnings
- Convert rdoc to markdown -
11:55 AM Revision f08cbdbf (git): Move the library to extensions for some of default gems
-
11:49 AM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- Could this be fixed prior Ruby 3.0 release please?
- 10:51 AM Revision 93a56a5e (git): Update fiber scheduler documentation.
-
10:44 AM Revision edb76e87 (git): Prepare to release json-2.5.0
-
09:01 AM Bug #17424 (Rejected): Interactive Ruby で Object#method を再定義して任意の文字を入力するとエラーが発生する
- # 再現方法
Interactive Ruby で以下を入力した後に任意の文字を入力する。
``` ruby
def method
end
```
# 再現方法から得られた結果
```
Traceback (most recent call last):
33: from /Users/ishii/.rbenv/versions/2.7.2/bin/irb:23:in `<main>'
32: from /Users/ishii/.rbenv/v... - 08:12 AM Revision f2f00e24 (git): [ruby/date] Make Ractor-compatible
- 08:12 AM Revision ee102de6 (git): [ruby/date] Deep-freeze internal constants.
- Probably not strictly necessary, but good principle anyways.
-
07:18 AM Revision 7fbad922 (git): rb_cData: no longer exists
- Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro
`#define rb_cData rb_cData()`. This deleting `VALUE rb_cData;`
declaration was then macro-expanded into `VALUE rb_cData();`. This
worked by accident because the expanded ... -
06:44 AM Bug #17389: New docs for non-blocking Fibers and scheduler
- @matz, can you please look into this question?
@ioquatix have updated `scheduler.md`→`fiber.md` in https://github.com/ruby/ruby/pull/3965/files, where it now looks like a generic `Fiber` class docs, but I still believe the docs should... -
06:25 AM Revision 7898bc92 (git): rb_cCont: no longer exists
- Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.
-
06:07 AM Revision 15b81edd (git): MJIT is enabled whenever an MJIT header is used
- ```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (202... -
05:42 AM Revision 95acd3c0 (git): Sync did_you_mean
-
05:16 AM Revision 692af8e8 (git): Prefer stdbool in vm_exec
- Make the code a bit modern and consistent with some other places.
-
05:09 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- ioquatix (Samuel Williams) wrote in #note-3:
> > should be nil
> ...
Right. Doc does call `resume` but not this issue. Correct code should read:
```ruby
f = Fiber.new{}
f.resume
f.backtrace # => currently [] (should be nil)
``` -
04:11 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- > should be nil
when the fiber is dead. -
02:07 AM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread - Applied in changeset commit:git|d0050edb84e9c3ba99946e08325e168deb741e28.
----------
Update Fiber#backtrace doc [See bug #17408] -
02:03 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- Good catch.
@ioquatix confirms it should be `nil` and is looking into it.
I'll update the doc. -
05:05 AM Revision 03f2b093 (git): NEWS.md: fix the format
-
04:52 AM Feature #17116 (Closed): raise ArgumentError in Enumerator#new in no given blocks
- Applied in changeset commit:git|fa356a798aefc20725467d4fad02df8325d63e71.
----------
Enumerator.new: raise unless block given
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945] -
04:52 AM Revision fee2913d (git): Struct::Tms: delete
- Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff.
-
04:52 AM Revision fa356a79 (git): Enumerator.new: raise unless block given
- Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945] -
03:59 AM Revision 7204b81b (git): fix to use rb_ractor_id()
- Catch up recent changes on USE_RUBY_DEBUG_LOG=1.
-
03:46 AM Revision 2e1cdf36 (git): add a NEWS entry about ractor C API
- 03:26 AM Revision be9b5553 (git): Add entries for set 1.0.0
- 03:20 AM Revision 3fa4bd82 (git): Import set 1.0.0
- - SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#<=> is added.
https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md - 03:17 AM Revision 63b872c4 (git): Prepare for importing the set gem
-
02:41 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- I have confirmed 520dcbd6009b07458d67309ae33a602d77062975 addresses `SystemStackError: stack level too deep` errors. Thanks for the quick fix.
-
12:23 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- The issue was fixed at 520dcbd6009b07458d67309ae33a602d77062975. @yahonda, could you please try it and let us know if any error still occurs? Thanks!
-
02:33 AM Bug #17423: `Prepend` should prepend a module before the class
- This stems from the change that `Module#prepend` (and `Module#include`) now affect classes already including the receiver. You get the same behavior for Ruby 2.0-3.0 if you prepend `M` to `A` before including `A` in `B`:
```ruby
module... -
01:56 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
- I see
```ruby
module M; end
module A; end
class B; include A; end
A.prepend M
B.prepend M
p B.ancestors
```
gives `[B, M, A, Object, Kernel, BasicObject]` now. It used to be `[M, B, A, Object, Kernel, BasicObject]`.
I t... - 02:07 AM Revision d0050edb (git): Update Fiber#backtrace doc [See bug #17408]
-
12:22 AM Revision 843fd1e8 (git): Document Fiber#backtrace and #backtrace_locations
-
12:22 AM Revision 816bbfdc (git): Document Proc#==
-
12:22 AM Revision 861dbd95 (git): Random instance methods
-
12:22 AM Revision 4728c0d9 (git): Add Symbol#name and freezing explanation to #to_s
-
12:11 AM Bug #17419: `binding.eval` backtrace differente
- Replacing `b.eval(src)` with `b.eval(src, *b.source_location)` will solve the issue.
However, #4352 focused on only `Kernel#eval`. I was not aware about the behavior change of `Binding#eval`. I've just added an explanation to NEWS.md ... -
12:04 AM Revision 4a18cc7f (git): NEWS.md: mention the behavior change of Binding#eval
- [Bug #17419]
12/21/2020
- 11:56 PM Revision 91773ddd (git): Remove debugging code
-
11:08 PM Revision 831f7850 (git): [DOC] Fix typo in Ractor.make_shareable documentation.
-
11:04 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
-
02:53 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- I understand there are some concerns that issues opened without a minimum test case using pure Ruby without using frameworks like Rails. It would be appreciated if someone taking a look at this issue when Ruby 3.0 release is around the c...
-
10:52 PM Revision a29b9e5e (git): Remvoed no longer needed version guards
-
10:50 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- aycabta (aycabta .) wrote in #note-3:
> @rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using?
```
irb(main):001:0> irb_info
=>
Ruby version: 3.0.0
IRB version: irb ... -
08:39 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- And, does https://github.com/ruby/reline/pull/224 resolve the problem? I can't reproduce in my environment...
-
08:35 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- @rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using?
-
03:17 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- I can reproduce on `master`. Maybe platform dependent?
Hopefully @aycabta will figure something out...
```
$ ruby -v
ruby 3.0.0dev (2020-12-21T02:23:01Z master ac78d90d5e) [x86_64-darwin18]
$ irb --nomultiline
irb(main):001:0> ... -
02:09 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- Thank you for your notice.
However, this bug has already been fixed in the latest version.
```
❯ bin/console --nomultiline
irb(main):002:0> Reline::VERSION
=> "0.1.10"
irb(main):003:0> source 'test.rb'
test.rb(main):004:0> # cod... -
10:27 PM Bug #17421: Enumerable uses overridden classes in examples
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> ...
Agreed. -
10:22 PM Bug #17421: Enumerable uses overridden classes in examples
- burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> @jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked.... -
09:34 PM Bug #17421: Enumerable uses overridden classes in examples
- @jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked.
-
09:18 PM Bug #17421: Enumerable uses overridden classes in examples
- Are there any cases where the results in the example code given in the Enumerable documentation would change if the related method was removed from the classes so that the Enumerable implementation is used?
-
09:07 PM Bug #17421 (Closed): Enumerable uses overridden classes in examples
- Some method documentation in module Enumerable shows examples that cite overridden methods.
For example, method #all? is overridden in Array, but all the #all? examples in Enumerable use Arrays:
```
%w[ant bear cat].all? { |word| ... -
10:21 PM Misc #17422 (Closed): 3.0 documentation problems tracking ticket
- A meta-ticket for tracking all documentation problems with 3.0's new features (which hopefully should be fixed before the release). I plan to work on those myself, but I have only so much time, so the help would be appreciated.
* Miss... -
09:09 PM Revision c34c6a89 (git): fix ractor's doc. [ci skip]
-
09:09 PM Revision 520dcbd6 (git): reset cache before iterating
- cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me`
will be a invalidated and continuing the invalidated `me`,
it will break the data structure. This patch tris to clear
all methods of specified class before manipulating the `m... -
08:58 PM Feature #17323 (Closed): Ractor::LVar to provide ractor-local storage
- Traditional style `Ractor#[]/#[]=` are introduced.
35471a948739ca13b85fe900871e081d553f68e6
-
08:57 PM Feature #17418: Add `Ractor.main?` and `Ractor.main`
- `Thread.main` is provided, so I think there is no problem to introduce `Ractor.main`.
If we find an issue about it, consider to remove it. -
08:54 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
- Applied in changeset commit:git|d0e4ccbefcdd6032d0ae70bc54c9a4fb55d92576.
----------
add Ractor.main
It returns main Ractor, like Thread.main.
[Feature #17418] -
04:25 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
- Since main Ractor is special, it seems useful to have an easy way to check if the current ractor is the main ractor.
```ruby
Ractor.main? # => true
Ractor.new { Ractor.main? }.take # => false
```
As far as I know, a gem could be... -
08:54 PM Revision d0e4ccbe (git): add Ractor.main
- It returns main Ractor, like Thread.main.
[Feature #17418] -
08:26 PM Revision 35471a94 (git): add Ractor#[]/#[]= for ractor local storage
- This API is similar to plain old Thread#[]/Fiber#[] interface
with symbol key. -
08:20 PM Bug #16974 (Closed): frozen string issue in lib/reline/ansi.rb on ruby-2.7.1
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> The current pull request for this is at https://github.com/ruby/reline/pull/122
This is merged. Thank you for the reporting. -
07:41 PM Misc #17399: Are endless methods experimental?
- I guess the discussion here may be more what exactly "experimental" means, similar
to what people expect a "constant" to be (non-changable, but if you come from
the point of view of ruby's philosophy then it makes sense to be able to c... -
06:41 PM Misc #17399: Are endless methods experimental?
- I once tried to make the point that if something is experimental it needs to warn, otherwise users in practice will consider it stable in #15966, but yes that seems a lost cause...
I guess we can reject based on "experimental sometime... -
03:07 PM Misc #17399: Are endless methods experimental?
- @mame OK. That's kinda weird for me (that some EXPERIMENTAL features are warned as such, and others aren't), but if this is the official policy, let it be so.
In 3.0, one-line pattern matching is experimental and warns, Ractors are e... -
03:00 PM Misc #17399: Are endless methods experimental?
- I agree with @mame. I just "rediscovered" refinements this year 😅
Experimental features are typically new features. One needs to read the doc for new features. Experimental warning best put there.
Have we considered a `:experimenta... -
01:13 PM Misc #17399: Are endless methods experimental?
- Note that there is no consensus that a warning should be printed when any experimental features are used. As far as I understand, the reason why pattern matching prints a warning is just because the author, @ktsj, is an attentive person....
-
11:13 AM Misc #17399: Are endless methods experimental?
- @matz I believe we need a final decision ASAP.
Either the feature is experimental and should warn so (it still does not, as of `ruby 3.0.0dev (2020-12-21T09:17:45Z master d84dd66da0)`), or the `[EXPERIMENTAL]` notice should be removed... -
07:12 PM Bug #17419 (Closed): `binding.eval` backtrace differente
- This change is expected, see #4352.
-
07:10 PM Bug #17419: `binding.eval` backtrace differente
- I think this is an intended change; it was explained via a link
to a comment in another issue (I think by mame or someone else,
where matz commented on reverting the behaviour). If I remember
the reason, the changed backtrace confused... -
05:38 PM Bug #17419 (Closed): `binding.eval` backtrace differente
- Can somebody elaborate why there is different output for Ruby 2.7 vs Ruby 3.0?
~~~
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
$ ruby -e ' ... -
06:31 PM Bug #17420 (Closed): Unsafe mutation of $" when doing non-RubyGems require in Ractor
- With an empty file `a.rb`:
```
$ ruby --disable-gems -e 'Ractor.new { puts $" }.take'
-e:1:in `block in <main>': can not access global variables $" from non-main Ractors (RuntimeError)
```
That is expected, given the rules for globa... - 06:31 PM Revision 8f2031a0 (git): Ractor#to_s as #inspect
-
05:56 PM Bug #14541 (Closed): Class variables have broken semantics, let's fix them
- ko1 (Koichi Sasada) wrote in #note-32:
> Why not `NameError` instead of `RuntimeError`?
Matz answered that "the name is not wrong, so NameError is not for this purpose".
Also he thought RuntimeError is still strange, but there is no... -
05:51 PM Revision 8918a9cf (git): Removed rb_cData entity
- * Use the wrapper of rb_cObject instead of data access
* Replaced rest of extentions
* Updated the version guard for Data
* Added the version guard of rb_cData -
05:51 PM Revision c30f03d3 (git): Data: delete
- Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5.
Matz says in [ruby-core:83954] that Data should be an alias of Object.
Because rb_cData has not been deprecated, let us deprecate the constant
to make it a C-level syno... -
05:47 PM Feature #17393: `Ractor::Moved#inspect`
- Try it on 3.1, not 3.0.
-
05:08 PM Revision 5c0abe2d (git): Update documentation for pattern matching
-
04:17 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
- I was told about this bug on freenode#ruby
It maybe related to my recent problem with installing pg gem on ruby 2.7.2
gem_make.out - https://paste.ubuntu.com/p/s6YD8C5yqS/
mkmf.log - https://paste.ubuntu.com/p/BKTVvdkJt6/
... -
03:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- marcandre (Marc-Andre Lafortune) wrote in #note-2:
> Using `yaml/psych` should be doable easily in multiple Ractors, right?
Ideally, but I guess there might be many issues with existing gems and the restrictions of Ractor.
> ...
I... -
02:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- Eregon (Benoit Daloze) wrote in #note-1:
> Sounds a bit to me like a case where Thread makes more sense than Ractor
I am not sure I understand your point of view.
Using `yaml/psych` should be doable easily in multiple Ractors, right?
... -
10:46 AM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- Sounds a bit to me like a case where Thread makes more sense than Ractor (and they are far more compatible with existing code).
Wanting to mutate global state is explicitly against the principle of (recent) actor models, isn't it?
(e... -
01:55 AM Feature #17414 (Closed): Ractor should allow access to shareable attributes for Modules/Classes
- Current situation is *very* limiting.
Use-case: global config.
Example: [yaml has a global config](https://github.com/ruby/psych/blob/master/lib/psych.rb#L637-L640) and it's not clear to me how to make that Ractor-aware (nicely).
... -
03:35 PM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
-
12:15 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
- zverok (Victor Shepelev) wrote in #note-3:
> https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> ...
Ah. I tested it again with UDPSocket, and everything works fine. It looks like it is the problem mentioned in the sc... -
12:04 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
- https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> By default, I/O is non-blocking. Not all operating systems support non-blocking I/O. Windows is a notable example where socket I/O can be non-blocking but pipe I/O ... -
11:55 AM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
- Here is the given example code for reproduction the bug:
```ruby
rd, wr = IO.pipe
scheduler = Evt::Scheduler.new # Any scheduler including the test scheduler in the ruby repo could reproduce the same problem.
message = nil
Fiber... - 03:03 PM Revision 208f7d7c (git): * 2020-12-22 [ci skip]
-
03:03 PM Revision 02d9524c (git): separate rb_ractor_pub from rb_ractor_t
- separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.
Now rb_ec_ractor_hooks() is a complete inline function and no
MJ... -
03:03 PM Revision a2950369 (git): TracePoint.new(&block) should be ractor-local
- TracePoint should be ractor-local because the Proc can violate the
Ractor-safe. -
02:45 PM Revision c7a5cc2c (git): Replaced magic numbers tr table
-
02:42 PM Revision 84eebb3c (git): On Solaris, _XOPEN_SOURCE should be undefined for C++ sources.
-
02:28 PM Revision 91e2f08a (git): export rb_eRactorIsolationError for MJIT
- https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
```
_ruby_mjit_p11920u0.c
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
c:\project... -
01:46 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
- I'd like to try working on this fix: is it possible?
- 01:41 PM Revision 0b6a80c0 (git): [json] Avoid method redefinition
-
01:29 PM Revision dca6752f (git): Introduce Ractor::IsolationError
- Ractor has several restrictions to keep each ractor being isolated
and some operation such as `CONST="foo"` in non-main ractor raises
an exception. This kind of operation raises an error but there is
confusion (some code raises RuntimeEr... - 01:16 PM Revision 8c0c6172 (git): NEWS: JSON is Ractor compatible [ci skip]
-
01:14 PM Feature #17416 (Open): Improve performance Kernel#itself
- Improve performance `Kernel#itself` with Ruby code.
like this.
```ruby
module Kernel
#
# call-seq:
# obj.itself -> obj
#
# Returns the receiver.
#
# string = "my string"
# string.itself.obj... - 01:10 PM Revision 14d7d1df (git): [json] Make json Ractor safe
- 01:10 PM Revision 4c2e7f26 (git): [json] JSON_parse_float: Fix how to convert number
- Stop BigDecimal-specific optimization. Instead, it tries the conversion
methods in the following order:
1. `try_convert`,
2. `new`, and
3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class
If all the above c... - 01:10 PM Revision 596da98b (git): [json] Make JSON.create_id thread-safe
- 01:10 PM Revision 98cc15ed (git): [json] Stop using prototype objects
-
10:47 AM Feature #16697 (Rejected): Hash.ruby2_keywords_hash?(value) should support any object
-
10:47 AM Feature #16697 (Closed): Hash.ruby2_keywords_hash?(value) should support any object
- OK, let's reject this then.
-
01:33 AM Feature #16697 (Feedback): Hash.ruby2_keywords_hash?(value) should support any object
- I don't think we will be able to decide this issue by Ruby 3.0.0. But changing it after Ruby 3.0.0 seems more confusing. I vote for WONTFIX if there is no strong reason.
-
10:41 AM Bug #17413: --backtrace-limit: wrong level counter
- @mame Thanks for the quick fix, now it works as expected!
-
09:05 AM Bug #17413 (Closed): --backtrace-limit: wrong level counter
- Fixed at eee93bc9330cb069abb679a0a0d48a49b10f6a4e
-
02:05 AM Bug #17413: --backtrace-limit: wrong level counter
- Good catch! I will fix it soon. Thanks
-
10:39 AM Bug #17409: Endless range of dates stuck on include? when miss
- > we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
But what for? -
10:37 AM Bug #17409: Endless range of dates stuck on include? when miss
- Maybe there should be some `Class#<=>_consistent_with_succ?`/`Class#compare_consistent_with_succ?` method, then we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
String is a bit special in... -
09:18 AM Bug #17409: Endless range of dates stuck on include? when miss
- @gsmetal
> This case with endless ranges should be at least somehow mentioned in include? documentation, I think.
Actually, I agree the documentation should be clearer not just about endless range, but about the fact that `include?... -
09:14 AM Bug #17409: Endless range of dates stuck on include? when miss
- @duerst
> What's the reason there is no redefinition for Date?
First, I don't think there is a reason for _any_ redefinition, actually, it just muddies the semantical difference of `include?` vs `cover?`. Redefinition for numerics ... -
08:19 AM Bug #17409: Endless range of dates stuck on include? when miss
- duerst (Martin Dürst) wrote in #note-4:
> zverok (Victor Shepelev) wrote in #note-1:
> ...
Yes, it was a little bit frustrating, that everything worked on numbers and then it unexpectedly stuck on dates.. This case with endless ranges ... -
07:01 AM Bug #17409: Endless range of dates stuck on include? when miss
- zverok (Victor Shepelev) wrote in #note-1:
> Nothing specific to dates there, and not a bug.
> ...
What's the reason there is no redefinition for Date? Is there an actual use case for something like the current `(Date.today..).include?... -
09:17 AM Revision d84dd66d (git): Fixed a typo in an error class name
-
09:12 AM Revision b9d00f42 (git): Enable escape sequence on Windows10 console via pager too
- 08:46 AM Revision d8469507 (git): [ruby/digest] Remove .gitignore and .travis.yml from gemspec
- https://github.com/ruby/digest/commit/7b57b73f46
- 08:29 AM Revision 09f939d3 (git): Enable escape sequence on Windows10 console
- * win32/win32.c (init_stdhandle): enable escape sequence on
Windows10 console to show `ruby --help` colors correctly. -
07:23 AM Feature #17411: Allow expressions in pattern matching
- https://github.com/ruby/ruby/pull/3956
-
07:22 AM Revision 95ce5c0e (git): [ruby/rdoc] Bump version to 6.3.0
- https://github.com/ruby/rdoc/commit/3d3616cb94
-
07:21 AM Revision 391343e8 (git): [ruby/rdoc] Guard for WEBrick
- https://github.com/ruby/rdoc/commit/b1e7129e05
-
07:17 AM Revision f26f905b (git): Mark an ISeq being JIT-ed
- This is to avoid SEGV on a CC reference in a normal compilation
https://github.com/ruby/ruby/runs/1586578023 -
06:58 AM Revision 1fdc97f1 (git): Mark active_units
- to avoid SEGV on mjit_recompile and compact_all_jit_code.
For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore
it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d
to fix but apparently it may refe... -
06:03 AM Revision a574df14 (git): Stop marking unit_queue
- The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20.
As wanabe said, there are multiple options to mitigate the issue, and
Eric Wong introduced another fix at 143776f6fe by checking unit->iseq
insid... -
04:25 AM Revision 74a78778 (git): [DOC] Remove about FrozenError from Ractor::MovedObject [ci skip]
- Because unfreeze Ractor::MovedObject at
https://github.com/ruby/ruby/commit/76e88480371469400346fca609efe67096813915 - 03:00 AM Revision 1ecac8e4 (git): Add `require_relative` option to `assert_ractor`
-
02:40 AM Revision eee93bc9 (git): eval_error.c: fix off-by-one error for --backtrace-limit
- https://bugs.ruby-lang.org/issues/17413
-
02:23 AM Revision ac78d90d (git): Bump bundled rake version to 13.0.3
-
02:01 AM Revision fe604809 (git): include/ruby/internal/xmalloc.h: document rb_eNoMemError
- It was my bad, the exception that actually raises is rb_eNoMemError.
[ci skip] -
02:01 AM Revision 11656d15 (git): include/ruby/internal/xmalloc.h: doxygen tag
- `@exception` is an alias of `@throw`. It might suite Ruby's document
because ruby uses `raise` terminology instead of `throw`. [ci skip] -
01:54 AM Revision 63849a1c (git): Fix misspellings [ci skip]
-
12:32 AM Revision 5253b957 (git): Document usage of ArithmeticSequence in Array#slice, and add to NEWS (#3952)
12/20/2020
-
07:31 PM Bug #14541 (Assigned): Class variables have broken semantics, let's fix them
- Why not `NameError` instead of `RuntimeError`?
-
07:15 PM Feature #8948: Frozen regex
- @matz Is it OK to experiment freezing all Regexp objects for Ruby 3.1?
There is some discussion in #17412 too. -
07:13 PM Misc #17412: Regexp vs Range: freezing differences
- FWIW, I think all Regexp objects should be frozen (https://bugs.ruby-lang.org/issues/8948#note-16).
TruffleRuby will probably try this, because mixing immutable & mutable Regexps is leading to many complications when considering code sh... -
04:34 PM Misc #17412: Regexp vs Range: freezing differences
- More correctly, I don't want to debug (or get complaint) world-wide Regexp modifying code.
For 3.1, we can try if someone has a passion.
BTW, for the keyword parameter changes, many people work a lot (especially @mame and @jeremyevan... -
10:37 AM Misc #17412: Regexp vs Range: freezing differences
- Thanks for the explanation!
-
03:00 AM Misc #17412 (Closed): Regexp vs Range: freezing differences
- Hi,
zverok (Victor Shepelev) wrote:
> > For the record: `Regexp.new` should continue to return unfrozen Regexp instance. (@mame at #16377#note-7)
This is not my opinion but Matz's decision. I'm sorry if I was not clear.
> ...
T... -
06:49 PM Bug #17413 (Closed): --backtrace-limit: wrong level counter
- Having this `test.rb`:
```ruby
def inner
raise 'test'
end
def outer
inner
end
outer
```
...one might observe the following:
```
$ ruby test.rb
test.rb:2:in `inner': test (RuntimeError)
from test.rb:6:in `oute... -
05:39 PM Revision 6be61ab2 (git): should use owned_p instead of locked_p
- It should raise an error if the same thread tris to call
receive/receive_if. - 05:38 PM Revision 435b619a (git): fix phrasing in comment
-
05:21 PM Revision 7600f69a (git): rename to rb_ractor_make_shareable_copy()
- from rb_ractor_make_copy_shareable().
-
05:09 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- https://github.com/ruby/ruby/pull/3950
-
04:25 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- marcandre (Marc-Andre Lafortune) wrote in #note-9:
> > * 2nd parameter `req` is not clear and I believe people forget to call it correctly.
> ...
I think most of case it will be called if people using send/receive in various case.
To ... -
04:19 PM Revision 9c73c756 (git): Use Integer instead of Fixnum/Bignum
-
04:19 PM Revision fb8f0114 (git): Fixed indefinite articles before "Integer" [ci skip]
-
04:19 PM Revision ad534a67 (git): Fixnum as a Symbol was an old feature until 1.6
- 04:15 PM Revision a365ae84 (git): * 2020-12-21 [ci skip]
-
04:13 PM Revision 730f3141 (git): fix Ractor.make_shareable() with Class/Module
- To check shareable-ness, rb_ractor_shareable_p() is needed
for Class/Module objects isntead of checking flags. -
03:28 PM Feature #17411: Allow expressions in pattern matching
- That's perfect 👍
Any chance Nobu can come up with a patch quickly? -
09:26 AM Feature #17411: Allow expressions in pattern matching
- @marcandre The idea is interesting. I propose `^(expression)` notation.
Matz.
-
10:36 AM Revision 8680ae9c (git): irb: Removed unused variables
-
10:35 AM Revision 4b6e3f7b (git): irb: Define extension command on the given object
-
10:17 AM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
- Thanks, @mame!
(Sorry for a huge amount of tickets from me, I just really need to understand the quirks and reasoning clearly to explain in docs and changelogs.) -
03:06 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
- It is intentional.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj
> ktsj: How about allowing the typical r-assign case as an official (not experiment... -
09:34 AM Feature #12654 (Closed): On Windows use UTF-8 as filesystem encoding
- Applied in changeset commit:git|5b98b2ce39ed979aec614365a2dc3e1c30052bca.
----------
win32: Use UTF-8 as filesystem encoding [Feature #12654]
Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com> -
09:34 AM Revision 37987d99 (git): win32: Deprecate file CP version functions
-
09:34 AM Revision 95862ae4 (git): win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]
-
09:34 AM Revision 5b98b2ce (git): win32: Use UTF-8 as filesystem encoding [Feature #12654]
- Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com>
-
09:27 AM Bug #17409: Endless range of dates stuck on include? when miss
- It's not a bug. But I admit it's a pitfall. Maybe we can warn or make it an error in the future.
Matz.
-
09:26 AM Revision feea436f (git): irb: Define extension command only on the given object
- Not to interfer in class variables.
-
08:15 AM Revision 0fad9a9e (git): Set non-verbose mode as well as tty mode
-
08:07 AM Revision 59b84fbf (git): Set :DEFAULT to PROMPT_MODE for CI
-
07:48 AM Revision 216a087e (git): Suppress errors related to using variables that are not directly related to testing
-
07:23 AM Revision 24fcbc92 (git): [ruby/irb] Version 1.2.8
- https://github.com/ruby/irb/commit/bcd96834c7
-
07:23 AM Revision a7cacd33 (git): [ruby/reline] Version 0.1.10
- https://github.com/ruby/reline/commit/723c6e191a
-
07:23 AM Revision 9f08e3c7 (git): [ruby/irb] Add measure command
- You can use "measure" command to check performance in IRB like below:
irb(main):001:0> 3
=> 3
irb(main):002:0> measure
TIME is added.
=> nil
irb(main):003:0> 3
processing time: 0.000058s
=> 3
irb(main):004:0> measure :... -
07:23 AM Revision 8b6aaead (git): [ruby/irb] Handle rest of tokens correctly if no newline at last
- https://github.com/ruby/irb/commit/f3c8edad2a
-
07:00 AM Revision 67ee1cbd (git): Remove unnecessary files from .document
- * ruby:ext/rbconfig/exts.mk
* ruby:ext/rbconfig/sizeof/Makefile
* ruby:ext/rbconfig/sizeof/depend
* ruby:ext/rbconfig/sizeof/mkmf.log
* ruby:ext/win32/depend
* ruby:ext/win32/exts.mk
* ruby:ext/win32/resolv/depend
* ruby:lib/racc/pre-setup -
06:13 AM Revision b911509a (git): Adjusted indents of closing braces [ci skip]
-
05:38 AM Revision 7d0144e0 (git): Check mjit_call_p only when interrupted
- for leaf_without_check_ints insns.
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux... -
05:29 AM Revision ae1cc3fd (git): Made an internal callback function static
-
05:02 AM Revision 02b35558 (git): Install gdb on Actions
-
04:35 AM Revision 85ec6cc3 (git): Fix markups and indentation
-
04:25 AM Revision d37be18a (git): Fix typos
-
04:22 AM Revision 4902f96e (git): Update documentation for pattern matching
- 03:37 AM Revision b1b6dbfd (git): `assert_ractor` tweak. Thanks Nobu
-
02:46 AM Revision f70b894b (git): sync RCLASS_CONST_TBL()
- RCLASS_CONST_TBL() is shared resource so we need to sync with
other ractors. -
01:25 AM Revision 648bbfcc (git): Update rbs 1.0.0.pre (#3941)
12/19/2020
-
11:38 PM Misc #17412 (Closed): Regexp vs Range: freezing differences
- While working on the changelog, I noticed the following in the 3.0:
```ruby
/foo/.frozen? # => true
(1..3).frozen? # => true
# but...
Regexp.new('foo').frozen? # => false
# ...whereupon
Range.new(1, 3).frozen? # => true
... -
10:50 PM Misc #16443: GC.compact is not documented
- @tenderlovemaking thanks a lot!
-
10:13 PM Misc #17367 (Closed): CI: Env variable for Ractor compatibility tests? - Applied in changeset commit:git|70f20234b297a7fc9940bace30101813aa9df052.
----------
Add `assert_ractor` [Feature #17367] - 10:13 PM Revision 6343a811 (git): [ruby/ostruct] Add Ractor test
- 10:13 PM Revision 67e062b5 (git): [ruby/matrix] Add Ractor test
- This reverts commit cacdf2681dcc7c431973f33a18979b10566ec2f9.
- 10:13 PM Revision 70f20234 (git): Add `assert_ractor` [Feature #17367]
-
10:12 PM Feature #17274 (Closed): Ractor.make_shareable(obj)
-
07:51 PM Revision 7f8108ee (git): fix indent
-
07:22 PM Revision bcf4b236 (git): ext/racc/cparse is ractor-safe
-
07:22 PM Revision 846c4b03 (git): ext/monitor is ractor-safe
-
07:22 PM Revision c1461c92 (git): cgi/escape is ractor-safe
-
07:14 PM Revision 36213800 (git): NEWS.md: remove nonsense caveat
- 3.0 will be released in a few days (hopefully), so remove a caution: "it
may be reverted until 3.0 release." -
06:34 PM Feature #17411: Allow expressions in pattern matching
- IIUC, it is by design that you can't have expressions in pattern match; pattern match are a quite separate syntax.
I agree that it is quite limiting, so I've taken the liberty to changing your issue to a feature request.
It would b... -
06:16 PM Feature #17411 (Closed): Allow expressions in pattern matching
- Code:
```ruby
version = {name: '2.6', released_at: Time.new(2018, 12, 25)}
version in {released_at: Time.new(2010)..Time.new(2020)}
# ^ syntax error, unexpected '.', expecting '}'
# This works:
range ... -
06:14 PM Revision ed4381d9 (git): BigDecimal#precs is deprecated
-
06:13 PM Revision c01ad11f (git): bigdecimal: initialize conditionally assigned variable
-
06:12 PM Feature #16274: Transform hash keys by a hash
- Ah, I overlooked.
```
irb(main):003:0> { a: 1, c: 1 }.transform_keys({ a: :b })
=> {:b=>1, :c=>1}
irb(main):004:0> { a: 1, c: 1 }.transform_keys(&{ a: :b })
=> {:b=>1, nil=>1}
``` -
06:10 PM Feature #16274: Transform hash keys by a hash
- Looks like everyone has forgotten `Hash#to_proc`?
```
irb(main):001:0> { a: 1 }.transform_keys({ a: :b })
=> {:b=>1}
irb(main):002:0> { a: 1 }.transform_keys(&{ a: :b })
=> {:b=>1}
``` -
06:10 PM Revision b2acae32 (git): Reduced ID caches
- NEW_GASGN and NEW_GVAR evaluate `id` argument twice.
- 06:08 PM Revision a273171c (git): Tweak Ractor doc [doc] [ci skip]
-
06:04 PM Revision 1f565ac6 (git): Add documentation for Ractor (#3895)
-
04:57 PM Revision d44671c8 (git): Revived the getenv macro for dln_find.c
- This partially reverts commit "Windows: Improve readablity of
getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6.
The `getenv` macro defined here is to also substitute the function
in dln_find.c, not only in this file. -
04:04 PM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
-
11:04 AM Bug #17409: Endless range of dates stuck on include? when miss
- Nothing specific to dates there, and not a bug.
This is just how ranges work:
* `range.include?(x)` is basically `range.each.any? {|el| el == x }`, which, with endless range, is an infinite loop
* `range.cover?(x)` is basically `x >= ra... -
10:47 AM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
- This code stucks (on latest ruby 2.7.1):
```ruby
require 'date'
(Date.today..).include?(Date.today - 1)
```
But it works well with `cover?`:
```ruby
2.7.1 :001 > require 'date'
=> true
2.7.1 :002 > (Date.today..).cover?(Da... - 03:42 PM Revision 50f1e7eb (git): NEWS: Add an entry of Pathname [ci skip]
- 03:41 PM Revision 48bd5a3d (git): * 2020-12-20 [ci skip]
- 03:40 PM Revision de80b928 (git): [pathname] Make Pathname Ractor safe (#3940)
-
03:34 PM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
- Matz can confirm, but I think it's ok. `1 => x` can never *not* match and is there to stay. `[1, 2, 3] => [x, *]` is probably more subject to change (what happens if no match, what is acceptable syntax), although I happen to think it's s...
-
11:57 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
- Is this intentional? Probably an effect of changing the behavior of warning categories?
```ruby
RUBY_REVISION
# => "1ba8d63b49318e5682a22502c5f5b70e3298da8f"
[1, 2, 3] => [x, *]
# (irb):8: warning: One-line pattern matching is ... -
03:30 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- Eregon (Benoit Daloze) wrote in #note-10:
> Removing eagerly seems like it will inherently be problematic if there are multiple Thread calling `Ractor.receive {}`.
It is imperative that a message is not processed twice though. You can c... -
11:33 AM Feature #17378: Ractor#receive with filtering like other actor langauge
- I think a good way to fix this would be to have some variant of pattern matching, that automatically wraps each `in` body in a lambda.
That would allow matching patterns, executing some code, and then executing the body.
This was actua... -
03:18 PM Feature #17406: Add `NoMatchingPatternError#depth`
- Eregon (Benoit Daloze) wrote in #note-1:
> How would this work?
> ...
I think of it as a catch in each `case-in`, but the effect is the same.
> Seems rather hacky to me.
Possibly 😅.
Actual downside? -
11:31 AM Feature #17406: Add `NoMatchingPatternError#depth`
- How would this work?
Mutating a field of the NoMatchingPatternError in a catch(NoMatchingPatternError) inserted in every `in` and `else`?
Seems rather hacky to me. - 01:15 PM Revision d62414b4 (git): NEWS: Update BigDecimal version [ci skip]
-
01:14 PM Bug #13331 (Closed): Inconsistent conversion of Float into Decimal - Applied in changeset commit:git|e1424c35012ccf1f3822c9046081b225aef4142e.
----------
[bigdecimal] Fix the default precision of Float#to_d
Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal... - 01:13 PM Revision 8355a3e1 (git): [bigdecimal] Fix deprecation warning test
- 01:13 PM Revision 8986f948 (git): [bigdecimal] Version 3.0.0
- https://github.com/ruby/bigdecimal/commit/e68f1eb33a
- 01:13 PM Revision df3deb3b (git): [bigdecimal] Add BigDecimal#n_significant_digits
- https://github.com/ruby/bigdecimal/commit/981dc48f95
https://github.com/ruby/bigdecimal/commit/9ecf880ec04 - 01:13 PM Revision 654f6fbf (git): [bigdecimal] Make BigDecimal#precs deprecated
- https://github.com/ruby/bigdecimal/commit/7e80e6e145
https://github.com/ruby/bigdecimal/commit/0ed7846e8c - 01:13 PM Revision ff9e4081 (git): [bigdecimal] Add BigDecimal#precision
- https://github.com/ruby/bigdecimal/commit/458eb66c49
- 01:13 PM Revision 928a0672 (git): [bigdecimal] Make bigdecimal Ractor safe
- https://github.com/ruby/bigdecimal/commit/93fc392640
https://github.com/ruby/bigdecimal/commit/a90d13c4d0 - 01:13 PM Revision 97d4e72e (git): [bigdecimal] Use DBLE_FIG
- https://github.com/ruby/bigdecimal/commit/12296dcb90
- 01:13 PM Revision e1424c35 (git): [bigdecimal] Fix the default precision of Float#to_d
- Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal/commit/aa536cd4b5 -
12:19 PM Revision 4735a5b9 (git): test/ruby/test_module.rb: Avoid "warning: method redefined"
-
11:22 AM Feature #17407: Fiber.current and require 'fiber'
- Maybe we should just include these Fiber methods in core, and `require 'fiber'` would be a no-op (for compatibility)?
Agreed it's confusing such a core class has only half the documented methods defined without an extra `require`. -
11:19 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- nobu (Nobuyoshi Nakada) wrote in #note-22:
> `HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
I see, thanks. I somehow missed that because it wasn't in ko1's original PR, and I forgo... -
08:53 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- Eregon (Benoit Daloze) wrote in #note-21:
> I guess
> ...
`HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
-
09:56 AM Bug #17396: Missing .gemspec files
- When the .gem file contains .gemspec file, then it should be installed by rbinstall.
~~~
$ gem unpack rexml
Fetching rexml-3.2.4.gem
Unpacked gem: '/home/vondruch/rexml-3.2.4'
$ find rexml-3.2.4/ | grep gemspec
rexml-3.2.4/rexm... -
08:09 AM Bug #17396 (Closed): Missing .gemspec files
- Gem files contain metadata processed from gemspec files, other than the source gemspecs.
The source often contains some code which do not make sense in its upstream working directory, e.g., `git ls-files`.
As well as `gem install` uses... -
09:22 AM Revision 1ba8d63b (git): Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e
-
09:19 AM Revision eb8ea336 (git): Feature 17314: allow to pass array to public, protected and private methods
-
09:04 AM Revision 8148f88b (git): ALWAYS_INLINE implies inline
- 08:59 AM Revision 0d3dc2ec (git): Make `Hash#except` always return a Hash
- [Feature #15822]
-
08:34 AM Revision 5611066e (git): Prefer RB_OBJ_FROZEN_RAW
- following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --... -
08:32 AM Revision e33eb09b (git): ripper: fix `#tok` on some error events [Bug 17345]
- sorting alias target by event arity, and setup suitable `Elem` for error.
-
08:31 AM Bug #17388 (Closed): Doesn't Warning.warn support `category: :experimental` in Ruby 3.0.0?
-
08:27 AM Revision 52b1716c (git): Fix vm_search_invokeblock
- call_ needs to be vm_invokeblock_i, and flags is also not empty.
-
08:03 AM Revision 8ec8f375 (git): discourage inlining for vm_sendish()
- reversing 9213771817 only for JIT, because it made JIT slower.
$ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' --repeat-count=36 --alternate --output=all benchmark.yml
before: ruby 3.0.0dev (2020-12-19T07:38:17Z ma... -
07:53 AM Revision 349e79ba (git): Try to test with rake-13.0.2 again.
- [ruby/fileutils] Make verbose output go to stdout instead of stderr
This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c. -
07:52 AM Revision bdd18090 (git): Bump bundled rake version to 13.0.2
-
07:38 AM Revision a1393185 (git): Added macros for headers which are not included by ruby.h
-
07:38 AM Revision 042c3e91 (git): Check macros for headers
-
07:38 AM Revision 197550c9 (git): Renamed check_encoding.yml as check_misc.yml [ci skip]
-
06:34 AM Revision 5c9d6ea6 (git): Strip trailing spaces [ci skip]
-
06:34 AM Revision 553d6fa0 (git): [DOC] Marked dtrace arguments as description list [ci skip]
-
06:34 AM Revision a5832c9a (git): [DOC] Fixed markups in dtrace_probes.rdoc [ci skip]
- * `+` can enclose just a word.
* TIDYLINK with braces gets confused when other braces even inside
code precede. -
06:24 AM Revision 144b11e0 (git): Fix `warning: instance variable @head not initialized` and remove unused instance variable
- 06:08 AM Revision e64af7d5 (git): NEWS: Add an entry of Digest 3.0.0 [ci skip]
- 06:08 AM Revision 0cb556b4 (git): [digest] Version 3.0.0
- https://github.com/ruby/digest/commit/4bbd247a32
- 06:08 AM Revision b66f52b0 (git): [digest] Make digest Ractor safe
- https://github.com/ruby/digest/commit/c13a024b85
https://github.com/ruby/digest/commit/9edca3f8be
https://github.com/ruby/digest/commit/378b56b6ca -
06:08 AM Revision feacae19 (git): [digest] Added rb_digest_make_metadata to wrap metadata
- https://github.com/ruby/digest/commit/7046fe6005
-
03:24 AM Revision 5b2cf7ea (git): Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ...
- 34f06062174882a98ebef998c50ad8d4f7fc0f2e
Add a test for alias_method -
03:23 AM Revision 51bcd509 (git): Feature 17314: alias_method returns symbol
-
02:44 AM Revision 34f6b22d (git): Use rb_id_attrset without intermediate strings
-
02:39 AM Revision 5616f2ee (git): Added missing tests for public, private, protected and alias_method
-
12:22 AM Revision d40d9529 (git): Feature 17314: update docs and NEWS about attr* methods returning array of symbols
12/18/2020
-
11:32 PM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread
- ```ruby
t = Thread.new{}
p t.backtrace
# => nil
f = Fiber.new{}
p f.backtrace
# => []
```
It seems inconsistent, is this intentional?
Ping @ioquatix -
11:08 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
- Maybe it is not the right time to ask, but why one need to do `require 'fiber'` before using `Fiber.current`?
For what I can see,
* it is this way since [their introduction](https://docs.ruby-lang.org/en/2.0.0/Fiber.html#method-c-cu... -
09:49 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- ko1 (Koichi Sasada) wrote in #note-8:
> I have several concern about `Ractor#receive` proposed at #note-6.
> ...
I agree that is an issue. It would be much better if we had `NoMatchingPatternError#depth` #17406. We could intercept only... -
07:48 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- I have several concern about `Ractor#receive` proposed at #note-6.
* `NoMatchingPatternError` can be raised in tasks unexpectedly (maybe by bug) and it can cause something strange behavior (like falsy on `receive_if`).
* 2nd paramete... -
09:45 PM Feature #17406 (Open): Add `NoMatchingPatternError#depth`
- Could we have `NoMatchingPatternError#depth`, returning the number of `case...in...end` an exception has traversed?
```ruby
def show_depth
yield
rescue NoMatchingPatternError => e
puts "Depth: #{e.depth}"
raise
end
show... -
09:17 PM Feature #17404: Ractor `move:` API to allow shareability check
- Oh, sorry, I didn't see the `_ref` part. So you are proposing a different method. In my mind, they are all ways of sending a message, it's just a question of method to cross the Ractor frontier. move/copy/has-cross-border-visa 😅
Otherwi... -
09:10 PM Feature #17404: Ractor `move:` API to allow shareability check
- marcandre (Marc-Andre Lafortune) wrote in #note-2:
> ko1 (Koichi Sasada) wrote in #note-1:
> ...
not sure what you mean. I mean:
```ruby
def send_ref(obj)
raise unless Ractor.shareable?(obj)
send(obj)
end
```
> We have t... -
06:40 AM Feature #17404: Ractor `move:` API to allow shareability check
- ko1 (Koichi Sasada) wrote in #note-1:
> `#send_ref(message)` and raise an error if message is not a sharable?
There would be an easy way to deep-copy or deep-move an object, right? If you mean that the default should be `pass: :share`, ... -
05:18 AM Feature #17404: Ractor `move:` API to allow shareability check
- `#send_ref(message)` and raise an error if message is not a sharable?
-
09:11 PM Feature #17393: `Ractor::Moved#inspect`
- Yes, that looks good, that is what I was proposing in note 1 too 👍
-
09:03 PM Feature #17393: `Ractor::Moved#inspect`
- I don't think providing `#inspect` is good idea because any methods should respond to the moved object.
Otherwise there is possibility to ignore the accessing moved objects.
I prefer to show the moved location in the error message.
... -
09:10 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- Great, thank you for the update.
One last concern with `experimental_everything`/`experimental_shareable` is for Ruby 3.1... If no longer experimental, we then accept `everything`. But if someone want to write code also compatible wit... -
08:37 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- By seeing the list, about `experimental_everything`, `experimental_shareable` seems better naming...
-
08:35 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- By discussion with Matz and Nobu, we choose "(2) raises an error for unshareable non-literals on runtime (my proposal)".
* on compile time: for `FOO = expr`
* case `FOO = literal_only`
* compile to => `FOO = Ruby... -
03:45 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- marcandre (Marc-Andre Lafortune) wrote:
> I think `shareable_constant_value: literal` is too strict because it has too crude checks at parse time.
This is true. Current restriction is very conservative not to break things (See #1727... -
08:59 PM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
- Applied in changeset commit:git|76e88480371469400346fca609efe67096813915.
----------
unfreeze Ractor::MovedObject
Matz prefers to unfreeze the class.
[Feature #17401] -
08:56 PM Feature #17401: The class `Ractor::MovedObject` should not be frozen
- Matz prefers to provide a free to shoot the foot.
-
08:57 PM Revision 76e88480 (git): unfreeze Ractor::MovedObject
- Matz prefers to unfreeze the class.
[Feature #17401] -
08:52 PM Revision 80cb9165 (git): add "copy: true" option for Ractor.make_shareable
- Ractor.make_shareable(obj) tries to make obj a shareable object
by changing the attribute of obj and traversable objects from obj
(mainly freeze them).
"copy: true" option is more conservative approach by make deep
copied object and mak... -
08:25 PM Bug #17366 (Closed): Ractor odd issue with timeout + receive + sleep + take
- commit:c2fa024e0220aca6e2437e56df2abf1a2368cbdf
-
08:25 PM Feature #17365 (Closed): Can not respond (well) to a Ractor
- https://bugs.ruby-lang.org/issues/17378
-
07:33 PM Misc #17399: Are endless methods experimental?
- I think the warning would be helpful if we change what is allowed after `=`, especially if we would forbid something that was previously allowed (e.g., to make the rule clearer).
If there is no warning, people will assume it's a stable ... -
06:35 AM Misc #17399: Are endless methods experimental?
- Additional note:
* I am not going to remove endless-def
* I don't think the warning is necessary. Since we are not going to remove it.
Matz.
-
12:57 AM Misc #17399: Are endless methods experimental?
- I agree with @eregon. We still need more investigation for issues like #17398
Matz. -
07:33 PM Bug #17386 (Closed): Refinements break prepend
- Applied in changeset commit:git|cee02d754d76563635c1db90d2ab6c01f8492470.
----------
fix refinements/prepend bug
replaced method entry should be invalidated.
[Bug #17386] -
07:33 PM Revision cee02d75 (git): fix refinements/prepend bug
- replaced method entry should be invalidated.
[Bug #17386] -
07:33 PM Revision 04d62e6f (git): fix method cache debug tool
-
06:40 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- I've missed this was committed (https://github.com/ruby/ruby/pull/3824), the API seems fine.
Example usage:
```c
#ifdef HAVE_RB_EXT_RACTOR_SAFE
rb_ext_ractor_safe(true);
#endif
```
https://github.com/ruby/ruby/commit/3d31944129180
I ... -
06:25 PM Revision 0e79d4cd (git): Added tests for [Feature #17314]
- Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e
-
06:20 PM Revision aa7a0207 (git): Revert "Revert "Use rb_id_attrset without intermediate strings""
- This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604.
Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248. -
06:16 PM Revision 346bf0f5 (git): spec/ruby/core/module/attr_*: Add version guards
-
06:11 PM Revision 5944c4b3 (git): attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935)
- Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
- 06:06 PM Revision f6641d73 (git): NEWS: Add an entry of StringScanner 3.0.0 [ci skip]
- 06:05 PM Revision b3b7f1e5 (git): NEWS: Add an entry of StringIO 3.0.0 [ci skip]
- 06:02 PM Revision f213a271 (git): NEWS: fiddle 1.0.4 [ci skip]
-
05:59 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
- When irb is called with the --nomultiline option (for example, when called from emacs), then if the output contains some special characters (such as the square root sign, or a single quotation mark), then irb gets an exception.
Withou... -
05:54 PM Revision 7e2dbbda (git): Use category: :experimental in warnings that are related to experimental features
- This adds rb_category_compile_warn in order to emit compiler warnings
with categories. Note that Ripper currently ignores the category
for these warnings, but by default it ignores the warnings completely,
so this shouldn't matter. -
05:54 PM Revision 05313c91 (git): Use category: :deprecated in warnings that are related to deprecation
- Also document that both :deprecated and :experimental are supported
:category option values.
The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.
Comment a couple locations where depreca... -
05:54 PM Revision 6ced55b0 (git): Make warning_categories a map of category symbols to category numbers
- Use this to simplify rb_warning_category_from_name.
This also adds support for using the :experimental category in
Kernel#warn and Warning.warn. -
05:54 PM Revision 52fb696e (git): Switch rb_category_warn{,ing} to accept an rb_warning_category_t
- Since we decided to only allowing specific warning categories,
there is no reason to have an API that accepts a general string,
as it is more error-prone. Switch to only allowing the specific
warning categories.
As rb_category_warn{,in... - 05:44 PM Revision 7b06085c (git): [bigdecimal] Fix test for d5ab8e8562
- 05:29 PM Revision d5ab8e85 (git): [bigdecimal] Use rb_undef_alloc_func to undefine allocate
-
05:12 PM Revision c2a5594e (git): [ruby/reline] Use cached prompt list when just moved the cursor
- https://github.com/ruby/reline/commit/cfe619460b
-
05:12 PM Revision d4257c61 (git): [ruby/reline] Yank by em-kill-region correctly
- This closes ruby/reline#106.
https://github.com/ruby/reline/commit/2549a52e15 -
05:12 PM Revision af2c81e1 (git): [ruby/reline] Bind yank-pop correctly
- https://github.com/ruby/reline/commit/3c74beac65
-
05:12 PM Revision 671f2762 (git): [ruby/reline] Add Enumerable to KillRing for debugging
- https://github.com/ruby/reline/commit/d208874152
-
05:12 PM Revision dc61affd (git): [ruby/reline] [ruby/irb] Call ripper only once when generating dynamic prompt
- https://github.com/ruby/irb/commit/babb122a48
https://github.com/ruby/reline/commit/e6dbcb3b42 -
05:05 PM Bug #17345: ripper: nothing raised when assigning to keyword variables
- > Now, the '#tok' on some error events are `Elem` instead of string.
pull request: https://github.com/ruby/ruby/pull/3936
-
05:05 PM Revision e76b56f5 (git): support Ruby 2.x for openssl
-
03:53 PM Revision ad76c8fb (git): Update TypeProf to 0.10.0
-
03:34 PM Revision 19a98a87 (git): Fixed not to make non-literal expression shareable [Feature #17273]
- Non-literal expression which is not a part of a literal expression
is not a subject of `shareable_literal_value: literal`. - 03:04 PM Revision 6945597f (git): * 2020-12-19 [ci skip]
-
03:04 PM Revision ed5c09f3 (git): Remove unused variable
-
02:37 PM Feature #17339 (Assigned): Semantic grouping with BigDecimal#to_s
-
02:31 PM Bug #9246 (Closed): NoMemoryError is occurred by simple addition of BigDecimal
- This no longer occurs with the latest version of bigdecimal.
- 01:00 PM Revision c71934f8 (git): [stringio] Version 3.0.0
- https://github.com/ruby/stringio/commit/831be01071
- 01:00 PM Revision e1b5289a (git): [stringio] Add test-unit in the development dependencies
- https://github.com/ruby/stringio/commit/de010fc0e9
- 01:00 PM Revision 3d319441 (git): [stringio] Make stringio Ractor safe
- https://github.com/ruby/stringio/commit/ee3fec7512
https://github.com/ruby/stringio/commit/18dcd045ef
https://github.com/ruby/stringio/commit/18dcd045ef - 12:58 PM Revision 14ca7f63 (git): [openssl] Fix dependencies
-
10:17 AM Bug #17402 (Closed): Remove deprecated GC-related features
-
09:19 AM Revision b5588edc (git): openssl is ractor-safe
- ossl_bn_ctx is C's global variable and it should be ractor-local
to make it ractor-safe. -
08:59 AM Revision 74ab2c3b (git): finalizing should be checked before VM lock
-
08:56 AM Revision 7d32bf78 (git): Removed a moved local variable
-
08:50 AM Revision 61236770 (git): need to sync gc_finalize_deferred
- gc_finalize_deferred() runs finalizers and it accesses objspace,
so it need to sync. -
07:27 AM Revision 75416b86 (git): Removed old GC.stat keys deprecated since 2.2
-
07:27 AM Revision 763d5f9c (git): Removed old GC tuning environment variables deprecated since 2.1
-
07:08 AM Revision 982443e6 (git): Revert "Better cooperation between public/protected/private with attr* and alias_method"
- This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b.
-
07:08 AM Revision 41c208d4 (git): Revert "Use rb_id_attrset without intermediate strings"
- This reverts commit 66090b9d10cdaed917b525225e59d1c19e399248.
-
07:08 AM Revision c4e50b58 (git): Revert "Added missing tests for public, private, protected and alias_method"
- This reverts commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4.
-
07:08 AM Revision 0a60ba92 (git): Revert "Added tests for [Feature #17314]"
- This reverts commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e.
-
06:44 AM Feature #16274: Transform hash keys by a hash
- solnic (Piotr Solnica) wrote in #note-18:
> marcandre (Marc-Andre Lafortune) wrote in #note-17:
> ...
It looks like you are replying to me, but of course this is Matz' decision. That said I feel that the current name is good, especiall... -
06:25 AM Feature #16274: Transform hash keys by a hash
- marcandre (Marc-Andre Lafortune) wrote in #note-17:
> Closing, since this has been committed by Nobu 🎉 (in b25e27277dc39)
> ...
This is a wonderful addition but is there a chance you'd reconsider it? Instead of making `transform_keys` ... -
06:16 AM Revision 8e03e3b0 (git): Drop token info also for endless singleton method definition
-
05:59 AM Revision ffc8a72f (git): Sort URLs by issue numbers [ci skip]
-
05:36 AM Revision f0ec923c (git): Remove --jit-save-temps from MJIT
- It's probably not helping the backtrace.
- 05:25 AM Revision b5de66e1 (git): [strscan] Fix license comment and files
- https://github.com/ruby/strscan/commit/a999f2c6d1
- 05:25 AM Revision 53709639 (git): [strscan] Version 3.0.0
- https://github.com/ruby/strscan/commit/08645e4e77
- 05:25 AM Revision 985f0af2 (git): [strscan] Make strscan Ractor safe (#17)
- * Make strscan Ractor safe
* Add test-unit in the development dependencies
https://github.com/ruby/strscan/commit/3c93c2bebe -
05:16 AM Revision cfa124ef (git): acquire VM lock on gc_verify_internal_consistency()
- There is a case to call this function without VM lock acquiring.
-
05:11 AM Revision 8cba3b35 (git): Bump version RubyGems and Bundler in NEWS
-
05:09 AM Revision b44f7151 (git): zlib is ractor-safe
-
04:33 AM Revision 0e40cc9b (git): Merge RubyGems 3.2.2 and Bundler 2.2.2
-
04:15 AM Feature #17099: Remove boolean argument and warning from Module#attr
- It has not been warned unless `$VERBOSE` yet.
We may need wait one more release if we obey the previous rule.
But deprecations aren't warned even if `$VERBOSE` since 2.7.2, I think we can reconsider that rule. -
04:04 AM Feature #17314 (Closed): Provide a way to declare visibility of attributes defined by attr* methods in a single expression
- Applied in changeset commit:git|34f06062174882a98ebef998c50ad8d4f7fc0f2e.
----------
Added tests for [Feature #17314] -
04:03 AM Revision 34f06062 (git): Added tests for [Feature #17314]
-
03:59 AM Revision e042e846 (git): Added missing tests for public, private, protected and alias_method
-
03:10 AM Revision 66090b9d (git): Use rb_id_attrset without intermediate strings
-
02:23 AM Revision a07f2498 (git): socket is ractor-safe.
-
02:18 AM Revision aa82b067 (git): ruby_set_stack_size: no longer exists
- Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5
-
01:58 AM Feature #17398: SyntaxError in endless method
- The following patch allows `def foo() = puts "bar"`. It brings no parser conflict.
https://gist.github.com/mame/0773bf3938e046e2b608de5fb2a826c8
However, it is not perfect. `private def foo() = puts "foo"` does not parse.
`private... -
12:12 AM Revision 51c2725d (git): use eval to create different Regexp objects
- Only one warning is shown for the same Regexp object, so create
different objects to support repeating tests.
http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3290658
12/17/2020
-
11:26 PM Revision 29e42b8b (git): add explicit check
- To debug this issue:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz -
09:28 PM Misc #16443 (Closed): GC.compact is not documented
- Applied in changeset commit:git|895b10ad020a788566c6e35431d07e6121e38c87.
----------
Add documentation about GC.compact
[Misc #16443][ruby-core:96395] -
09:27 PM Misc #16443: GC.compact is not documented
- Hi Victor. I added some documentation in 895b10ad020a788566c6e35431d07e6121e38c87. Please feel free to add more details, but I don't want to describe how the internals work since they may change.
Thanks. -
09:26 PM Revision 895b10ad (git): Add documentation about GC.compact
- [Misc #16443][ruby-core:96395]
-
07:47 PM Feature #15822: Add Hash#except
- I think `except` should always return a Hash, since Matz prefers returning [the base class instead of subclass](https://bugs.ruby-lang.org/issues/6087#note-12) and we're changing a bunch of String methods too.
I will merge https://git... -
06:29 PM Feature #17404 (Assigned): Ractor `move:` API to allow shareability check
- I'd like to `ractor.send(message)` and express that `message` should be shareable. Currently I'm given two choices: `move: true` and `move: false` / nothing, neither of which have an effect if my `message` is shareable, and neither of wh...
-
05:46 PM Revision 81739ad4 (git): Better cooperation between public/protected/private with attr* and alias_method
- 04:20 PM Revision f7a6b460 (git): * 2020-12-18 [ci skip]
-
04:20 PM Revision 6538c89f (git): gc_verify_internal_consistency() needs barrier
- gc_verify_internal_consistency() accesses all slots (objects) so
all ractors should stop before starting this function. -
04:16 PM Feature #17398: SyntaxError in endless method
- Eregon (Benoit Daloze) wrote in #note-3:
> So it's probably going to be very difficult to explain the actual condition, other than showing specific examples.
Endless methods definitions don’t support poetry mode? -
01:52 PM Feature #17398: SyntaxError in endless method
- Conceptually, according to the typical definition in computer science, both `puts("bar")` and `puts "bar"` are expressions (i.e., they return a value, and if it was some other method than `puts` it would also not always be `nil`).
It mi... -
09:39 AM Feature #17398: SyntaxError in endless method
- @mame Hmm, haven't thought about it from this perspective... Can you please explain a bit? As far as I can see, in, say, assignment context it behaves like an expression:
```ruby
result = puts 'foo'
# prints "foo", result = nil
```... -
12:49 AM Feature #17398: SyntaxError in endless method
- The body of an endless method must be an expression (called "arg" in the syntax rules of parse.y). `puts("bar")` is an expression, but `puts "bar"` is a statement (called "command" in the syntax rules).
I think it could be a bit confu... -
01:54 PM Misc #17399: Are endless methods experimental?
- I think a warning would better, especially since there were quite a few changes regarding what was accepted after the `=`.
Also, they purely seem redundant to me and I guess to others, so maybe they might be removed one day like the p... -
01:39 PM Revision caef364c (git): test/ruby: suppress some warnings
- follow up to 9908177857a28633d6279c43a1ad4dfedcb98596
-
01:24 PM Feature #17403 (Closed): Remove Fixnum and Bignum
- They are warned as deprecated since 2.4.
As deprecated warnings are not shown by default since 2.7.2, I think we should clean up longstanding warnings.
https://github.com/ruby/ruby/pull/3927 - 11:24 AM Revision 980f994b (git): [ruby/irb] Change context-mode's default to new mode 4.
- This new mode uses a copy of the TOPLEVEL_BINDING. This is compatible with refinements (contrary to mode 3), while keeping nested IRB sessions separate
https://github.com/ruby/irb/commit/25c731cb2f -
11:23 AM Revision 753222d7 (git): [ruby/irb] Enable deprecation warnings when using -W or -w
- Requested in Ruby Bug 17377
https://github.com/ruby/irb/commit/698f6eb34a -
11:23 AM Revision 336fe648 (git): [ruby/irb] Skip the few failing tests on TruffleRuby
- https://github.com/ruby/irb/commit/22717844c0
-
11:22 AM Revision b5effe07 (git): [ruby/irb] Fixed a typo in a comment [ci skip]
- https://github.com/ruby/irb/commit/ce373417f3
-
11:22 AM Revision cbf6a7f9 (git): [ruby/irb] workaround for lack of tokens from `Ripper.lex`
- * Fixes #38
https://github.com/ruby/irb/commit/905fb8e52e - 11:20 AM Revision 422e2c72 (git): [ruby/reline] Use plus operator to create unfrozen string
- https://github.com/ruby/reline/commit/ca274b0d37
-
11:17 AM Revision cdf2790a (git): [ruby/reline] Support longer than screen height on Windows
- https://github.com/ruby/reline/commit/2a97ca9362
-
11:17 AM Revision 0158ba7e (git): [ruby/reline] Make a log file on windows if debug env is set
- https://github.com/ruby/reline/commit/dff30a2d44
-
11:14 AM Revision 2b8fa781 (git): [ruby/reline] Support longer than screen height
- https://github.com/ruby/reline/commit/e83a3de9ed
-
11:06 AM Revision 99081778 (git): test/ruby: Check warning messages at a finer granularity
- Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods. - 11:04 AM Revision d597d7a8 (git): Fixing glitchy kill ring behavior in irb
- See https://github.com/ruby/irb/issues/85 for details
-
09:13 AM Revision da3438a5 (git): sync obj_to_id_tbl
- objspace->obj_to_id_tbl is a shared table so we need to synchronize
it to access. -
09:13 AM Revision 7f11c808 (git): reduce barrier counts for GC events
- mark needs barrier (stop other ractors), but other GC events don't need
barriers (maybe...). -
08:37 AM Revision 99b91453 (git): relax synchronization on WB
- Current synchronization is too much on write barriers.
-
08:24 AM Revision 44fba194 (git): ruby/pathname separated .rb file to top-level directory.
-
08:03 AM Revision c42948d7 (git): add debug counters for gc start events
-
07:53 AM Revision 92137718 (git): encourage inlining for vm_sendish()
- Some tunings.
* add `inline` for vm_sendish()
* pass enum instead of func ptr to vm_sendish()
* reorder initial order of `calling` struct.
* add ALWAYS_INLINE for vm_search_method_fastpath()
* call vm_search_method_fastpath() from vm_sen... -
07:06 AM Revision 5d74894f (git): Lazily move PC with RUBY_VM_CHECK_INTS
- ```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (20... -
06:56 AM Bug #17400: Incorrect character downcase for Greek Sigma
- I have to acknowledge that I 'cut some corners'. It's essentially table 3.17 on p. 151/2 of the Unicode Standard (see https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf).
The problem from the implementation side is that it requir... -
04:26 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Java has complicated opinions as well:
```
class Main {
public static void main(String args[]) {
System.out.println("Σ".toLowerCase());
System.out.println("ΣΣs".toLowerCase());
System.out.println("ΣΣ".toLowerCase... -
03:35 AM Bug #17400: Incorrect character downcase for Greek Sigma
- If the word has a single letter (i.e., `"Σ"`), toLowerCase returns `"σ"` instead of `"ς"` even though the letter is at the end of the word. The condition seems more complex.
```
$ node
> "Σ".toLowerCase()
'σ'
``` -
03:14 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Yes everybody wants ruby to handle it "correctly". The problem right now is the lack of concrete definition of "correct" here; especially we need a definition of a word boundary.
-
03:07 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Oops, my understanding seemed to be wrong. Please forget my previous comment. When the next letter is an apostrophe, the further next letter seems to determine, but I don't understand this behavior from the code of v8. I leave it to an e...
-
02:40 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Prior art here is:
https://github.com/elixir-lang/elixir/issues/6437
https://github.com/elixir-lang/elixir/pull/6990/files
Rust
https://github.com/rust-lang/rust/issues/26035
Golang
https://github.com/golang/text/blob/master/cases... -
02:39 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Just FYI: I found the special handling code of Greek Sigma in v8. Looks like that it checks if the next character (if any) is a letter or not.
https://github.com/v8/v8/blob/4b9b23521e6fd42373ebbcb20ebe03bf445494f9/src/unicode.cc#L177-... -
01:11 AM Bug #17400: Incorrect character downcase for Greek Sigma
- I guess the ultimate reason why this is not implemented in ruby is the corresponding case mapping is commented out in https://unicode.org/Public/UNIDATA/SpecialCasing.txt
So strictly speaking we just follow what Unicode says but well,... -
06:17 AM Revision 3b4d698e (git): Ignore catch_except_p for PC motion
- We probably don't need to move it when an insn is leaf...
-
05:37 AM Revision a09c3c6f (git): expand VERSION path for ruby repository.
-
05:28 AM Feature #17342: Hash#fetch_set
- MaxLap (Maxime Lapointe) wrote in #note-19:
> matz (Yukihiro Matsumoto) wrote in #note-16:
> ...
Matz says it's rare.
I'm not sure if that is true, but so far nobody shows any evidence about its rarity. -
05:20 AM Revision 46ea7429 (git): Bump version to json-2.4.1 and use VERSION file for json version same as upstream
-
05:04 AM Bug #17402 (Closed): Remove deprecated GC-related features
- Are these backward compatibilities still needed?
I think no.
```
$ RUBY_FREE_MIN=1 RUBY_HEAP_MIN_SLOTS=1 ruby2.1 -e0
ruby2.1: warning: RUBY_FREE_MIN is obsolete. Use RUBY_GC_HEAP_FREE_SLOTS instead.
ruby2.1: warning: RUBY_HEAP_MIN... - 04:22 AM Revision ccf9da07 (git): fix doc typo
- s/it's/its
-
03:59 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- nobu (Nobuyoshi Nakada) wrote in #note-5:
> Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though).
No, that value deep-freezes implicitly all constants. Non-literals are not frozen... -
03:42 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though).
-
03:43 AM Revision d07183ec (git): Do not access jit_unit if NULL
-
12:59 AM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
- If `Ractor::MovedObject` can be not frozen that would be more helpful than currently. For example, to implement a helpful `inspect` in pure Ruby 3.0 like in #17393
It is currently possible to go around the fact that it is frozen with ... -
12:30 AM Misc #17337 (Open): Don't embed Ruby build-time configuration in Ruby
- vo.x (Vit Ondruch) wrote in #note-15:
> Should I open separate ticket for the revert and keep this ticket open for continuing the "whole principle" discussion?
Don’t worry, I have reverted that part already. Use this ticket for the ...
12/16/2020
-
11:47 PM Bug #17400 (Assigned): Incorrect character downcase for Greek Sigma
- An issue caused by this bug was first reported at Discourse support community at https://meta.discourse.org/t/unicode-username-results-in-error-loading-profile-page/173182?u=falco.
The issue is that in Greek, there are two ways to dow... -
09:48 PM Misc #16443: GC.compact is not documented
- @tenderlovemaking? @ko1? Anybody? It is still this way a week before 3.0?
Can somebody at least provide some draft explanations, or should I dig the sources more?.. -
08:55 PM Feature #17393: `Ractor::Moved#inspect`
- Discussed with ko1, who said he is afraid that unfreezing the class might create issues, as implementation is quite special. Possible implementation of `#inspect` for Ruby 3.1
Two things to keep in mind:
- usecase for unfreezing the ... -
07:57 PM Misc #17399 (Closed): Are endless methods experimental?
- They are marked as such in NEWS, but an attempt to define one doesn't produce a warning (unlike other features marked this way, like one-line pattern-matching or find patterns)
-
07:54 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- After discussion with ko1, the following options came up:
(1) raises an error for non-literals on parse time (current)
(2) raises an error for unshareable non-literals on runtime (my proposal)
(3) just ignore non-literals
(4) = (3)... -
06:58 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- Ideally, the following would also be accepted:
```ruby
# shareable_constant_value: literal
Map = {
int: Integer,
str: String,
# ...
}
Map.frozen # => true
```
Literals that are arguments to method calls should not b... -
06:25 PM Feature #17397 (Closed): `shareable_constant_value: literal` should check at runtime, not at parse time
- I think `shareable_constant_value: literal` is too strict because it has too crude checks at parse time.
I wish the following code would parse and run:
```ruby
# shareable_constant_value: literal
class Foo < RuntimeError
end
... -
07:52 PM Feature #17398 (Closed): SyntaxError in endless method
- This works:
```ruby
def foo() = puts("bar")
```
This does not:
```ruby
def foo() = puts "bar"
# ^ syntax error, unexpected string literal, expecting `do' or '{' or '('
```
Is this intentional or accidental? No... -
06:46 PM Revision 93ba3ac0 (git): RGENGC_PROFILE=0
- Enabled this flag, maybe accidentally.
-
06:44 PM Revision 2a3324fc (git): No sync on ASCII/US_ASCCII/UTF-8
- rb_enc_from_index(index) doesn't need locking if index specify
ASCII/US_ASCCII/UTF-8.
rb_enc_from_index() is called frequently so it has impact.
user system total real
r_parallel/miniruby ... -
06:43 PM Revision c5814213 (git): make RB_DEBUG_COUNTER_INC()_thread-safe
-
06:36 PM Feature #17273 (Closed): shareable_constant_value pragma
- Closing, this has been implemented by Nobu
-
05:33 PM Misc #16047 (Closed): Reconsider impact of frozen_string_literal on dynamic strings
- Thanks for opening this issue.
Ruby 3.0 no longer freezes dynamic strings.
-
04:18 PM Bug #17396 (Closed): Missing .gemspec files
- I am missing every .gemspec file, which used to be installed by bundled gems. IOW previously there were installed files such as rexml.gemspec and rss.gemspec. This is presumably caused by commit:91f831ac17c8ff58d536ce1fa320294bb477d2ae. ...
-
03:57 PM Feature #10445 (Rejected): [PATCH 3/3] Extend Matrix#[]
- Closing this, mainly for performance reason; best use `Matrix#minor`.
-
03:49 PM Feature #8382 (Closed): Format OpenStruct YAML dump and create getters and setters after load.
- This has (finally) been fixed, thanks for opening the issue.
-
03:47 PM Feature #17277 (Closed): Make Enumerator#with_index yield row and col indices for Matrix
- Closing for lack of a viable solution
- 03:42 PM Revision d5929b39 (git): Make Ractor#receive_if private
-
03:34 PM Revision 24f01897 (git): fix timing bug
- ractor_sleep() can remain wait.status by interrupt, so that this
patch handles more correctly.
This patch fixed this kind of assertion failures:
Assertion Failed: ../src/ractor.c:1332:ractor_yield_atexit:cr->sync.wait.status == wait... - 03:31 PM Revision 84c9ebd6 (git): * 2020-12-17 [ci skip]
-
03:29 PM Revision b29c0fad (git): add HAVE_RB_EXT_RACTOR_SAFE macro
- define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is
available or not. -
02:24 PM Revision 53babf35 (git): Inline getconstant on JIT (#3906)
- * Inline getconstant on JIT
* Support USE_MJIT=0 -
02:03 PM Revision bfb374be (git): Fix a typo [ci skip]
-
01:53 PM Revision 9c859f4b (git): Ripper: Pass callback result to alias_error as well as other errors
- [Bug #17345]
-
12:12 PM Bug #17345 (Closed): ripper: nothing raised when assigning to keyword variables
- Applied in changeset commit:git|47328ad217ecaf240f0faedac89723dcd6a917ac.
----------
Ripper: Fixed erred token on wrong alias [Bug #17345] -
12:02 PM Bug #17345 (Open): ripper: nothing raised when assigning to keyword variables
-
10:02 AM Bug #17345: ripper: nothing raised when assigning to keyword variables
- Sharing error messages between ruby core and ripper is fine, thank you!
Now, the '#tok' on some error events are `Elem` instead of string.
```
$ ./ruby -rripper -ve 'pp Ripper::Lexer.new("alias $x $1").scan'
ruby 3.0.0dev (2020-12-... -
12:08 PM Revision 47328ad2 (git): Ripper: Fixed erred token on wrong alias [Bug #17345]
-
11:33 AM Revision 359ad442 (git): strip trailing spaces [ci skip]
-
10:13 AM Feature #17378 (Closed): Ractor#receive with filtering like other actor langauge
- Applied in changeset commit:git|a9a7f4d8b8ec30abc7a47ce700edc7209ae12279.
----------
Ractor#receive_if to receive only matched messages
Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose th... -
10:12 AM Revision a9a7f4d8 (git): Ractor#receive_if to receive only matched messages
- Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose the receiving message.
[Feature #17378] -
10:10 AM Revision ddb93c3d (git): Made LARGEFILE_SUPPORT mandatory
-
10:10 AM Revision 5193fbb6 (git): Removed stale declaration
- rb_w32_pipe_exec was removed in 1.9.3, at
commit:7ac32d7a16734ea66de15319bcff2fd429abae7f. -
08:54 AM Revision 8b32191a (git): Ignore failure on unsupported fcntl to drop non-blocking mode
-
08:39 AM Revision 4fe7f270 (git): Different names instead of `ulimit`
-
08:22 AM Revision 5d8f227d (git): Lazily move units from active_units to stale_units
- to avoid SEGV like
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3289588
by a race condition between mjit_recompile and compation around active_units -
08:18 AM Revision 0a521618 (git): fix Ractor#receive by other ractors
- Ractor#receive can be called by the another Ractors using send,
so making this method completely same as `Ractor.receive` even if
the ractor is specified by the receiver (OO term :p). -
07:17 AM Revision c668772b (git): test/ruby/test_enum.rb: Avoid "warning: assigned but unused variable"
- 06:32 AM Revision 19157a3c (git): vm debug: dump registers on ARM too. (#3900)
- * vm debug: dump registers on ARM too.
-
05:20 AM Revision 98dca855 (git): tuning vm_setivar_slowpath() more.
- specify inline/noinline code for is_attr condition.
- 04:43 AM Revision 1bafb3cb (git): [memory_view] Make MemoryView API Ractor-safe (#3911)
- * memory_view.c: make Ractor-safe
* test/ruby/test_memory_view.rb: Add test_ractor
* memory_view: fix typo
* memory_view.c: Use st_update in unregster_exported_object
* memory_view: update dependency -
04:30 AM Revision 1e11c12a (git): remove unused function
-
04:06 AM Revision 5499651e (git): tuning ivar set
- * make rb_init_iv_list() simple
* introduce vm_setivar_slowpath() for cache miss cases
../clean/miniruby is 647ee6f091.
Calculating -------------------------------------
./miniruby ../clean/miniruby ../ruby_2_7/... -
03:31 AM Revision ad8e82f7 (git): Fixed marshal compatibility of Process::Status
-
03:14 AM Revision b30d7fea (git): Removed leading spaces [ci skip]
-
02:26 AM Revision cfefd1e5 (git): Added entry for webrick changes at Ruby 3.0 to NEWS
-
01:38 AM Revision 0b678cc9 (git): add vm_sync debug counters
- * vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier -
01:36 AM Revision 171f0431 (git): fix typo
-
01:29 AM Revision dff67c80 (git): fix duplicated name