Activity
From 01/11/2022 to 01/17/2022
01/17/2022
-
11:50 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- Exciting stuff! This doesn't need to turn into an "all things Rust" thread, but I wanted to highlight some Rust related stuff I'm working on bringing to the Ruby community. Hopefully it's helpful to some.
- [Cargo support in Rubygems fo... -
03:21 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- Thank you for chiming in @Matz :)
We will try to work with the people doing the packages/ports to help them resolve problems if there are any.
We are currently still early in our investigation of the Rust port. I am curious to know... -
11:15 PM Feature #18494: [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically
- > https://bugs.ruby-lang.org/issues/18494
Thanks both for the comments.
"ko1 (Koichi Sasada)" wrote:
> Some `RUBY_GC_...` vars do not affect correctly because they are used only on setup.
> We need to document which vars can be ... -
09:11 AM Feature #18494: [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically
- > Some RUBY_GC_... vars do not affect correctly because they are used only on setup.
Should we allow to change them at runtime through some `::GC` API? I could see some automatic/dynamic GC tuning gems being implemented using these AP... -
01:38 AM Feature #18494: [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically
- Some `RUBY_GC_...` vars do not affect correctly because they are used only on setup.
We need to document which vars can be modified dynamically. -
01:08 AM Feature #18494 (Open): [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically
- This is intended to give Ruby application developers a way to to
improve the out-of-the-box experience for end users running
tools written in Ruby. In most cases, end users are not and
cannot be expected to know how to tune the G... -
10:23 PM Bug #18495: `LC_ALL=C.UTF-8` sets `Encoding.default_external` to `Encoding::US_ASCII`
- > This sounds like a bug of the operating system.
Yes that's what I figured after digging into the code.
> ...
Indeed, it doesn't exist on OSX as far as I can tell, and likely wasn't present on the initial reporter system (Fedora, ... -
09:35 PM Bug #18495: `LC_ALL=C.UTF-8` sets `Encoding.default_external` to `Encoding::US_ASCII`
- This sounds like a bug of the operating system.
On Fedora 33:
```
$ env LC_ALL=C.UTF-8 locale
LANG=en_US.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="... -
12:23 PM Bug #18495 (Closed): `LC_ALL=C.UTF-8` sets `Encoding.default_external` to `Encoding::US_ASCII`
- Closing since I now believe it's up to the system to properly define locales. Apologies for the noise.
-
11:53 AM Bug #18495: `LC_ALL=C.UTF-8` sets `Encoding.default_external` to `Encoding::US_ASCII`
- So I dug into the code a bit, and Ruby seem to delegate most of that to the system with `nl_langinfo`
And reading more into it, it seems that `C.UTF-8` while common, isn't POSIX, and my system seem to behave the same:
```bash
$ en... -
11:42 AM Bug #18495 (Closed): `LC_ALL=C.UTF-8` sets `Encoding.default_external` to `Encoding::US_ASCII`
- Original bug report on Bootsnap: https://github.com/Shopify/bootsnap/issues/395#issuecomment-1014421271
```bash
$ env LC_ALL=en_US.UTF-8 ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
$ env LC_ALL=C.UTF-8 ruby -e 'p Encodi... - 08:39 PM Revision eb98275c (git): * 2022-01-18 [ci skip]
-
08:39 PM Revision c0d18a1a (git): [ruby/erb] Revert "Remove safe_level and further positional arguments (https://github.com/ruby/erb/pull/7)"
- This reverts commit https://github.com/ruby/erb/commit/5133efa06f0603ae79292f3b2b942957bc8a442e.
While we already handled this deprecation in many libraries, we noticed
that some (e.g. sprockets) relied on the format of `ERB.version` an... -
04:25 PM Feature #18408: Allow pattern match to set instance variables
- Dan0042 (Daniel DeLorme) wrote in #note-13:
> @palkan Wow, thank you for blowing my mind.
> ...
The examples demonstrate a hypothetical situations if we allow binding ivars.
However, we can just drop `@` and get the same behaviour for... -
02:54 PM Feature #18408: Allow pattern match to set instance variables
- @palkan Wow, thank you for blowing my mind.
However, is that behavior documented? I can't find it in the docs. I mean, it seems to me that it's relying on the undefined behavior discussed above, so by definition it's not guaranteed to... -
07:23 AM Feature #18408: Allow pattern match to set instance variables
- Dan0042 (Daniel DeLorme) wrote in #note-11:
> There are a few possible ways to solve these problems right?
> ...
So, we need to scan the whole pattern, reserver stack locations for all *mentioned* variables and resolve them when match ... -
04:09 AM Feature #18408: Allow pattern match to set instance variables
- ktsj (Kazuki Tsujimoto) wrote in #note-8:
> If assignment to instance variables (or variables other than local variables) is allowed in pattern matching, there are problems such as:
> ...
There are a few possible ways to solve these pr... -
02:19 PM Feature #18491: Drop support for IBM AIX and HP UX
- I see. Thanks @ngoto! I'll drop support for HP-UX and keep support for AIX.
-
01:01 PM Feature #18491: Drop support for IBM AIX and HP UX
- About HP-UX:
Ruby already dropped support for IA-64 (Itanium) CPU architecture ( Feature #15894 ) on which HP-UX runs.
About older architecture, PA-RISC, end of support date of PA-RISC servers were 2013. (References: https://en.wikiped... -
01:53 PM Feature #18490: MakeMakefile.pkg_config should accept multiple options
- Pinging @nobu for feedback as he is the primary maintainer of mkmf
-
12:56 PM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- Yes, this is a fix up of b680b632e5b8.
-
12:49 PM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- @nobu Thanks for the fix. What's the required backport on this, only 3.1?
-
12:24 PM Bug #18489 (Closed): Segmentation fault with ruby 3.1.0 in `active_decorator`
- Applied in changeset commit:git|f3c77bd480834f2835fe6fef5c0475336248dbde.
----------
Fix the placeholder subclass entry skipping [Bug #18489] -
10:45 AM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- Thank you very much!!
I can confirm that this issue is fixed. -
12:23 PM Revision f3c77bd4 (git): Fix the placeholder subclass entry skipping [Bug #18489]
-
12:09 PM Revision e53962b9 (git): [ruby/irb] Use require_relative to load extensions/commands
- https://github.com/ruby/irb/commit/d5060f7668
-
12:05 PM Bug #18429: Configure ruby-3.0.3 on Solaris 10 Unknown keyword 'URL' in './ruby.tmp.pc'
- Could you please show the full output of `gcc -v` and check the "Configured with:" line?
On Intel Solaris, it seems that gcc configured with `--with-gnu-as` is needed to compile recent Ruby versions. i.e. gcc configured with `--withou... -
10:43 AM Revision 1a0e0e89 (git): lldb_cruby.py: support RVARGC on T_CLASS [ci skip]
-
08:11 AM Revision 549af505 (git): [ruby/net-http] Remove redundant MJIT condition
- ref https://github.com/ruby/ruby/commit/da0f67c0383f57129c7a76255964b1ee739d8db8
https://github.com/ruby/net-http/commit/dbeb5f1c8f -
06:32 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- The revert was proposed and implemented at https://bugs.ruby-lang.org/issues/18349.
-
06:00 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- MEMO: This feature reverted at https://github.com/ruby/ruby/commit/1a63468831524f68e73cbb068071652c6486cfc6 without major release.
-
05:56 AM Revision b4e362d4 (git): lib/drb/drb.rb: Prevent a "warning: assigned but unused variable"
- ... by replacing the variable with a underscore-prefixed name
-
05:43 AM Misc #18493 (Closed): zverok as a commiter
- I've finished to setup zverok's accounts in ruby-lang.org.
-
05:43 AM Misc #18488 (Closed): Add katei as a commiter
- I've finished to setup katei's accounts in ruby-lang.org.
-
05:23 AM Revision 81b604fb (git): [ruby/irb] Use require_relative to require lib files
- 1. `require` can mislead Ruby to load system irb's files and cause
constant redefined warnings as other code loads the same module/class
from lib folder.
2. Most files already use `require_relative`.
https://github.com/ruby/irb/co... -
04:49 AM Revision 804a7149 (git): Replace to RBOOL macro
-
01:39 AM Revision 35158673 (git): Removed skip alias in test suite
-
01:17 AM Revision ac1bb6b5 (git): [ruby/net-http] Rename `D` to `debug` in `Net::HTTP`
- Renames `D` to `debug` in `Net::HTTP` and introduces an alias for
backwards compatibility. This was done for readability reasons, in that
`D` did not clearly reflect what the method was doing and can cause some
confusion.
https://github...
01/16/2022
-
09:25 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- `detailed_message` maybe? (also the term used in https://bugs.ruby-lang.org/issues/18296#note-20)
IMHO `description` is fine and a good term in relation to `message`.
`full_message` is a weird name to me because it includes the backt... -
04:58 PM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- Does https://github.com/ruby/ruby/pull/5455 fix it?
-
02:19 PM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- I found the minimal reproduction code.
```ruby
M = Module.new
Object.new.extend(M)
GC.start
M.include(Module.new)
```
For example, you can reproduce this by using active_decorator as follows.
```ruby
module UserDecorator
... -
06:01 AM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- We had confirmed that the problem occurs on Linux OS using Docker Container (ruby:3.1.0-alpine3.14, cimg/ruby:3.1.0-browsers), but now we have confirmed that it also occurs on mac OS.
A crash report is attached for additional informatio... -
04:56 PM Revision ab11cafe (git): Parenthesize the macro argument
- 03:26 PM Revision 825e2ffb (git): * 2022-01-17 [ci skip]
-
03:26 PM Revision 28fad776 (git): Tweak IO documentation for `IO.write('|cmd')` and so on [ci skip]
-
02:47 PM Revision 2dff82bf (git): `O_NONBLOCK` is not always a preprocessor constant on all platforms
-
01:43 PM Revision 4cd6fd33 (git): Weakmap failure is still pending
-
01:09 PM Revision 15507568 (git): [ruby/reline] Use "Bundler.require" to load Gemfile.lock in multiline_repl
- https://github.com/ruby/reline/commit/492bee257a
-
01:09 PM Revision f5e39137 (git): [ruby/reline] Fix incremental search to work correctly even if not last line
- https://github.com/ruby/reline/commit/21d75f6d4c
-
01:09 PM Revision 921ff739 (git): [ruby/reline] Insert newline in the middle of buffer just after dialog
- https://github.com/ruby/reline/commit/0c76631132
-
01:09 PM Revision d1e078e7 (git): [ruby/reline] Add a wait for a test because sometimes fails
- https://github.com/ruby/reline/commit/da4a7aa932
-
01:09 PM Revision 2bc6b07a (git): [ruby/reline] Combine common logic into one
- https://github.com/ruby/reline/commit/5db9738f17
-
01:09 PM Revision f94a2adf (git): [ruby/reline] Clear dialog when adding new line to end of buffer
- https://github.com/ruby/reline/commit/7d38454327
-
12:35 PM Revision 5ec34504 (git): Remove outdated skips
-
12:35 PM Revision a4a7bf2a (git): Use pend for old TODOs
-
12:35 PM Revision 56b45e8c (git): Let testunit use omit or pend instead of skip
-
10:52 AM Feature #18408: Allow pattern match to set instance variables
- ktsj (Kazuki Tsujimoto) wrote in #note-8:
> If assignment to instance variables (or variables other than local variables) is allowed in pattern matching, there are problems such as:
> ...
In this context, what is the difference between... -
03:18 AM Feature #18408 (Assigned): Allow pattern match to set instance variables
- If assignment to instance variables (or variables other than local variables) is allowed in pattern matching, there are problems such as:
1. The value during pattern matching can be observed by other threads
2. The value of the insta... -
08:15 AM Revision 2ae9da23 (git): Check with the latest stable
-
07:09 AM Revision 6328db3c (git): Separate the tests which fail when load-relative enabled
-
07:08 AM Revision ab1fc6ef (git): Add continue-on-skipped_tests flag
-
07:08 AM Revision 41e6f096 (git): Fix typos for multiple skipped_tests
-
03:20 AM Feature #15559: Logical XOR (^^) operator
- hmdne (hmdne -) wrote in #note-6:
> @indirect your example can be written as follows:
> ...
You're just repeating the first comment on this thread. The entire point of this ticket is to have `^^` work on non-booleans, just like `||` and ... -
02:39 AM Feature #15559: Logical XOR (^^) operator
- Hm, came into my mind that you may prefer to use this, more readable snippet instead:
```ruby
raise ArgumentError unless [bar, baz].one?
``` -
02:30 AM Feature #15559: Logical XOR (^^) operator
- Since we don't need short-circuit evaluation, we can simply use `^` for that reason. It's already defined on both TrueClass and FalseClass AND NilClass.
@indirect your example can be written as follows:
```ruby
raise ArgumentE... -
02:20 AM Feature #15559: Logical XOR (^^) operator
- mrkn (Kenta Murata) wrote in #note-1:
> I think `^^` can be useful for the case that both `expr1` and `expr2` are not boolean.
> ...
Yes. Here is an example I encountered today. I have a class initializer that takes one argument: `Foo....
01/15/2022
-
09:53 PM Revision 72830409 (git): Update NEWS.md about ERB.new
-
09:46 PM Revision d12a08ab (git): [ruby/erb] Remove safe_level and further positional arguments (https://github.com/ruby/erb/pull/7)
- [Feature #14256]
https://github.com/ruby/erb/commit/5133efa06f -
08:26 PM Revision 3cfb6fc4 (git): [ruby/erb] Escape the second *
- The original code just seems unintentional
https://github.com/ruby/erb/commit/75a0749cb7 - 08:21 PM Revision c37d9682 (git): * 2022-01-16 [ci skip]
- 08:21 PM Revision b2d15dca (git): [ruby/erb] fix regexp (https://github.com/ruby/erb/pull/6)
- https://github.com/ruby/erb/commit/33100a022f
-
04:57 PM Feature #16986: Anonymous Struct literal
- duerst (Martin Dürst) wrote in #note-43:
> One more point: I haven't seen much examples of similar features in other languages.
Sorry to resurrect an old thread, but I just wanted to mention that this is a feature of the Zig programm... -
02:23 PM Misc #18493: zverok as a commiter
- @kou @matz @Eregon Thank you!
@kou Information sent -
06:11 AM Misc #18493: zverok as a commiter
- @zverok Could you follow https://bugs.ruby-lang.org/projects/ruby/wiki/CommitterHowto#What-to-do-for-registering-you-as-a-committer ?
-
02:48 AM Misc #18493: zverok as a commiter
- Approved.
Matz.
-
01:24 PM Revision 4c2d6f76 (git): Test enable-load-relative
- Now rubygems has the tests depending on it.
- 11:10 AM Revision f29d7745 (git): * expand tabs. [ci skip]
- Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook. -
09:57 AM Revision c1bcfeec (git): Transfer the responsibility for MJIT options to mjit.c
- 09:56 AM Revision 670f3e6c (git): [ruby/fcntl] adding few FreeBSD specific flags.
- https://github.com/ruby/fcntl/commit/03d9a7937d
-
09:55 AM Revision d853a788 (git): Define the default JIT feature bit
-
05:56 AM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- Thanks for the comment.
> Are these segfaults caused by a particular decorator module, or multiple different modules?
Caused by multiple different modules.
> ...
Not use refinements.
There is no C-ext.
These are simple decorat... - 05:00 AM Revision 7c70151a (git): [rubygems/rubygems] Fix `gem update --system` for already installed version of rubygems-update
- https://github.com/rubygems/rubygems/commit/c167d513a7
-
04:30 AM Revision 2dc365db (git): Fix spec failures on ruby 3.1
- Because Module#const_added is ruby 3.2 feature
-
02:55 AM Feature #18481: Porting YJIT to Rust (request for feedback)
- Accepted.
To be clear, it's OK to use Rust to implement YJIT (and other optional features in the future), but mainline CRuby will not be implemented in Rust. The Rust implemented Ruby should be an alternative implementation just like ... -
02:47 AM Feature #18462: Proposal to merge WASI based WebAssembly support
- Accepted.
Matz.
-
01:39 AM Bug #16908: Strange behaviour of Hash#shift when used with `default_proc`.
- Thank you @jeremyevans0
-
12:33 AM Revision e40f79da (git): Enhanced RDoc for io.c (#5444)
- Treated:
IO#open
IO#sysopen
#open
IO#putc
IO#puts
#p
Kernel#display -
12:09 AM Revision 8d378fd2 (git): Add Enumerable::Lazy#with_index to NEWS-2.7.0
- The behavior of `Enumerable::Lazy#with_index` has changed in Ruby 2.7.
This change was not listed in the Ruby 2.7 news, so I added it.
01/14/2022
-
11:59 PM Revision 49cc7709 (git): [Actions] mingw - use ruby/setup-ruby@v1 again
-
09:51 PM Misc #18493: zverok as a commiter
- +1
@matz What do you think about this? -
07:53 PM Misc #18493: zverok as a commiter
- +1 from me, @zverok has done so many documentation improvements and for that I think it makes sense for him to be committer.
And lots of other contributions to Ruby as listed above. -
07:32 PM Misc #18493 (Closed): zverok as a commiter
- I feel uneasy asking for myself (as far as I can understand, it is normal that other core team member proposes new contributors), but well... I am Ukrainian, and am not exactly subtle.
So... Can I receive a commit rights?
## About ... -
09:46 PM Bug #18435 (Closed): Calling `protected` on ancestor method changes result of `instance_methods(false)`
- Applied in changeset commit:git|58dc8bf8f15df9a33d191074e8a5d4946a3d59d5.
----------
Fix {Method,UnboundMethod}#{public?,private?,protected?} for ZSUPER methods
Add a visibility member to struct METHOD storing the original
method visib... -
12:56 AM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
- I've pushed a simpler fix that doesn't change the semantics of `method`, but still returns the correct visibility for ZSUPER methods, by storing the correct visibility as a member of struct METHOD: https://github.com/ruby/ruby/pull/5356/...
-
09:46 PM Revision 58dc8bf8 (git): Fix {Method,UnboundMethod}#{public?,private?,protected?} for ZSUPER methods
- Add a visibility member to struct METHOD storing the original
method visibility, and use that, instead of taking the visibility
from the stored method entry (which may have different visibility
for ZSUPER methods).
Consider Method/Unbou... -
09:43 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- I've submitted a pull request for a prototype implementing `Thread.each_caller_location`: https://github.com/ruby/ruby/pull/5445. Hopefully it will be a good starting point to discuss details about how the method should work.
This pro... -
03:25 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- This topic was a little discussed at the dev-meeting. We didn't have enough time to discuss the details. As far as I remember, @matz said the following.
* The name `Thread.each_caller_location` is acceptable.
* But maybe the document... -
09:10 PM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- What *decorator.rb:78* actually does is basically just a `Module#include`, and `ActiveDecorator::Helpers` module is a simple module that defines one method written in ruby, so we need some more information about the receiver modules to s...
-
09:32 AM Bug #18489: Segmentation fault with ruby 3.1.0 in `active_decorator`
- I'm attaching the log because it reproduced several times.
-
05:37 AM Bug #18489 (Closed): Segmentation fault with ruby 3.1.0 in `active_decorator`
- Segmentation faults occasionally occur in product code.
We were not able to provide minimal reproducibility of the code. Sorry...
## Console dump
```
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/active_decorator-1.4.0/lib/ac... -
08:18 PM Bug #16908 (Closed): Strange behaviour of Hash#shift when used with `default_proc`.
- Applied in changeset commit:git|a93cc3e23b4044762e80820fc7a45606587e11db.
----------
Make Hash#shift return nil for empty hash
Fixes [Bug #16908] -
03:01 AM Bug #16908 (Assigned): Strange behaviour of Hash#shift when used with `default_proc`.
- Jeremy's approach (make Hash#shift return nil if the hash is empty) was approved by @matz.
-
08:17 PM Revision a93cc3e2 (git): Make Hash#shift return nil for empty hash
- Fixes [Bug #16908]
-
07:36 PM Revision 6b7eff90 (git): Separately allocate class_serial on 32-bit systems
- On 32-bit systems, VWA causes class_serial to not be aligned (it only
guarantees 4 byte alignment but class_serial is 8 bytes and requires 8
byte alignment). This commit uses a hack to allocate class_serial
through malloc. Once VWA alloc... -
07:00 PM Bug #15928 (Closed): Constant declaration does not conform to JIS 3017:2013
- Applied in changeset commit:git|ca3d405242c722c8140944bda7278c2a9e5a7139.
----------
Fix constant assignment evaluation order
Previously, the right hand side was always evaluated before the
left hand side for constant assignments. For... -
02:59 AM Bug #15928: Constant declaration does not conform to JIS 3017:2013
- This was discussed at the dev-meeting, and @matz said it's time for a change. @jeremyevans0 Could you merge your pull request?
-
07:00 PM Revision ca3d4052 (git): Fix constant assignment evaluation order
- Previously, the right hand side was always evaluated before the
left hand side for constant assignments. For the following:
```ruby
lhs::C = rhs
```
rhs was evaluated before lhs, which is inconsistant with attribute
assignment (lhs.m ... -
04:29 PM Revision 3cc82ff9 (git): Drop support for OSX 10.3 and earlier
- dlopen was introduced in OSX 10.4, which was released in 2005. OSX 10.3
was EOL in 2007. - 03:58 PM Revision 64e19ad7 (git): to prevent collection, keep the last result.
-
03:22 PM Revision 82539a3d (git): variable.c: Fix incorrect identation in `const_added`
-
03:19 PM Revision f75e871e (git): Try previous ruby-setup-ruby
- The commits between db14f2dde9ceeaa8acbcd31884475a7ce97ae9d3 and
11cc84264a91d42bc873f39d70678e44042322d2 seems breaking
OpenSSL::TestConfig#test_s_parse_include. -
03:17 PM Bug #18492 (Open): `rb_rescue2` inside `rb_protect` segfaults on Windows
- I ran into and interpreter segfault that @peterzhu2118 helped me reduce to s simple test case:
```c
#include <ruby.h>
static VALUE
rescue_return_false(VALUE arg, VALUE e)
{
return Qfalse;
}
static VALUE
try_callback(VALU... -
03:15 PM Revision c54eac66 (git): Show tool versions
-
03:01 PM Feature #18491 (Closed): Drop support for IBM AIX and HP UX
- There's code in Ruby for IBM AIX and HP UX (macros `_AIX` and `__hpux`), but we don't test on these systems nor do we have testing machines. IBM AIX's maintainer is listed as @kanemoto and HP UX does not have a maintainer. Are these syst...
- 03:00 PM Revision d5d958a9 (git): * 2022-01-15 [ci skip]
-
03:00 PM Revision 7d42b442 (git): [rubygems/rubygems] Support binstubs with `--enable-load-relative` prolog
- https://github.com/rubygems/rubygems/commit/32a5e9057a
-
03:00 PM Revision 044b0ae8 (git): [rubygems/rubygems] Extract a bit of common logic to methods
- https://github.com/rubygems/rubygems/commit/9a1b891435
-
03:00 PM Revision 3006451f (git): [rubygems/rubygems] Privatize some test utils
- https://github.com/rubygems/rubygems/commit/386b3b85ca
-
03:00 PM Revision 810516ca (git): [rubygems/rubygems] Fix method documentation to be more correct English
- https://github.com/rubygems/rubygems/commit/bcffd92c48
-
02:52 PM Feature #18490 (Closed): MakeMakefile.pkg_config should accept multiple options
- ## Summary
When building static libraries it is sometimes necessary to pass multiple flags to `pkg-config`. Currently, `MakeMakefile.pkg_config` does not allow this.
A PR has been submitted at https://github.com/ruby/ruby/pull/5436... -
02:38 PM Revision da0f67c0 (git): [rubygems/rubygems] Remove redundant condition
- See https://github.com/rubygems/rubygems/pull/5210#discussion_r784807168
https://github.com/rubygems/rubygems/commit/cd0e961e81 -
12:58 PM Feature #18368: Range#step semantics for non-Numeric ranges
- One way to achieve the same result currently is Enumerator.produce:
```ruby
require 'time'
Enumerator.produce(Time.parse('2021-12-01')) { _1 + 24*60*60 }.take_while { _1 <= Time.parse('2021-12-24') }
```
Somewhat related to https:... -
11:41 AM Feature #18368: Range#step semantics for non-Numeric ranges
- @mame @matz
I believe that "step implemented with `+`" is clear and useful semantics which might help with much more than time calculations:
```ruby
require 'numo/narray'
p (Numo::NArray[1, 2]..).step(Numo::NArray[0.1, 0.1]).take(5... -
02:58 AM Feature #18368: Range#step semantics for non-Numeric ranges
- This topic was discussed at the dev-meeting yesterday.
A naive implementation (using `begin + step` iteratively) will allow the following behavior.
```
([]..).step([1]).take(3) #=> [[], [1], [1, 1]]
(Set[1]..).step(Set[2])... -
10:30 AM Feature #17881 (Closed): Add a Module#const_added callback
- Applied in changeset commit:git|8d05047d72d0a4b97f57b23bddbca639375bbd03.
----------
Add a Module#const_added callback
[Feature #17881]
Works similarly to `method_added` but for constants.
```ruby
Foo::BAR = 42 # call Foo.const_added... -
08:21 AM Feature #17881: Add a Module#const_added callback
- @mame I will today, thank you for the notice.
-
02:39 AM Feature #17881 (Assigned): Add a Module#const_added callback
- @byroot Do you merge your pull request to the HEAD? This proposal is already approved by matz.
-
10:30 AM Revision 8d05047d (git): Add a Module#const_added callback
- [Feature #17881]
Works similarly to `method_added` but for constants.
```ruby
Foo::BAR = 42 # call Foo.const_added(:FOO)
class Foo::Baz; end # call Foo.const_added(:Baz)
Foo.autoload(:Something, "path") # call Foo.const_added(:Somethin... -
09:33 AM Revision 53a4e101 (git): clear `@result` after `setup_message`
- For the remote object `ro`, method chain like `ro.foo.bar` the
result of `ro.foo` is stored in `@result`, but cleared just
before `setup_message` and it seems GCed on specific machine.
```
1) Error:
DRbTests::TestDRbCore#test_05_eq:
R... -
08:47 AM Misc #18488: Add katei as a commiter
- Approved.
Matz.
-
03:58 AM Misc #18488: Add katei as a commiter
- @katei Thanks!
@matz Could you approve him as a committer? -
03:55 AM Misc #18488: Add katei as a commiter
- Of course! I'll do my best as a committer :)
-
03:49 AM Misc #18488 (Closed): Add katei as a commiter
- Hi,
@ko1 and I would like to recommend we add katei-san (https://github.com/kateinoigakukun) as a committer.
He has sent [about ten pull requests to ruby](https://github.com/ruby/ruby/pulls?q=author%3Akateinoigakukun), and all of t... -
07:10 AM Bug #18487: Kernel#binding behaves differently depending on implementation language of items on the stack
- Interesting. I created a simpler version.
```
class Magic
define_singleton_method :modify_caller_env!, method(:binding).to_proc >> ->(bndg) { bndg.local_variable_set(:my_var, 42) }
end
my_var = 1
Magic.modify_caller_env!
... -
06:26 AM Revision ac807888 (git): Update RBS test for Gem::Version#<=> update
-
05:54 AM Revision d3940a53 (git): Fetch the unmerged revision to test of bundled gems
-
05:54 AM Revision abc4a460 (git): Get rid of building main again when test-bundled-gems
-
05:52 AM Bug #18485 (Closed): Even though init a blocking Fiber with Fiber.new(blocking: true) but scheduler is invoked
- This is working as intended.
```
f = Fiber.new(blocking: true) do
p '1111111'
sleep(1)
p '2222222'
end
```
does not invoke the `kernel_sleep` hook. Nor does it invoke any IO output hooks (and thus performs blocking IO). -
05:49 AM Bug #18484: Fiber should return it self when blocked by IO
- ```
irb(main):001:1* f = Fiber.new do
irb(main):002:1* sleep(1)
irb(main):003:1* Fiber.yield 123
irb(main):004:0> end
=> #<Fiber:0x000000010d8aa328 (irb):1 (created)>
irb(main):005:0>
irb(main):006:0> p f.resume
123
=> 123
... -
04:46 AM Revision c613d79f (git): Suppress unary minus operator to unsigned type warnings
-
04:46 AM Revision 9fa9cf40 (git): Suppress possible loss of data warnings
-
04:00 AM Feature #18462: Proposal to merge WASI based WebAssembly support
- At the previous dev-meeting, @katei elaborated this proposal and implementation approach himself. The patch is still being checked in detail by @nobu, but we agreed that it looks great.
Because WASI is actively being developed, we wil... -
02:51 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- We discussed this topic yesterday at the dev-meeting. @matz basically liked the API style of `Exception#description`, but disliked the name. `full_message` calls `description`, and `description` calls `message`, which looked awkward to m...
-
02:45 AM Feature #18367: Stop the interpreter from escaping error messages
- usa (Usaku NAKAMURA) wrote in #note-13:
> BTW, if the target output is not terminal (istty = false), what kind of output is desirable?
I don't think that has much to do with this proposal, but I basically expect the same output.
A... -
12:00 AM Revision 6dc4c942 (git): File rdoc (#5438)
- Treats:
File introduction
File.open
File.new
01/13/2022
-
11:36 PM Bug #18487 (Closed): Kernel#binding behaves differently depending on implementation language of items on the stack
- Recently I [discovered] that one could use `Kernel#binding` to capture the
environment of a frame that is not directly below the stack frame for
`Kernel#binding`. I've known that C extensions have this [privilege] for a
while, but did... -
11:16 PM Revision b9b63774 (git): [ruby/net-http] Fix unescaped `.` in Regexp
- Use `include?` instead.
https://github.com/ruby/net-http/commit/05022744a9 -
11:11 PM Bug #18444: Trapped TSTP causes a locking deadlock in 3.0.3 onward
- I couldn't replicate this behavior in OpenBSD/amd64. On OpenBSD/amd64, sending TSTP prints the Received... string twice, 10 seconds part, followed by the loop printing 1. Windows doesn't support TSTP, so no reason to test there. Can a...
-
10:44 PM Revision 40d9be51 (git): [ruby/psych] Don't require `strscan` unnecessarily
- It does not seem needed, and it's causing issues on Windows when
uninstalling `strscan`, because strscan's shared library being used when
RubyGems tries to remove it (because its loaded through Psych, which
RubyGems uses for loading conf... -
07:12 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
- > group_by emerged in Ruby 1.8.7, but my RVM can't install it :(
> ...
off-topic: all-ruby is your friend :) https://github.com/akr/all-ruby
```
$ docker run -it --rm rubylang/all-ruby ./all-ruby -e 'p (1..6).to_a.inject({}) { |r, i... -
04:34 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
- I think it is docs bug.
`group_by` emerged in Ruby 1.8.7, but my RVM can't install it :(
The earliest I could check was 1.9.3, and it already has order of keys 1, 2, 0.
I think it is a natural reason of keys being in the order they ... -
04:33 PM Bug #18486 (Closed): Enumerable#group_by ordering appears to have changed and doesn't match docs.
- This was already fixed in commit:1e10099e091
-
04:31 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
- This is only a minor documentation issue. I assume the documentation is a left over from pre-1.9, when hashes were unordered. I'll fix it.
-
04:05 PM Bug #18486 (Closed): Enumerable#group_by ordering appears to have changed and doesn't match docs.
- The documentation for Enumerable#group_by suggests the following:
(1..6).group_by { |i| i%3 } #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
it actually produces this (same values different order). Tested in 2.6.3 and 3.0.2
(1..6).grou... -
05:35 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- > It seem simpler for everyone (including Sentry, Datadog, etc.) to use e.description instead of e.message + "\n" + e.additional_message, and also easier to support older rubies.
Not saying I like that but I think it's generally ok be... - 03:00 PM Revision acd1f45a (git): * 2022-01-14 [ci skip]
-
02:59 PM Revision a4851526 (git): [rubygems/rubygems] Lock standard.yml to the required ruby version
- https://github.com/rubygems/rubygems/commit/1791b5b9e5
-
11:50 AM Bug #18485 (Closed): Even though init a blocking Fiber with Fiber.new(blocking: true) but scheduler is invoked
- For example:
```
require 'fiber'
require 'io/nonblock'
class SimpleScheduler
def initialize
@readable = {}
@writable = {}
@waiting = {}
@ready = []
@blocking = 0
@urgent = IO.pipe
end
def ... -
09:59 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
- I've released a fixed version of serverengine: https://rubygems.org/gems/serverengine/versions/2.2.5
Thanks for your report! -
09:53 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
- The error itself was fixed by https://github.com/treasure-data/serverengine/pull/116#issuecomment-1011931598.
There is another error in serverengine using ruby 3.1 but it is unrelated to this issue.
-
09:57 AM Bug #18484 (Rejected): Fiber should return it self when blocked by IO
- Here's an example:
```
f = Fiber.new do
sleep(1)
Fiber.yield 123
end
p f.resume
```
Output:
```
nil
```
Expected output:
```
#<Fiber:0x000000010e825b18@(irb):59 (paused)>
```
========================
... -
09:49 AM Misc #18399: DevMeeting-2022-01-13
- We were not able to discuss all of the agenda items. We will continue discussion on 28th Jan.
- 09:16 AM Revision d0a06379 (git): [rubygems/rubygems] Use `Fiddle` in `bundle doctor` to check for dynamic library presence
- https://github.com/rubygems/rubygems/commit/ecd495ce1b
-
09:15 AM Revision 98285025 (git): [rubygems/rubygems] Let Version#spaceship accept a String
- With this patch, handwriting version comparisons become a little bit easier.
before:
SomeGem.version <=> Gem::Version.new('1.3')
after:
SomeGem.version <=> '1.3'
https://github.com/rubygems/rubygems/commit/7e0dbb79f2 -
08:45 AM Revision 9de38086 (git): add a NEWS entry of `Proc#dup`.
-
08:44 AM Bug #17545 (Closed): Calling dup on a subclass of Proc returns a Proc and not the subclass
- Applied in changeset commit:git|7e21b77dc6bfefaf331a0dbf89782303b8cda05d.
----------
T#dup (T < Proc) should return T's object
T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9.
[Bug #17545] -
08:43 AM Revision 7e21b77d (git): T#dup (T < Proc) should return T's object
- T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9.
[Bug #17545] -
07:15 AM Feature #18367: Stop the interpreter from escaping error messages
- BTW, if the target output is not terminal (istty = false), what kind of output is desirable?
-
05:48 AM Bug #18465: Make `IO#write` atomic.
- I would personally like to simplify `IO` implementation but I'm not sure if major refactor is acceptable especially given the chance for performance regressions.
You are right, if someone holds a lock when writing to `stdout` or `stde... -
05:27 AM Feature #18481: Porting YJIT to Rust (request for feedback)
- Maintainer of ruby-install here along with @havenwood. By design ruby-install will install all build and runtime dependencies from the system's package manager needed to compile/run a ruby with default configuration options; which is how...
-
12:04 AM Feature #18481: Porting YJIT to Rust (request for feedback)
- As a release manager, adding rust to the tool chain is big change. But your proposal is well considered about the problem. While the YJIT support and Rust dependency is optional and it doesn't affect the user experience on the YJIT-disab...
-
05:26 AM Feature #18483 (Closed): `RUBY_ON_BUG` feature for ruby release version
- Now development version of MRI (`RUBY_DEVEL` macro enabled binary) supports `RUBY_ON_BUG` environment variable.
It kicks the specified process with PID of the Ruby process when `rb_bug()` function is called, like:
```
$ RUBY_ON_BUG=... -
02:34 AM Revision 5a75151a (git): [DOC] Mark up the code for Kernel#rand as the same as Random#rand
-
02:32 AM Revision d1a55851 (git): [DOC] Fix a typo in a doc
-
01:12 AM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- Thank you, this is helpful. I'm not sure whether or not concurrent-ruby is the right place to fix this. If someone were doing what your example does in a loop and then joining all of them and making that enumerable, it would be their res...
01/12/2022
-
11:08 PM Revision faf79d3a (git): Enhanced RDoc for IO.popen (#5430)
- * Enhanced RDoc for IO.popen
-
08:56 PM Bug #18482 (Rejected): Fiber can not disable scheduler
- Did you read the documentation?
https://rubyapi.org/3.1/o/fiber#method-c-new -
05:48 PM Bug #18482 (Rejected): Fiber can not disable scheduler
- class Fiber can not disable scheduler with it's parameter.
When parameter is false:
```
require 'fiber'
require 'io/nonblock'
class SimpleScheduler
def initialize
@readable = {}
@writable = {}
@waiting = {}
... -
08:55 PM Revision 2f71f6bb (git): Speed up and avoid kwarg hash alloc in Time.now
- Previously Time.now was switched to use Time.new as it added support for
the in: argument. Unfortunately because Class#new is a cfunc this
requires always allocating a Hash.
This commit switches Time.now back to using a builtin time_s_n... -
08:30 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- maximecb (Maxime Chevalier-Boisvert) wrote in #note-10:
> Would you be provide some specifics of how difficult it would be to compile rust code while packaging Ruby for Fedora/CS/RHEL? Is there an existing rustc package? Would you be ab... -
08:15 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- > TBH, with my Fedora/CS/RHEL maintainer hat on, this proposal scares me.
I completely understand. This is a departure from the Ruby tradition so to speak and as such, has to be considered carefully.
> ...
If it makes you feel any ... -
08:01 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
> ...
Downloading anything (especially binary blobs) or even bundling i... -
07:12 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
The current active maintainers of e.g. `ruby-build` would be @hsbt an... -
07:00 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> > believe that this is trivially supportable with the use of Rust editions, and if they are able to target the 2018 edition, it would ensure maximum compatibility. A schedule coul... -
06:40 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
I don't think CRuby should download anything during build. IMO `rustc` should be treated like `gcc`, it's something you should ... -
06:30 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> Rust is supposed to be fairly backwards compatible for the last few years. As long as the YJIT team commits to supporting a Rust version that was released more than 12 months ago (say Rus... -
06:15 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- Eregon (Benoit Daloze) wrote in #note-3:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
I don't think that is true, at least not for releases. ruby-3.1.0.tar.gz includes all bundled gems in a `.bundle` directory. `tool/config.... -
05:59 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think so. Trying to download during a build will result in problems for many packagers.
Yes, for packagers I think they would typically prefer to use an existing Rust package (... -
05:03 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- Eregon (Benoit Daloze) wrote in #note-1:
> Would it make sense to automatically download a Rust toolchain when building with YJIT?
I don't think so. Trying to download during a build will result in problems for many packagers. Ruby ... -
04:29 PM Feature #18481: Porting YJIT to Rust (request for feedback)
- Would it make sense to automatically download a Rust toolchain when building with YJIT?
I assume the Rust code would need a specific version of Rust (newer versions might work but not always, backward compat is not eternal) and so it'... -
03:53 PM Feature #18481 (Closed): Porting YJIT to Rust (request for feedback)
- TL;DR: The YJIT team wants to explore using Rust to help develop YJIT. The rest of CRuby will continue to build without Rust tools and building YJIT will remain optional.
We’re currently exploring the possibility of porting YJIT to Ru... -
06:22 PM Bug #18475 (Closed): Yielding an element for Enumerator in another thread dumps core
- Applied in changeset commit:git|ae5458f228a5477383e9c00425d85d50a3867817.
----------
thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475] -
08:32 AM Bug #18475: Yielding an element for Enumerator in another thread dumps core
- https://github.com/ruby/ruby/pull/5431
-
08:31 AM Bug #18475: Yielding an element for Enumerator in another thread dumps core
- This is almost the same issue as #11254. When TAG_BREAK is thrown to the top-level frame, it dumps core. #11254 fixed the case where TAG_BREAK is thrown to the top-level of the main thread, but not of a non-main thread.
I think this p... -
06:21 PM Revision ae5458f2 (git): thread.c: Convert TAG_BREAK to a normal exception at thread top-level
- [Bug #18475]
-
06:14 PM Bug #18479 (Third Party's Issue): I encountered a bug in the Ruby interpreter or extension libraries
- This is a third-party's issue. See https://github.com/ffi/ffi/issues/864 . You may want to try https://github.com/ffi/ffi/issues/864#issuecomment-875242776 . Or `bundle config --local build.ffi --enable-libffi-alloc`.
-
02:33 PM Bug #18479: I encountered a bug in the Ruby interpreter or extension libraries
- Can you try using Ruby 2.7.5 or newer? Ruby 2.6 is on security maintenance and will be EOL on March 2022.
-
11:39 AM Bug #18479 (Third Party's Issue): I encountered a bug in the Ruby interpreter or extension libraries
- I received a message saying that I encountered a bug in the Ruby interpreter or extension libraries after running the following:
Clone this repo
```
git clone https://github.com/raviriley/agency-jekyll-theme.git
cd agency-jekyll-t... - 05:01 PM Revision 59eb02cd (git): * 2022-01-13 [ci skip]
-
05:00 PM Revision 98fb0ab6 (git): Enable Variable Width Allocation by default
-
05:00 PM Revision 2d81a718 (git): Make embedded string length a long for VWA
- A short (2 bytes) will cause unaligned struct accesses when strings are
used as a buffer to directly store binary data. -
02:53 PM Bug #18468 (Closed): Tutorial Link for Optionparser is broken
- Applied in changeset commit:git|92630e2346a221fdfeaa484632938a06765bc6e5.
----------
[ruby/optparse] Fix links to the page directory files [Bug #18468]
https://github.com/ruby/optparse/commit/dab72c543d -
01:13 PM Bug #18480 (Closed): Dtrace enabled build fails on systems with DTRACE_REBUILD=yes
- When building Ruby 3.1 on Solaris, where dtrace requires a recompilation (DTRACE_REBUILD=yes), the compilation fails with the following linking error:
```
linking miniruby
Undefined first referenced
symbol in file
__dtr... -
12:16 PM Revision e28dbd0f (git): [ruby/optparse] Fix for ruby 3.0 or earlier
- https://github.com/ruby/optparse/commit/9e29d86c12
-
12:16 PM Revision 743a41f7 (git): [ruby/optparse] DidYouMean::PlainFormatter is deprecated
- https://github.com/ruby/optparse/commit/0ac9957696
-
12:16 PM Revision 92630e23 (git): [ruby/optparse] Fix links to the page directory files [Bug #18468]
- https://github.com/ruby/optparse/commit/dab72c543d
-
12:16 PM Revision 7d94df63 (git): [ruby/optparse] Add rdoc options
- Specify the main page and the page directory. Also in Rakefile,
extract and use the same options from the gemspec file.
https://github.com/ruby/optparse/commit/d182cd60b5 -
12:16 PM Revision 39bebd76 (git): [ruby/optparse] Add .document files
- https://github.com/ruby/optparse/commit/ed283559d4
-
09:57 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
- It is because of a change in rubyinstaller-3.1.0-x64.
In https://rubyinstaller.org/2021/12/31/rubyinstaller-3.1.0-1-released.html:
> RubyInstaller-3.1.0-x64 has a changed C-runtime called UCRT replacing the old MSVCRT.
I guess tha... -
08:51 AM Revision 26b4aa85 (git): Show JIT options only when supported
-
08:21 AM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- I think I understand the issue. When the following code is executed on Ruby 3.0, it prints `"should_not_reach_here"`.
```
def foo
Thread.new do
1.times do
yield
end
p "should_not_reach_here"
end.join
end
... -
02:02 AM Revision dcb02cb2 (git): [ruby/io-nonblock] Use omit instead of skip for test-unit
- https://github.com/ruby/io-nonblock/commit/a7bfbfa049
-
01:59 AM Revision 186fd890 (git): [ruby/rinda] Use omit instead of skip for test-unit
- https://github.com/ruby/rinda/commit/1d3512aa26
-
01:53 AM Revision bf2bd6dc (git): [ruby/io-wait] Use omit instead of skip for test-unit
- https://github.com/ruby/io-wait/commit/75543ab1bc
-
01:53 AM Revision 7f5e0660 (git): [ruby/date] Use omit instead of skip for test-unit
- https://github.com/ruby/date/commit/537f3f681e
-
01:52 AM Revision 236678b8 (git): [ruby/open3] Use omit instead of skip for test-unit
- https://github.com/ruby/open3/commit/f6ca124b56
-
01:50 AM Revision 8ccbca26 (git): [ruby/win32ole] Use omit() for skip()
- https://github.com/ruby/win32ole/commit/2d5dc47ed4
-
01:50 AM Revision 5331615d (git): [ruby/win32ole] Use omit instead of skip for test-unit
- https://github.com/ruby/win32ole/commit/c0586b2f75
-
01:49 AM Revision c02a9994 (git): [ruby/resolv] Use omit instead of skip for test-unit
- https://github.com/ruby/resolv/commit/55e42221d4
-
01:49 AM Revision d494a16a (git): [ruby/resolv] Support more characters in link local addresses
- Implements [Feature #17524]
https://github.com/ruby/resolv/commit/993a1a374f -
12:45 AM Bug #18471 (Rejected): Regex#match(re, position) with start of a string anchors ^ and \A
01/11/2022
-
07:55 PM Feature #18478 (Open): Module#constant_pairs
- Let's say I have a module like this:
```ruby
module A
B = 1
class C
end
end
```
I can find out its constants with `constants`:
```ruby
A.constants # => [:B, :C]
```
But if I also want to get the values of the cons... -
07:28 PM Feature #18477: Float#sqrt and Integer#sqrt
- See https://twitter.com/kddnewton/status/1480977779688710145 for why I filed this bug
-
07:28 PM Feature #18477: Float#sqrt and Integer#sqrt
- Actually maybe not worth it, also there are a lot of methods from the Math module that could be done like that
-
07:26 PM Feature #18477 (Open): Float#sqrt and Integer#sqrt
- Would be nice to do:
```ruby
10.sqrt # => 3.1622776601683795
3.5.sqrt # => 1.8708286933869707
``` - 07:18 PM Revision 421bb589 (git): * 2022-01-12 [ci skip]
- 07:17 PM Revision 14967347 (git): YJIT stats documentation additions and updates (#5427)
- * YJIT documentation additions and updates
* Update yjit.md
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> -
06:30 PM Bug #18476 (Open): Call to require stuck forever after receiving EAGAIN on writev when running with zeus
- # Environment
I'm using Ubuntu 18.04 running on Windows using WSL2:
```
$ uname -a
Linux myhostname 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modu... -
06:30 PM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- Thank you for your report.
I don't yet know exactly what's going on, but as far as I see your repro code, the behavior of `yield "some-value"` is different from `1.times { yield "some-value" }` on Ruby 3.0, and they are the same on Ru... -
04:06 PM Bug #18474 (Closed): 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- I'm sorry for the awful title, I don't know enough about what is going on to describe it better. From a debugging perspective it seems that a very specific set of circumstances causes a `begin` block to be jumped out of when a proc it is...
-
06:26 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- Dan0042 (Daniel DeLorme) wrote in #note-19:
> I was thinking what should be the return value of `each_caller{ }` with no `break`. Building and returning an array of frames seems wasteful since in most cases it would never be used (due t... -
04:47 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- Sorry, last bikeshed:
I was thinking what should be the return value of `each_caller{ }` with no `break`. Building and returning an array of frames seems wasteful since in most cases it would never be used (due to break), so nil seems a... -
06:24 PM Bug #18475 (Closed): Yielding an element for Enumerator in another thread dumps core
- I faced [BUG] when investigating #18474
```
def run
Thread.new do
1.times do |value|
yield "some-value"
end
end.join
end
to_enum(:run).first
```
```
$ ruby repro.rb
#<Thread:0x00007fcab26af0c0 repro.... -
06:23 PM Bug #18465: Make `IO#write` atomic.
- If the scheduler hook is called under the write lock that sounds like it could cause additional problems including deadlocks, long waits, etc.
So my POV is the fix as originally proposed with the write lock is incomplete and likely to c... -
05:24 PM Bug #18465: Make `IO#write` atomic.
- "ioquatix (Samuel Williams)" <noreply@ruby-lang.org> wrote:
> By the way, even calling `write` directly is no guarantee of
> synchronous output between threads/processes - on Linux there
> is an informal guarantee of page-sized atomi... -
04:20 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- @nobu did you mean that the name "description" is vague or the concept itself? Would you find it less vague if it was named something else? (e.g. "detailed_message" or something)
-
02:38 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- @nobu How so? Do you have an example?
The responsibilities for `description` are to call `super` and include it in the return value. That's it, nothing else.
The same goes for `additional_message` and is necessary if there are mult... -
05:59 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- `Exception#description` seems to add too much flexibility and make responsibilities vague.
-
04:16 PM Feature #16122: Data: simple immutable value object
- matz (Yukihiro Matsumoto) wrote in #note-19:
> I like the idea of helpers in https://bugs.ruby-lang.org/issues/16122#note-18.
> ...
Having helpers would definitely provide a nice easy experience. But since the important thing here is t... -
07:52 AM Feature #16122: Data: simple immutable value object
- @ko1
> It seems not related to "immutability".
Yes, I covered this, too (I know it is a large wall of text, sorry!), in **Concrete proposal** section:
> Class API is copying Structs one (most of the time -- even reuses the imple... -
07:47 AM Feature #16122: Data: simple immutable value object
- zverok (Victor Shepelev) wrote in #note-24:
> @ko1, the initial ticket provides some explanations:
Sorry I found it just after commented.
It seems not related to "immutability". -
07:43 AM Feature #16122: Data: simple immutable value object
- @ko1, the initial ticket provides some explanations:
> For example, this code snippet shows why `to_a` is problematic:
```ruby
Result = Struct.new(:success, :content)
# Now, imagine that other code assumes `data` could be eithe... -
07:29 AM Feature #16122: Data: simple immutable value object
- I don't use `Enumerable` features of `Struct` classes, but I don't have any trouble by having `Enumerable`.
Why do you want to remove `Enumerable` features?
I can not find any benefits. -
02:13 PM Bug #18473 (Open): Raw data in Socket::Option#inspect on Amazon Linux 2
- Hello,
I found a weird issue when running attached script. Locally on Ubuntu running kernel 5.11, on CI (GitHub Actions) and through docker image (ruby:3.1.0-alpine3.15), the response is as it should be with all data parsed correctly:... -
02:11 PM Bug #18472 (Closed): rb_w32_map_errno is not found on Ruby-3.1.0
- I faced Fiddle::DLError such following.
```
C:/hostedtoolcache/windows/Ruby/3.1.0/x64/lib/ruby/3.1.0/fiddle/import.rb:297:in `import_function': cannot find the function: rb_w32_map_errno() (Fiddle::DLError)
from C:/hostedtoolcache/... -
12:50 PM Revision 34ebf82e (git): [ruby/tmpdir] Use omit instead of skip for test-unit
- https://github.com/ruby/tmpdir/commit/40107b59b3
-
12:45 PM Revision 9b3dcf19 (git): [ruby/net-http] Use omit instead of skip for test-unit
- https://github.com/ruby/net-http/commit/843d4548de
-
12:40 PM Revision 167121a9 (git): [ruby/find] Use omit instead of skip for test-unit
- https://github.com/ruby/find/commit/0ebbd5b852
-
12:35 PM Revision 6b87d980 (git): [ruby/zlib] Use omit instead of skip for test-unit
- https://github.com/ruby/zlib/commit/5f23cd3009
-
12:17 PM Revision f95039af (git): Use omit instead of skip without the default gems tests
-
11:20 AM Revision 6d3ee418 (git): [rubygems/rubygems] Markup code with RDoc notations
- https://github.com/rubygems/rubygems/commit/c29cd23826
-
10:58 AM Revision b633c9ac (git): Reduce p_args rules with p_rest
-
10:38 AM Feature #18408: Allow pattern match to set instance variables
- palkan (Vladimir Dementyev) wrote in #note-6:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
Here is a PR: https://github.com/ruby/ruby/pull/5426 -
08:21 AM Feature #18408: Allow pattern match to set instance variables
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think it's a bug that pattern match only supports setting local variables. However, I agree that it would be a useful feature for pattern match to support setting instance variabl... -
08:19 AM Feature #18408: Allow pattern match to set instance variables
- baweaver (Brandon Weaver) wrote in #note-4:
> While we're in that domain where would we want to draw the line? Globals, constants, class variables?
> ...
I think, the phrase "variable assignment" draws a line here: any variable (local,... -
07:17 AM Feature #18408: Allow pattern match to set instance variables
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think it's a bug that pattern match only supports setting local variables. However, I agree that it would be a useful feature for pattern match to support setting instance variabl... -
08:55 AM Bug #18471: Regex#match(re, position) with start of a string anchors ^ and \A
- `\G` matches.
```ruby
str = "hello world"
/\Gworld/.match(str, 6)
``` -
08:54 AM Bug #18471: Regex#match(re, position) with start of a string anchors ^ and \A
- > I [...] expect [...] staring from position 6 in “hello world” [to] be equivalent to staring with position 0 in [the sub-]string “world”
I do not think so. Moving "the position in the string to begin the search" does not mean the strin... -
08:14 AM Bug #18471 (Rejected): Regex#match(re, position) with start of a string anchors ^ and \A
- Found this. Is it a bug in `Regex#match(re, position)`?
From `Regex#match` docs
> If the second parameter is present, it specifies the position in the string to begin the search.
```rb
str = "hello world"
/^world/.match(str, 6... -
08:33 AM Revision b5310b89 (git): Fix compile errors
- ```
compiling ../ruby.c
../ruby.c:1547:17: error: implicit declaration of function 'setup_yjit_options' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
setup_yjit_options(s, &opt->yjit);
^
../r... -
08:26 AM Revision 3d675c72 (git): Use `setup_yjit_options` only when supported
-
07:46 AM Bug #18470 (Closed): Union of two identical sets produces a set with duplicate members
-
07:45 AM Bug #18470: Union of two identical sets produces a set with duplicate members
- > `Set#reset`
Ah, that's the rehash equivalent I didn't see.
Yeah, I think we can close. -
01:18 AM Bug #18470: Union of two identical sets produces a set with duplicate members
- Doesn't the following from https://bugs.ruby-lang.org/issues/16996 address this issue?
> ...
> ...
It seems like this is not a bug and the outcome is expected without a call to `Set#reset`:
```ruby
C = Struct.new :id
a = Set.new
... -
01:08 AM Bug #18470: Union of two identical sets produces a set with duplicate members
- > The main problem is that `Set` doesn't expose a `rehash` method, so there's not really any way to workaround it. Maybe it should?
The rehash works. Should `add` also have a rehash?
```ruby
C = Struct.new :id
a = Set.new
f = C... -
05:46 AM Feature #18136: take_while_after
- I'd rather choose an obvious name, like `take_until_after`.
-
02:49 AM Revision 1c9b5d45 (git): Reject command line option ending with `-`
-
02:25 AM Feature #17391 (Closed): How about removing File.exists?
- Removed at https://github.com/ruby/ruby/commit/bf97415c02b11a8949f715431aca9eeb6311add2
-
01:12 AM Revision 8b585f74 (git): Define YJIT options only when supported
-
12:11 AM Bug #18468 (Assigned): Tutorial Link for Optionparser is broken