Activity
From 12/07/2021 to 12/13/2021
12/13/2021
-
10:29 PM Feature #18364: Add GC.stat_pool for Variable Width Allocation
- > This seems incompatible and might break existing code which expects GC.stat to return a Hash[Symbol,Integer].
Quoting the dev meeting log:
> ...
Personally, I don't have a strong opinion on which route we should take (whether we ... -
09:56 PM Feature #18364: Add GC.stat_pool for Variable Width Allocation
- peterzhu2118 (Peter Zhu) wrote in #note-10:
> Thank you for the summary @mame! We'll extend `GC.stat` to return a nested data structure.
This seems incompatible and might break existing code which expects `GC.stat` to return a `Hash[... -
08:01 PM Feature #18364: Add GC.stat_pool for Variable Width Allocation
- Thank you for the summary @mame! We'll extend `GC.stat` to return a nested data structure.
-
09:31 PM Feature #17785: Allow named parameters to be keywords
- matheusrich (Matheus Richard) wrote in #note-11:
> Since we have `__method__`, maybe adding something like `__params__`?
I dislike this approach because it will introduce lots of complexity for Ruby implementations, and will likely m... -
03:25 AM Feature #17785: Allow named parameters to be keywords
- matheusrich (Matheus Richard) wrote in #note-11:
> Since we have `__method__`, maybe adding something like `__params__`?
I really like this idea. Although I would prefer having different names for positional vs keywords, so maybe `__arg... -
08:57 PM Feature #18408 (Rejected): Allow pattern match to set instance variables
- I expected this to work:
```ruby
42 => @v
```
But instead it raises "syntax error, unexpected instance variable"
Is this intentional? -
08:29 PM Feature #15192: Introduce a new "shortcut assigning" syntax to convenient setup instance variables
- Dan0042 (Daniel DeLorme) wrote in #note-21:
> austin (Austin Ziegler) wrote in #note-20:
> ...
I would rather call it `keyword-ish`, _as_ it would only be used in cases that are not currently legal syntax in any case. However, I think ... -
08:21 PM Feature #15192: Introduce a new "shortcut assigning" syntax to convenient setup instance variables
- austin (Austin Ziegler) wrote in #note-20:
> I would personally prefer `as` over` =>` for this, as it doesn’t _increase_ the number of ways that `=>` gets used in Ruby.
I also like `as`, it's beautifully readable. But it would be a n... -
07:43 PM Feature #15192: Introduce a new "shortcut assigning" syntax to convenient setup instance variables
- Dan0042 (Daniel DeLorme) wrote in #note-19:
> The syntax `def name(external_name: default_value => internal_name)` has been suggested twice independently (#16460, #18402) so I think that would be fairly intuitive to any rubyist. And if ... -
06:41 PM Feature #15192: Introduce a new "shortcut assigning" syntax to convenient setup instance variables
- The syntax `def name(external_name: default_value => internal_name)` has been suggested twice independently (#16460, #18402) so I think that would be fairly intuitive to any rubyist. And if instance variables were allowed as the internal...
-
04:02 PM Bug #18396: An unexpected "hash value omission" syntax error when without parentheses call expr follows
- I think this patch will change the meaning of `p x:` as matz said.
```diff
diff --git a/parse.y b/parse.y
index 0ff3ddbb4e..d92decfc1c 100644
--- a/parse.y
+++ b/parse.y
@@ -9290,7 +9290,7 @@ parser_yylex(struct parser_params *p)... -
09:11 AM Bug #18396: An unexpected "hash value omission" syntax error when without parentheses call expr follows
- The current state of things is indeed quite confusing (Wrote a small blog post on it: https://zverok.github.io/blog/2021-12-08-value-omission-debug.html).
As far as I can understand, the kind of old code that would be affected should ... -
02:56 AM Bug #18396 (Open): An unexpected "hash value omission" syntax error when without parentheses call expr follows
- Although it's incompatible, I think it's worth improving. I estimate that the compatibility issue is minimal.
After 3.1 release, we experiment to measure how big the issue is.
Matz.
-
03:20 PM Revision 94494a56 (git): [ci skip] NEWS.md: Update Variable Width Allocation
-
03:17 PM Bug #18407: Behavior difference between integer and string flags to File creation
- Digging just a little bit:
```c
#ifdef O_BINARY
if (oflags & O_BINARY) {
fmode |= FMODE_BINMODE;
}
#endif
```
and:
```ruby
>> File::BINARY
=> 0
```
In short `File::BINARY` is noop on unixes, it's a windows o... -
03:08 PM Bug #18407: Behavior difference between integer and string flags to File creation
- Thank you @byroot.
-
03:07 PM Bug #18407: Behavior difference between integer and string flags to File creation
- Reduced test, without open-uri and without changing the default external encoding:
```ruby
Encoding.default_internal = Encoding::UTF_8
f = File.new("/tmp/test.bin", File::CREAT | File::WRONLY | File::TRUNC | File::BINARY)
f.write "... -
02:42 PM Bug #18407 (Closed): Behavior difference between integer and string flags to File creation
- Hi!
I was under the impression that these two commands should either both work of both fail, however they behave differently.
```shell-session
$ ruby -ropen-uri -EUTF-8:UTF-8 -e 'f = File.new("foo", "wb"); f.write URI.open("https:... - 03:03 PM Revision 845edc06 (git): * 2021-12-14 [ci skip]
-
03:03 PM Revision 4926647b (git): NEWS.md: sort [ci skip]
-
02:53 PM Revision 774b0440 (git): [ci skip] NEWS.md: Add Variable Width Allocation
-
02:14 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
- this only breaks when you run "make install DESTDIR=/some/path"
but it works nicely without. so this is a bug in how DESTDIR is passed
to the rubygems extensions build.
darix
--
Always remember:
Never accept the world as it... -
12:20 PM Revision a08d8180 (git): NEWS.md: One more surrounding brackets for the ticket
-
11:44 AM Revision 8411e844 (git): [ruby/reline] Remove unnecessary variables, lower_space
- The number of lines below the cursor position was known by
"@rest_height" alone, but the problem was caused by adding
"lower_space". Remove "lower_space" as it is unnecessary.
https://github.com/ruby/reline/commit/a575cef6a3 -
10:56 AM Revision 446a11f2 (git): [DOC] Add call sequences of Random using a range
-
10:55 AM Revision dc490ace (git): [DOC] Improve Random::Formatter description and example
-
10:47 AM Revision 6859d175 (git): [DOC] Exclude Bundler only [ci skip]
-
10:15 AM Revision 7ececae4 (git): NEWS.md: move of Random::Formatter [Feature #18190]
-
10:14 AM Revision 93f0beca (git): Appveyor: Skip tests on if only document files changed [ci skip]
-
09:08 AM Revision 914563ae (git): NEWS.md: `ruby -run -e httpd` displays URLs to access [Feature #17847]
-
08:37 AM Feature #18402: Argument Labels
- Well, using keywords is only a bonus side effect of arguments labels.
The main idea / need is to use different names for variables/arguments when calling the method and inside the method itself.
Thanks to you and this link, I was able ... -
05:28 AM Revision c81d7d7c (git): NEWS.md: RFC 3339 UTC for unknown offset local time [Feature #17544]
-
05:21 AM Revision 47a12c88 (git): LEGAL: mention error_highlight
-
05:20 AM Revision 4ffb0bd6 (git): NEWS.md: Mention `in:` option of Time.new [Feature #17485]
-
05:19 AM Revision 2c0de392 (git): NEWS.md: `--disable-gems` is now just for debugging. [Feature #17684]
-
05:16 AM Revision ff029f25 (git): [DOC] Get rid of headings in list items
- The current RDoc Markdown parser parses the list item starting
with `#` as a heading line. -
05:02 AM Revision 0ee127e5 (git): add a NEWS entry for `TracePoint.allow_reenter`
-
05:01 AM Revision 1da1d747 (git): NEWS.md: `def foo = puts "Hello"` is now allowed [Feature #17398]
-
04:53 AM Revision d463b407 (git): NEWS.md: Mention suspendatble coverage [Feature #18176]
-
04:49 AM Revision a6fb63d2 (git): NEWS.md: Use more descriptive example for error_highlight
-
04:21 AM Revision 9ad34da4 (git): [DOC] Mention RBOOL in extension.rdoc [Feature #13125]
-
03:53 AM Feature #18406 (Closed): Remove `NODE_DASGN_CURR`
- Applied in changeset commit:git|54f0e63a8c53753af7db8653972ac450415eae13.
----------
Remove `NODE_DASGN_CURR` [Feature #18406]
This `NODE` type was used in pre-YARV implementation, to improve
the performance of assignment to dynamic lo... -
01:55 AM Feature #18406 (Closed): Remove `NODE_DASGN_CURR`
- This `NODE` type was used in pre-YARV implementation, to improve the performance of assignment to dynamic local variable defined at the innermost scope.
It has no longer any actual difference with `NODE_DASGN`, except for the node dump. -
03:53 AM Revision 54f0e63a (git): Remove `NODE_DASGN_CURR` [Feature #18406]
- This `NODE` type was used in pre-YARV implementation, to improve
the performance of assignment to dynamic local variable defined at
the innermost scope. It has no longer any actual difference with
`NODE_DASGN`, except for the node dump. -
02:11 AM Revision d3c8f7b1 (git): Fix a typo [ci skip]
-
01:50 AM Feature #11346 (Rejected): New #intern_str or similarly-named method of Symbol to return a cached, frozen string (like "string".freeze)
-
01:39 AM Feature #17848 (Rejected): inline rbs either by rdoc comments or changing syntax
-
01:29 AM Revision a692a159 (git): ruby.c: Fix typo
-
01:29 AM Revision 8613c0c6 (git): Introduce an option "--dump=insns_without_opt" for debugging purposes
-
01:24 AM Bug #18405 (Closed): Regression in Struct member setter method parameters
- Applied in changeset commit:git|6659253cc6c807641e23d469b425ddcf18de7af4.
----------
Struct setter's parameters == `[:req, :_]`
fix [Bug #18405]
Note that the parameter name `_` is not a spec, so we shouldn't
rely on this behavior. - 01:24 AM Revision 84cd3964 (git): * 2021-12-13 [ci skip]
-
01:23 AM Revision 5164c2b3 (git): Pass UnboundMethod to 2nd arg of define_method
-
01:23 AM Revision fdfb43b2 (git): fix Struct's setter arity
- https://github.com/ruby/ruby/pull/5131/files#diff-b2553d23e6b1fe76e20608d06c25f6acca06279100f1a9c24febcd79a82fac3cR2689
-
01:23 AM Revision 6659253c (git): Struct setter's parameters == `[:req, :_]`
- fix [Bug #18405]
Note that the parameter name `_` is not a spec, so we shouldn't
rely on this behavior. -
01:23 AM Revision 4d0cb1a5 (git): add `method_def_aritry()`
-
12:43 AM Feature #17942: Add a `initialize(public @a, private @b)` shortcut syntax for defining public/private accessors for instance vars as part of constructor
- > If you want really concise class definitions, use `Struct`. It doesn't get much more concise than:
> ...
This construction is bad because:
1. It **looks awkward**, and not consistent with the rest of the classes declarations in the p...
12/12/2021
-
05:05 PM Bug #18405: Regression in Struct member setter method parameters
- https://github.com/ruby/ruby/pull/5252
- 07:12 AM Revision 2f79d6d3 (git): Update bundled_gems at 2021-12-12
-
04:05 AM Revision e4b35b15 (git): [ruby/cgi] Check integer overflow in long range
- https://hackerone.com/reports/1328463
https://github.com/ruby/cgi/commit/ccaf6027e0
12/11/2021
- 11:45 PM Revision fbd73370 (git): * 2021-12-12 [ci skip]
-
11:45 PM Revision 3518b00d (git): YJIT: Edit module documentation for clarity
- Add an empty line before the module doc string so RDoc can find it.
While we are at it, edit for clarity. The file should already be
using frozen string literals since c10d5085a247266c6399dc6fb68706d87cbdab05.
[ci skip] -
08:42 PM Misc #18404: 3.1 documentation problems tracking ticket
- @ioquatix oh, indeed. And new methods that can/should be supported by the scheduler aren't yet in the `SchedulerInterface` :(
-
08:31 PM Misc #18404: 3.1 documentation problems tracking ticket
- `IO::Buffer` is also totally undocumented.
-
04:50 PM Misc #18404 (Closed): 3.1 documentation problems tracking ticket
- So far, comparing the NEWS.md to actual documentation at https://docs.ruby-lang.org/en/master/, I identified the following problems:
* [Random::Formatter](https://docs.ruby-lang.org/en/master/Random/Formatter.html): the explanations o... -
08:14 PM Bug #18405 (Closed): Regression in Struct member setter method parameters
- Since the [PR optimizing Struct accessors](https://github.com/ruby/ruby/pull/5131) was merged, the behaviour of `Method#parameters` on Struct member setter methods has changed.
**Before:**
```ruby
S = Struct.new(:foo)
S.instance_me... -
06:53 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- headius (Charles Nutter) wrote in #note-13:
> I would like to see this feature happen in some way, but most of the use cases I considered will want to process and keep the top X frames, where X is variable at runtime depending on what w... -
09:57 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- Sorry I missed all discussions, this has been a pretty busy autumn.
> find_caller is going to find a single entry from call frames. Is it sufficient for OP's demand?
find_caller is one use case, and probably the most common use case. I... -
02:07 PM Feature #14794: Primitive arrays (Ruby 3x3)
- thanks for your interest @mame!
btw I found a bug in pypy which leads to a slow performance in this benchmark which is now fixed
> performs an experiment with some real-world applications like Rails
based on experiments on TruffleRuby... -
02:05 PM Revision d7ef372c (git): Remove the macOS badge [ci skip]
- It is disabled for the throughput of CI for now.
-
10:03 AM Bug #18403 (Closed): Backport ecb2ff60507a41c624f59cb9da6a008ab3ec36e1 to ruby_3_0
- ecb2ff60507a41c624f59cb9da6a008ab3ec36e1 should be backported into ruby_3_0.
Since the tiny flaw was introduced at the great header split, ruby_2_7 and earlier are not affected.
-
09:05 AM Feature #18402: Argument Labels
- Sounds quite similar to [Feature #17785].
The current working solution is:
```ruby
def change_color(to:, for:, until:)
do_something_with(to)
do_something_else_with(binding.local_variable_get(:for), binding.local_variable_ge... -
04:37 AM Feature #18402: Argument Labels
- Oh, I think the rightward assignment idea is brilliant; it would make sense and be kind of consistent syntaxically speaking!
-
01:33 AM Feature #18402: Argument Labels
- tentative +1
if/for/until are useful as keyword arguments but almost impossible to use as local variables.
But the suggested syntax makes it look to me like `new_color` is the keyword argument rather than the local alias.
I'd like to ... -
01:08 AM Feature #18402 (Open): Argument Labels
- As a developer, I mainly program in two languages: Swift and Ruby.
I love Ruby with all my heart, but I came to like a particular feature of Swift: **Argument labels** ; I would love to see them appear in Ruby.
Matz on Twitter sugges... - 05:29 AM Revision b5c4570a (git): [ruby/reline] Prefer wait_readable for fiber scheduler.
- https://github.com/ruby/reline/commit/06b4aa31fd
-
05:01 AM Revision c91fb5db (git): Update stdlib versions [ci skip]
12/10/2021
-
05:23 PM Revision ecb2ff60 (git): intern/select/posix.h: remove unused parameter from rb_fd_dup
- This unused parameter seems to be accidently introduced by https://github.com/ruby/ruby/commit/9e6e39c
-
04:50 PM Revision e5ff030f (git): Enhanced RDoc for String (#5234)
- Treated:
#to_i
#to_f
#to_s
#inspect
#dump
#undump -
04:08 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- matz (Yukihiro Matsumoto) wrote in #note-10:
> `find_caller` is going to find a single entry from call frames. Is it sufficient for OP's demand?
Hopefully @headius can answer that. I assume that finding the first matching entry woul... - 03:13 PM Revision d6817d05 (git): * 2021-12-11 [ci skip]
- 03:13 PM Revision 1a62a50c (git): [rubygems/rubygems] Add `github` and `ref` options to `bundle add`
- https://github.com/rubygems/rubygems/commit/c3e54acab0
-
01:19 PM Revision 5f1975a4 (git): [ruby/reline] @convert_meta is true unless 8-bit characters
- If Reline::IOGate.encoding contains 7-bit characters, convert-meta will set it On.
Because in readline(3):
> The default is On, but readline will set it to Off if the locale contains eight-bit characters.
As far as I know, 7-bit enco... -
01:19 PM Revision 519a945e (git): [ruby/reline] Execute compress_meta_key if convert_meta is on
- fix `#357`
When using 8-bit characters, it is better not to use `compress_meta_key`.
I believe not to use `compress_meta_key` unless `set convert-meta on` is written in the `.inputrc`.
The following is a quote from tmtm's comments.
> ... -
01:18 PM Revision 3a2ae5bb (git): [ruby/reline] unleash real pasting speed
- 2700msec -> 410msec
read 80 console inputs at once
https://github.com/ruby/reline/commit/eb3ef7af98 -
01:18 PM Revision 74765a5a (git): [ruby/reline] unleash pasting speed
- https://github.com/ruby/reline/commit/074e407c62
-
01:16 PM Revision aed21d65 (git): [ruby/reline] support input surrogate paird codepoint
- support surrogate pair input
https://github.com/ruby/reline/commit/0b4acedc6a -
01:15 PM Revision 66e14e20 (git): [ruby/reline] follow consolemode change
- fix 'https://github.com/ruby/reline/issues/300'
https://github.com/ruby/reline/commit/b2cc6805a8 - 11:54 AM Revision eb2d3c19 (git): [rubygems/rubygems] Properly fetch Gem#latest_spec_for with multiple sources
- https://github.com/rubygems/rubygems/commit/a93ec63df3
-
10:09 AM Revision 0e60bc11 (git): [rubygems/rubygems] Ignore dependencies not actually locked from frozen check
- Only needed if there can be no explicit global source (bundler < 3).
https://github.com/rubygems/rubygems/commit/73923f4af5 -
09:39 AM Revision 30268d1d (git): Prefer flat_map
-
09:39 AM Revision a5baf8d6 (git): Revert zero-check for alloca
- Something weird results in int-in-bool-context and
stringop-overflow warnings. -
08:15 AM Revision 787daea6 (git): Allow configuring TRANSIENT_HEAP_TOTAL_SIZE
- Some platforms have memory resource limits, but theap's memory area is
too large for such situations. So allow configuring the size at
build-time. - 07:01 AM Revision 0cefc2fb (git): Update bundled_gems at 2021-12-10
-
05:55 AM Revision 21749f7b (git): Update stdlib versions [ci skip]
-
12:07 AM Bug #18398 (Closed): bundler cannot install digest
-
12:07 AM Bug #18400: Cannot require 'prime' in irb @ 3.1.0.preview1
- You should add `prime` into your `Gemfile` for using prime via bundler environment.
-
12:06 AM Bug #18400 (Assigned): Cannot require 'prime' in irb @ 3.1.0.preview1
12/09/2021
-
09:00 PM Feature #11689 (Closed): Add methods allow us to get visibility from Method and UnboundMethod object.
- Applied in changeset commit:git|27278150685e738f84105d09843d3ba371146c7a.
----------
Add {Method,UnboundMethod}#{public?,private?,protected?}
These methods allow for checking whether the method has that
visibility.
Implements [Feature... -
08:59 PM Revision 27278150 (git): Add {Method,UnboundMethod}#{public?,private?,protected?}
- These methods allow for checking whether the method has that
visibility.
Implements [Feature #11689] -
08:20 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- +1 for `find_caller` semantics since it allows both search and iteration
```ruby
find_caller{ |c| c.file =~ rx }
find_caller{ |c| list << c; c.file =~ rx }; list
```
Since the entire point of this feature is to stop iterating on... -
07:49 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- `find_caller` is going to find a single entry from call frames. Is it sufficient for OP's demand?
Besides that, is it worth adding a global Kernel method?
I doubt both. I am not against adding the feature, but first, we have to make ... -
06:38 PM Revision 74159f7f (git): [DOC] Stop mentioning Qfalse==0 for C extensions
- See [Feature #18397] for detail. Follow up for
b859397e1b25a3f7847a380e7dd7db62f94fbe66.
[ci skip]
Co-authored-by: Koichi Sasada <ko1@atdot.net> -
05:41 PM Feature #18401 (Open): Rework `require_relative` to add the "current path" on `$LOAD_PATH`
- I think that since inception of `require_relative`, the implementation is wrong and is going against the spirit of `require` functionality. Let me explain.
If there is `require "foo"`, it does something like:
~~~
r = $LOAD_PATH.se... -
04:46 PM Feature #16978: Ruby should not use realpath for __FILE__
- I wonder what is the situation here given that the #17885 seems to be resolved?
-
04:24 PM Feature #18397 (Closed): Remove documentation that Qfalse == 0 in `extension.rdoc`, instead encourage use of RTEST
- Applied in changeset commit:git|b859397e1b25a3f7847a380e7dd7db62f94fbe66.
----------
[DOC] Stop recommending Qfalse==0 assumption to C extensions
Encourage use of RTEST(), direct Qfalse comparison, and remove references to
Qfalse == 0 ... -
04:23 PM Revision b859397e (git): [DOC] Stop recommending Qfalse==0 assumption to C extensions
- Encourage use of RTEST(), direct Qfalse comparison, and remove references to
Qfalse == 0 in extension documentation.
See [Bug #18397] for detail.
[ci skip] -
04:04 PM Revision bcc2bb28 (git): Fix stack buffer overflow
- https://hackerone.com/reports/1306859
-
03:56 PM Feature #15912 (Closed): Allow some reentrancy during TracePoint events
- Applied in changeset commit:git|9873af0b1a343dff6d1a8af4c813aa2c9ecc47d5.
----------
`TracePoint.allow_reentry`
In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrac... -
08:47 AM Feature #15912: Allow some reentrancy during TracePoint events
- Thank you. also @byroot and colleagues proposed `TracePoint.allow_reentry`, so I change the name.
Matz also accepted the name and feature, so I'll merge it. -
08:16 AM Feature #15912: Allow some reentrancy during TracePoint events
- ko1 (Koichi Sasada) wrote in #note-14:
> naming issue:
> ...
I'm not completely sure about what would be at `...`, but maybe `allow_reentry` or `allow_reenter` should also be considered as method names, because they are shorter. -
03:56 PM Revision 9873af0b (git): `TracePoint.allow_reentry`
- In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrace.
This method allow the reentrace. This method should be
used carefully, otherwize the callback can be easily cal... -
03:53 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- vo.x (Vit Ondruch) wrote in #note-5:
> Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
> ...
Since I have the PPC at hand, here is the full backtrace:
~~~
$ make gdb-ruby TESTRU... -
03:50 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- peterzhu2118 (Peter Zhu) wrote in #note-13:
> Hmmm, that's really odd. I think I can get access to the ppc64 machine on rubyci.org. I'll try to debug this next week.
If you like, you could ping @sharkcz on #fedora-ppc at libera.chat ... -
02:21 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Hmmm, that's really odd. I think I can get access to the ppc64 machine on rubyci.org. I'll try to debug this next week.
-
12:18 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Heare I am stepping through the `rb_aligned_malloc`
~~~
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /builddir/build/BUILD/ruby-3.0.3/miniruby
Download fail... -
11:29 AM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- It seems that the `rb_aligned_malloc` already returns inaccessible pointer:
~~~
Breakpoint 1, heap_page_allocate (objspace=0x1004b1400) at gc.c:1806
1806 page_body = (struct heap_page_body *)rb_aligned_malloc(HEAP_PAGE_ALIGN, HE... -
11:19 AM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- ~~~
$ gdb --args ./miniruby -I./lib -I. -I.ext/common ./tool/generic_erb.rb -o builtin_binary.inc ./template/builtin_binary.inc.tmpl -- --cross=no
GNU gdb (GDB) Fedora 11.1-6.fc36
Copyright (C) 2021 Free Software Foundation, Inc... -
03:45 PM Misc #18399: DevMeeting-2022-01-13
- * [Feature #18367] Stop the interpreter from escaping error messages (mame)
* At the previous dev-meeting, we decided to survey the current status of how modern terminal emulators handle untrusted escape sequences.
* I surveyed rxv... -
01:27 PM Misc #18399: DevMeeting-2022-01-13
- * [Feature #18368] `Range#step` semantics for non-`Numeric` ranges (zverok)
* Is there a reason why `(timestamp1...timestamp2).step(3.hours)` is not what `#step` supports?
* If there is, can there be a new method introduced with th... -
12:31 PM Misc #18399 (Closed): DevMeeting-2022-01-13
- # The next dev meeting
**Date: 2022/01/13 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-01-13.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu... -
03:38 PM Feature #18351: Support anonymous rest and keyword rest argument forwarding
- mame (Yusuke Endoh) wrote in #note-3:
> The concern about `Method#parameters` should be discussed after Ruby 3.1 is released. Now `Method#parameters` of `def foo(...)` returns `[[:rest, :*], [:keyrest, :**], [:block, :&]]`. After this c... -
12:16 PM Feature #18351: Support anonymous rest and keyword rest argument forwarding
- @matz basically accepted this proposal for Ruby 3.2.
The concern about `Method#parameters` should be discussed after Ruby 3.1 is released. Now `Method#parameters` of `def foo(...)` returns `[[:rest, :*], [:keyrest, :**], [:block, :&]]... -
03:37 PM Feature #18367: Stop the interpreter from escaping error messages
- I read [the article about the vulnerability](https://marc.info/?l=bugtraq&m=104612710031920&w=2) again.
It clearly insists that this vulnerability should be addressed in the side of terminal emulators.
> The responsibility
> ...
... -
10:12 AM Feature #18367: Stop the interpreter from escaping error messages
- IMHO if there is any vulnerability there it would be a bug of the terminal emulator, not Ruby.
And we'd have the same issue for any puts or logging when shown in a terminal without escaping.
If the attack is a bell sound or changing ... -
06:46 AM Feature #18367: Stop the interpreter from escaping error messages
- This ticket was discussed at the dev-meeting as a strongly-related topic of #18370.
We need to be careful to remove security measures. We should first check if the vulnerability in question is still valid with modern popular terminal ... - 03:33 PM Revision 88c804a6 (git): * 2021-12-10 [ci skip]
-
02:17 PM Bug #18400 (Closed): Cannot require 'prime' in irb @ 3.1.0.preview1
- ## Description
If I run `ruby script.rb` with `require 'prime'` then it will work fine.
But after entering irb, I can `require 'net/http'` , but with **prime** I get following error.
Problem occurs with:
> The following default ... -
12:51 PM Revision da652e18 (git): Check month overflow when marshal
- https://hackerone.com/reports/1244185
-
12:30 PM Misc #18346 (Closed): DevelopersMeeting20211209Japan
-
12:24 PM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
- This ticket was discussed at today's dev-meeting (https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20211209Japan.md). We need to first decide whether #18367 is acceptable or not.
If we were to accept #18367, this pro... -
10:08 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
- #18367 wants the opposite, i.e., not escape control chars.
As already mentioned, JRuby & TruffleRuby both currently already have the behavior to not escape control chars.
BTW, wouldn't that change even escape \n? (looking at https://... -
06:21 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
- I think it is a bug that `Exception#full_message` doesn't escape control chars.
https://github.com/nobu/ruby/pull/new/full_message-escape -
12:02 PM Feature #18364: Add GC.stat_pool for Variable Width Allocation
- This ticket was discussed at today's dev-meeting. Matz had directly asked @tenderlovemaking for a few things. I record them as far as I remember:
* Instead of adding a new method, it looks good for `GC.stat` to return a nested data st... -
11:27 AM Feature #18190 (Closed): Split `Random::Formatter` from securerandom
- Applied in changeset commit:git|12a0a89e22fbc312e4a95a7749bc153532daa855.
----------
[ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]
https://github.com/ruby/securerandom/commit/1e57277b9e -
09:50 AM Feature #18190: Split `Random::Formatter` from securerandom
- +1, I agree Random::Formatter should be defined in core, along Random which is already core.
-
08:08 AM Feature #18190: Split `Random::Formatter` from securerandom
- Accepted.
Matz.
-
11:26 AM Revision 12a0a89e (git): [ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]
- https://github.com/ruby/securerandom/commit/1e57277b9e
-
10:48 AM Revision 4258c8df (git): Fixed filename for Open3::VERSION
-
10:33 AM Revision b06e37e2 (git): Followed up f5d80c26d493c14241d4e3320437e62d7f54eabb for sync_default_gems.rb
-
10:28 AM Revision d74fe206 (git): Adjust gemspec location of default gems
-
10:28 AM Revision f5d80c26 (git): Removed JRuby specific helper for open3
-
10:28 AM Revision 08016914 (git): [ruby/open3] Use RbConfig's 'host_os'
- RUBY_PLATFORM on JRuby is always 'java' so it does not indicate
the host OS.
https://github.com/ruby/open3/commit/d2308040e6 -
10:28 AM Revision eb06b37c (git): [ruby/open3] Update to match JRuby 9.4
- This allows the wrapper functions in the main open3 to be defined
while using our ProcessBuilder logic for the internal popen
implementation.
Note this adds logic to reject redirects from a numeric fd to a
live IO object (or not a Strin... -
10:28 AM Revision 01febcab (git): [ruby/open3] Add JRuby's Windows (JDK non-native) Open3 support
- This adds JRuby's logic used on platforms where we do not have
native access to posix_spawn and related posix functions needed
to do fully-native subprocess launching and management. The code
here instead uses the JDK ProcessBuilder logi... -
10:28 AM Revision 34ebd139 (git): [ruby/open3] Only use JITSupport on CRuby
- Fixes #2
https://github.com/ruby/open3/commit/6b7ede69e8 -
10:28 AM Revision d150b8d0 (git): [ruby/open-uri] gemspec: This gem exposes 0 executables
- This just makes that fact more explicit.
https://github.com/ruby/open-uri/commit/ffbfba5d69 -
10:28 AM Revision c41751f1 (git): [ruby/io-wait] Bump up 0.2.1
- https://github.com/ruby/io-wait/commit/c97ab9a212
-
10:28 AM Revision dd8b9c1d (git): [ruby/English] gemspec: Remove unused "executables" configuration
- This gem exposes no executables.
https://github.com/ruby/English/commit/bb1ce0af20 -
10:00 AM Feature #12084: `Class#instance`
- > For your information, `NilClass` is not a singleton class. It's a class with only an instance. This is side evidence of this method is confusing. Even the original proposer can misunderstand the concept.
Interesting, I think what co... -
07:58 AM Feature #12084: `Class#instance`
- * `instance` is NG. For example, `Array.instance => nil` is confusing
* `attached_object` is better, at least for singleton classes. But there's still no real-world use-case.
For your information, `NilClass` is not a singleton class.... -
09:46 AM Feature #16038 (Feedback): Provide a public WeakMap that compares by equality rather than by identity
-
09:33 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- Eregon (Benoit Daloze) wrote in #note-22:
> For the deduplication use-case as in the description, `WeakValuesMap` is possible too:
...
> ...
As far as I understand from the description, what byroot wanted is to use the instance itself... -
09:28 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- > I like you to close the ticket and create another one with self-contained and complete description.
Fair. I'll chat some more with @eregon to make sure we agree on the proposal and do that for next month. -
09:26 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- byroot (Jean Boussier) wrote in #note-24:
> > The use case that we are considering now is only object deduplication?
> ...
What use case do you have for example?
> I posted an updated snippet accommodating Java based VMs:
Well. Y... -
07:46 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- The current proposal is:
- Two new classes `WeakKeysMap` and `WeakValuesMap`
- Not too sure about the namespace, maybe inside `WeakRef`?
- Equality semantic for keys.
```ruby
Value = Struct.new(:foo)
map = WeakKeysMap.new
... -
07:42 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- I am a bit confusing. Could you summarize the **current** proposal?
Matz. -
06:51 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- > The use case that we are considering now is only object deduplication?
That's my main use case for it yes, but there are plenty of other use cases.
> ...
I posted an updated snippet accommodating Java based VMs:
```ruby
REGISTRY = W... -
02:49 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- Let me confirm. The use case that we are considering now is only object deduplication? Or, other use cases are also being discussed?
---
As far as I understand, eregon says "JRuby/TruffleRuby cannot implement WeakMap (in which both key... -
09:16 AM Revision 6ff9fcdf (git): [ruby/rdoc] Support addition Object class when adding methods to top level
- https://github.com/ruby/rdoc/commit/23747b4950
-
09:16 AM Revision 2e50989a (git): [ruby/rdoc] Resolve class and method of the same name correctly
- https://github.com/ruby/rdoc/commit/1e16284fe5
-
09:15 AM Revision fa806cf2 (git): Fix typo of namespace
-
08:01 AM Feature #17881: Add a Module#const_added callback
- Thank you.
> Although I think it's too late for the 3.1 release.
Assuming https://bugs.ruby-lang.org/issues/15912 does make it through for 3.1, then it's no big deal. -
07:59 AM Feature #17881: Add a Module#const_added callback
- Accepted. Although I think it's too late for the 3.1 release.
Matz.
-
07:53 AM Bug #18398: bundler cannot install digest
- Seems to be resolved. Thank you.
Run `gem install`with `--pre` under bundler ... ok
```
$ bundle exec gem install digest --pre
Fetching digest-3.1.0.pre3.gem
Building native extensions. This could take a while...
Successfully i... -
05:41 AM Bug #18398: bundler cannot install digest
- Can you try it with `--pre` option? We fixed installation issue at `digest-3.1.0.preX`.
-
05:33 AM Bug #18398 (Closed): bundler cannot install digest
- `bundle install` gives up installing `digest` gem
due to trying to write `digest.so` in global site_ruby directory (not writable).
# How to reproduce
In clean directory, create a following Gemfile:
``` ruby
source 'https://rubyg... -
07:20 AM Bug #18243 (Closed): Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
- Applied in changeset commit:git|cce331272b07636d536c8227288ab3fbcf24e2aa.
----------
`Ractor.make_shareable` checks proc's sefl
`Ractor.make_shareable(proc_obj)` raises an `IsolationError`
if the self of `proc_obj` is not a shareable o... -
07:20 AM Revision cce33127 (git): `Ractor.make_shareable` checks proc's sefl
- `Ractor.make_shareable(proc_obj)` raises an `IsolationError`
if the self of `proc_obj` is not a shareable object.
[Bug #18243] -
07:15 AM Feature #14332: Module.used_refinements to list refinement modules
- It's too late for 3.1. But after the release, I basically honor @shugo's decision here.
Matz.
-
07:10 AM Feature #12737: Module#defined_refinements
- OK, accepted. After 3.1, you can introduce:
* Module#refinements
* Refinment#refined_class
Matz.
-
05:39 AM Bug #17799: Seg fault in rb_class_clear_method_cache
- I wonder if https://github.com/ruby/ruby/commit/428227472fc6563046d8138aab17f07bef6af753 solved this problem, though #18282 looks different from this issue. The stack trace in https://gitlab.com/gitlab-org/gitlab/-/issues/326348#note_556...
-
05:02 AM Feature #18349: Let --jit enable YJIT on supported platforms
- > Will --yjit option remain? I prefer the following behaviors.
> ...
I think it's the same as what's proposed here. `--jit` is to automatically choose our latest recommendation, but both `--mjit` and `--yjit` would be still useful for t... -
04:51 AM Feature #18349: Let --jit enable YJIT on supported platforms
- Will `--yjit` option remain? I prefer the following behaviors.
* `--jit` means the best strategy of Ruby JIT selected by Ruby core.
* If users hope to enforce JIT strategy, They can choose `--yjit` or `--mjit` in the future.
I'm n... -
04:40 AM Feature #18349: Let --jit enable YJIT on supported platforms
- I agreed with the proposal, including making `mjit` as a fallback.
Matz.
- 03:28 AM Revision c5f68a9a (git): Fix typo in NEWS-2.5.0 [ci skip]
12/08/2021
-
11:58 PM Revision 45c5794d (git): [rubygems/rubygems] Don't load system rubygems during tests
- Since tests are about testing our development copy of rubygems, not
whatever is installed in the system.
https://github.com/rubygems/rubygems/commit/f5e0b68cdd -
09:59 PM Revision 82bb9ced (git): YJIT: Fix leak in compilation loop
- Previously, when there are too many blocks in a batch, the last block in
the batch is not tracked in the array of batches and not freed. - 07:47 PM Revision c47e821b (git): [ruby/ostruct] Bump version to 0.5.2
-
07:47 PM Revision 9c269316 (git): [ruby/ostruct] `Proc`'s self should be shareable.
- To fix the issue https://bugs.ruby-lang.org/issues/18243
we need to make sure the Proc's self is shareable.
These procs are used by `define_method` and it doesn't use
Proc's self, so `nil` is enough. -
07:04 PM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
- At least we need fix it.
This PR simply prohibits `make_shareable()` if the proc's self is unshareable.
https://github.com/ruby/ruby/pull/5232 -
06:54 PM Feature #15912: Allow some reentrancy during TracePoint events
- implementation: https://github.com/ruby/ruby/pull/5231
> tp.reentrant
It should not be an instance method of `tp` because it doesn't depend on current `tp`.
Also this is danger API, so I want to add `allow_` to make clear the meaning. -
06:34 PM Feature #18397 (Closed): Remove documentation that Qfalse == 0 in `extension.rdoc`, instead encourage use of RTEST
- Currently, [the extension documentation](https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Convert+VALUE+into+C+Data) states that “Qfalse is false in C (i.e. 0).” Instead, we should encourage the use of RTEST in documenta...
-
06:29 PM Revision 9a2ecddf (git): Enhanced RDoc for String (#5227)
- Treats:
#replace
#clear
#chr
#getbyte
#setbyte
#byteslice
#reverse
#reverse!
#include? -
05:15 PM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
- Patches are welcome to check them without breaking things on other platforms (including Oracle Solaris 11).
I guess that the error/failure only occurs when processing large-scale complex source codes, and simple short source codes cou... -
05:03 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- I don't have access to a ppc64 machine. Do you know what the crash is?
-
04:52 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Unfortunately, the build fails already in miniruby:
~~~
... snip ...
gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS ... -
02:16 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Hey @vo.x, can you check if also backporting this PR fixes the crashes? https://github.com/ruby/ruby/pull/4227
Ruby 3.0 is still using `posix_memalign` to allocate pages. Only memory allocated with `mmap` is allowed to be passed into ... -
01:04 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
- vo.x (Vit Ondruch) wrote in #note-5:
> Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
And sometimes aarch64 -
12:47 PM Bug #18133 (Assigned): LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
~~~
[ 8890/21266] TestGCCompact#test_ast_compacts<internal:gc>:213: [BUG] Couldn't unprotect page 0x0000000140f98000
ruby 3.0... -
04:42 PM Feature #18395: Introduce Array#subtract! for performance
- Have you benched `array.reject! { |e| array_or_set.include?(e) }`?
-
04:38 PM Feature #18395: Introduce Array#subtract! for performance
- schneems (Richard Schneeman) wrote in #note-2:
> > We have Array#delete already, the only difference from your proposal (other than the receiver) being that it does not accept multiple arguments. I think a better proposal would be to let... -
03:26 PM Feature #18395: Introduce Array#subtract! for performance
- It would be very helpful if you could write a code example in the description to help us understand your proposal at a glance. I copied (and a bit tweaked) it from the rdoc you write in PR. Feel free to change the example if you don't li...
-
02:55 PM Feature #18395: Introduce Array#subtract! for performance
- > We have Array#delete already, the only difference from your proposal (other than the receiver) being that it does not accept multiple arguments. I think a better proposal would be to let Array#delete accept multiple arguments.
In orde... -
05:16 AM Feature #18395: Introduce Array#subtract! for performance
- I am strongly against it. It is a practice in Ruby for methods that destructively remove something from the receiver to return the removed value rather than the modified receiver. I also do not think it is worth adding a new method just ...
- 03:30 PM Revision 1966dc7a (git): * 2021-12-09 [ci skip]
-
03:30 PM Revision 17e72196 (git): ext/ripper/lib/ripper/lexer.rb: Do not deprecate Ripper::Lexer::State#[]
- The old code of IRB still uses this method. The warning is noisy on
rails console.
In principle, Ruby 3.1 deprecates nothing, so let's avoid the
deprecation for the while.
I think It is not so hard to continue to maintain it as it is a t... -
10:11 AM Revision 3021c3ce (git): Add `to_f` to predefined conversion method name to ID table
-
08:59 AM Revision 454b4da7 (git): [DOC] Integer.try_convert [ci skip]
-
06:39 AM Bug #18396: An unexpected "hash value omission" syntax error when without parentheses call expr follows
- I get it. Thank you for the explanation!
-
04:09 AM Bug #18396 (Rejected): An unexpected "hash value omission" syntax error when without parentheses call expr follows
- It is by design.
```
foo key:
bar
```
was parsed as `foo(key: bar)` in Ruby 3.0 or before. It is incompatible to change it to `foo(key: key); bar`.
Except some traditional exceptions like `puts "foo"` and `require "foo"`, it ... -
03:25 AM Bug #18396 (Open): An unexpected "hash value omission" syntax error when without parentheses call expr follows
- ## Summary
I encountered an unexpected "hash value omission" syntax error when parentheses call expression follows:
```ruby
% cat example.rb
foo key:
foo arg
```
```console
% ruby -cv /tmp/b.rb
ruby 3.1.0dev (2021-12-07T23... -
04:26 AM Revision af6e0883 (git): Skip bind port 1 when ip_unprivileged_port_start<=1
- Linux can allow to bind port 1 to user.
And `ip_unprivileged_port_start` is 0 on [lima](https://github.com/lima-vm/lima) default vm.
```
1)
Socket#bind on SOCK_DGRAM socket raises Errno::EACCES when the current user does not have permis...
12/07/2021
-
11:18 PM Revision 4a3e7984 (git): Avoid Array allocation when appending to args array (#5211)
- * Use duparray when possible for argspush
ARGSPUSH is the node we see with a single value pushed to the end of a
splatted array. ARGSCAT is similar, but is used when multiple values are
being concatenated to the list.
Previously only A... -
10:59 PM Revision 852ea1e8 (git): [rubygems/rubygems] Remove unnecessary comment
- https://github.com/rubygems/rubygems/commit/5e50f12e7a
-
10:59 PM Revision 76cad137 (git): [rubygems/rubygems] Don't add custom github source to `bundle init` Gemfile
- It's provided by bundler.
https://github.com/rubygems/rubygems/commit/25ccaab46b -
10:59 PM Revision f0ef9ffe (git): [rubygems/rubygems] Cancel deprecation of custom git sources
- https://github.com/rubygems/rubygems/commit/99cd6e0627
-
10:20 PM Revision 6beb05c2 (git): YJIT: Undo add_block_version() in OOM code path
- Preivously, [1] failed to undo the effect of applying
add_block_version() to a block, leaving dangling pointers in the iseq
when compilation fails.
[1]: d0772632bf2ff15f73c0d3601d958670a5c77855 -
10:20 PM Revision 286c07f0 (git): YJIT: Remove guard_self_is_heap()
- It's superseded by functionality added to jit_guard_known_klass().
In weird situations such as the ones in the included test,
guard_self_is_heap() triggered assertions.
Co-authored-by: Jemma Issroff <jemmaissroff@gmail.com> -
09:21 PM Feature #18395 (Open): Introduce Array#subtract! for performance
- PR: https://github.com/ruby/ruby/pull/5110#issuecomment-984345309
It is common to use `-=` to modify an array to remove elements. Also, there is `Array#difference` which accepts multiple arguments. Both of these methods allocate an in... -
07:15 PM Bug #18133 (Closed): LTO: TestGCCompact#test_ast_compacts segfaults on i686
- Hi, I was able to debug a core dump for this bug. Backports in #18394 should fix it. Thanks for the bug report!
-
07:14 PM Bug #18394 (Closed): Backports for read barrier for GC compaction for Ruby 3.0
- Please backport commits [0130e17a410d60a10e7041ce98748b8de6946971](https://github.com/ruby/ruby/commit/0130e17a410d60a10e7041ce98748b8de6946971) and [32b7dcfb56a417c1d1c354102351fc1825d653bf](https://github.com/ruby/ruby/commit/32b7dcfb5...
-
05:58 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
- xtkoba (Tee KOBAYASHI) wrote in #note-2:
> $ grep '^arch_hdrdir' /var/tmp/build/arm64-v8a/lib/ruby/gems/3.1.0/gems/rbs-1.7.0.beta.5/ext/rbs_extension/Makefile
> ...
This is good tip:
~~~
$ grep '^arch_hdrdir' /builddir/build/BUILDR... - 04:49 PM Revision e51d0d28 (git): * 2021-12-08 [ci skip]
- 04:49 PM Revision 1b12ebb9 (git): [rubygems/rubygems] Add require parameter to `bundle add``
- Test and ensure "false" is handled
Don't use yield_self to operate on autorequire
Remove duplicate autorequire
Add banner to require option
Don't use json to break down require params
Pass linter
https://github.com/rubygems/rubygem... -
02:27 PM Revision 26303c31 (git): [rubygems/rubygems] Pass "--" to git commands to separate positional and optional args
- To make sure git uri's specified in Gemfile are never misinterpreted as
optional arguments, potentially allowing for local code execution.
https://github.com/rubygems/rubygems/commit/90b1ed8b9f -
02:17 PM Bug #16920: TestThread#test_signal_at_join fails on aarch64
- Still issue with ruby 3.1.0dev (2021-12-07 master ec878dac90) [aarch64-linux]
-
02:15 PM Feature #18033: Time.new to parse a string
- Eregon (Benoit Daloze) wrote in #note-23:
> > `Time.try_convert` feels considerable, but passing the timezone option may not fit.
> ...
Ah, my bad.
The `try_convert` methods are the implicit conversions for duck-typing, i.e, `to_int` ... -
02:03 PM Bug #18393 (Closed): TestReadline#test_interrupt_in_other_thread fails on armv7hl
- Testing Ruby 3.1 on Fedora, I observe following issue:
~~~
1) Failure:
TestReadline#test_interrupt_in_other_thread [/builddir/build/BUILD/ruby-3.1.0-ec878dac90/test/readline/test_readline.rb:574]:
Unknown failure with exit status... -
01:00 PM Revision bb3f17bd (git): More indentation in NEWS.md [ci skip]
- The current Markdown implementation of RDoc requires list contents
to be indented 4 columns except for the first paragraph.
Maybe fixed as other implementations in the future. -
12:56 PM Bug #18392 (Closed): ObjectSpace::WeakMap#inspect causes BUG
- Applied in changeset commit:git|d6c5a30cfdf658280338dbb8c8b17fab3190b928.
----------
ObjectSpace::WeakMap#inspect: check if living object [Bug #18392] -
05:01 AM Bug #18392 (Closed): ObjectSpace::WeakMap#inspect causes BUG
- ```ruby
wmap = ObjectSpace::WeakMap.new
(2**32).times do |i|
wmap[i] = "foo"
wmap.inspect
end
```
```
t.rb:6: [BUG] Segmentation fault
ruby 3.1.0dev (2021-11-05T14:20:50Z master 907aa47527) [x64-mswin64_140]
-- Contro... -
12:55 PM Revision a2d4e1cd (git): Fixed the check order in wmap_live_p [Bug #18392]
- Check if the object is a pointer to heap before check the flag in
that object. -
12:55 PM Revision d6c5a30c (git): ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]
-
12:31 PM Bug #18391: Error building gems with binary extensions on Ruby 3.1
- Thx a lot for the fix.
-
08:38 AM Bug #18391 (Closed): Error building gems with binary extensions on Ruby 3.1
- Applied in changeset commit:git|ec878dac90df0ca5f39e72261b8d4e2898486a93.
----------
Move -ljemalloc to DLDLIBS [Bug #18391]
Set the alternative memory management library only as a platform
specific library, without other libraries. -
08:30 AM Feature #15912: Allow some reentrancy during TracePoint events
- What about:
```ruby
TracePoint.trace(:line) do |tp|
tp.reentrant do
...
end
end -
06:43 AM Feature #15912: Allow some reentrancy during TracePoint events
- naming issue:
`TracePoint.allow_reentrance do ... end` ?
`TracePoint.allow_reentrancy do ... end` ?
-
07:44 AM Feature #12913 (Open): A way to configure the default maximum width of pp
-
03:08 AM Feature #12913 (Closed): A way to configure the default maximum width of pp
- Applied in changeset commit:git|dfd9728c87640d9699b1e7c63a6fefb6b2797fbc.
----------
NEWS.md: Describe the change of the default width of `pp`
[Feature #12913] -
06:43 AM Misc #18346: DevelopersMeeting20211209Japan
- * [Feature #18331] Kernel.#Time (sawa)
* Introduce `Kernel.#Time` {instead of/in addition to} extending `Time.new` as in #18033.
* Similar methods like `Kernel#.Integer` are used to parse strings, and this is a good fit for `Ti... -
06:07 AM Misc #18346: DevelopersMeeting20211209Japan
- * [Feature #18033] https://bugs.ruby-lang.org/issues/18033
* `Time.at("2021-12-09")` instead of `Time.new`.
* Other new methods: `Time.try_convert` or `Time.iso`.
* [Feature #18190] Split `Random::Formatter` from securerandom
* Al... -
04:26 AM Misc #18346: DevelopersMeeting20211209Japan
- * [Feature #12737] Module#defined_refinements
* Is the name Module#refinements acceptable?
* It's consistent with Module#constants.
* Other candidates: configured_refinements, contained_refinements, defined_refinements
* ... -
06:20 AM Revision ec878dac (git): Move -ljemalloc to DLDLIBS [Bug #18391]
- Set the alternative memory management library only as a platform
specific library, without other libraries. -
06:18 AM Bug #14434: IO#reopen fails after EPIPE
- I think this is a bug definitely, but non-critical.
-
06:02 AM Revision 91e9d276 (git): Fix a link [ci skip]
-
05:26 AM Bug #14891 (Closed): Pathname#join has different behaviour to File.join
-
05:21 AM Feature #18351: Support anonymous rest and keyword rest argument forwarding
- compare with `...` parameter delegation, the advantage is we can specify with `*` and `**` respectively, like `def foo(*, k1:nil); bar(*, k2: k1); end` ?
- 04:21 AM Revision ad4ac68c (git): [ruby/ostruct] ostruct v0.5.1
- 04:21 AM Revision 95d9bcf2 (git): [ruby/ostruct] Alias less methods
- Skips methods that do not end with letter (in particular `!~` and `=~`)
For JRuby, also skip `instance_exec`, `instance_eval` and `eval` -
03:07 AM Revision dfd9728c (git): NEWS.md: Describe the change of the default width of `pp`
- [Feature #12913]
-
01:27 AM Revision 794b9a28 (git): YJIT: Add integrity checks for blockid
- Verify that the iseq idx pair for the block is valid in
invalidate_block_version(). While we are at it, bound loop
iterating over instructions to `iseq_body->iseq_size`. -
12:24 AM Revision b7ea66bc (git): YJIT: Fix incomplete invalidation from opt_setinlinecache
- As part of YJIT's strategy for promoting Ruby constant expressions into
constants in the output native code, the interpreter calls
rb_yjit_constant_ic_update() from opt_setinlinecache.
The block invalidation loop indirectly calls rb_dar... -
12:16 AM Bug #18390: Enumerator::Lazy#find returns invalid value
- Oh that's good to know. I see you have created a ticket for Opal: https://github.com/opal/opal/issues/2367 . Thank you for your report anyway!