Activity
From 10/16/2023 to 10/22/2023
10/22/2023
-
08:17 PM Revision 11468269 (git): [rubygems/rubygems] Fix spelling of extraneous
- https://github.com/rubygems/rubygems/commit/af61829432
-
04:03 PM Feature #19744: Namespace on read
- Let me clarify the example using `X`, because the integer value and the wording may confuse, perhaps.
If `foo.rb` has
```ruby
X = 1
```
I expect as a Ruby programmer that in the next line `Object.constants` includes `:X`. If c... -
02:32 PM Feature #19744: Namespace on read
- @Eregon I understand the patch is a partial implementation of the proposal (also, the author of the ticket said `Object` and `ns::Object` would be different).
It cannot be otherwise, because if `Object` and `ns::Object` where the same o... -
11:12 AM Revision b84e6fe9 (git): [DOC] Mention the omission of a superclass when reopening a class
- 09:47 AM Revision e721a7ae (git): [DOC] Update documentation for typical implementation of hash
-
03:18 AM Revision 7578bc35 (git): [ruby/io-console] Intersperse Win32 and termios implementations
- So that the both sources appear in RDoc generated HTMLs.
https://github.com/ruby/io-console/commit/beec164a47 - 02:31 AM Revision 0f02a86a (git): Update default gems list at 8c0c7be65b21dc34156919b04b834e [ci skip]
-
02:30 AM Revision 8c0c7be6 (git): [ruby/io-console] Start 0.6.1
- https://github.com/ruby/io-console/commit/06307a755d
-
02:09 AM Revision c7731b35 (git): [ruby/io-console] [DOC] Split .document files to sync with ruby/ruby
- https://github.com/ruby/io-console/commit/13e0bcac9f
10/21/2023
-
11:44 PM Revision 9e93af53 (git): Skip RBS `RbConfig::TOPDIR` test that is `nil` before installation
-
11:44 PM Revision 0ca5182a (git): RBS no longer has test/stdlib/Prime_test.rb
-
11:44 PM Revision f717faac (git): Update rbs revision to test
-
10:58 PM Revision cabf3dac (git): [ruby/io-console] [DOC] Add .document
- https://github.com/ruby/io-console/commit/62a677b51a
-
08:35 PM Revision 499e66d0 (git): [rubygems/rubygems] Gem::NameTuple equality ignores Gem::Platform/string platform variation
- https://github.com/rubygems/rubygems/commit/49aaa46708
-
06:06 PM Revision 745879b5 (git): [ruby/irb] Minor refactors around irb.rb
- (https://github.com/ruby/irb/pull/736)
* Remove dead method
* Simplify IRB.version
* Move private Irb methods together
* Centralise @CONF initialization/assignment in init.rb
* Move attr_* calls above initialize method
https://gith... -
03:26 PM Bug #19967 (Closed): Already installed libruby.dylib is used for test on macOS
- Applied in changeset commit:git|665b4c5b2a31078d7db0173ad60daad0b463c1fd.
----------
[Bug #19967] Reset `LIBPATHENV` env after started
Not to affect other tools invoked as child processes. -
02:47 PM Revision 361bce8d (git): [Bug #19967] Ignore library before build
-
10:47 AM Revision 38b79b05 (git): Fallback job status to normal if no tty
-
07:45 AM Revision 54b9b80b (git): [Bug #19967] Delete real path
-
06:42 AM Revision 5e24a4e3 (git): Strip universal_archnames
-
05:05 AM Revision 642875e4 (git): [Bug #19967] Revert "configure.ac: LIBPATHENV on macOS"
- This reverts commit 1961c786aab243b3eb60e7238224e87975d88056. These
environment variables should no longer propagate to child processes. -
05:05 AM Revision 665b4c5b (git): [Bug #19967] Reset `LIBPATHENV` env after started
- Not to affect other tools invoked as child processes.
-
05:05 AM Revision 6d1ed3de (git): Avoid duplicate path in library paths
-
04:30 AM Revision 55d95472 (git): Raise TypeError for bad IO::Buffer.map argument (#8728)
- * Raise TypeError when IO::Buffer.map argument is neither IO nor implements #fileno
* Use UNREACHABLE_CODE
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Use macro for undef check
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-... -
02:00 AM Revision 0e62802c (git): Extract IO::Buffer.for string locking test (#8729)
- String locking with locktmp is not really part of the public API,
and the test relies in a side effect of using it to protect the
buffer. On other implementations without locktmp this does not
fail. Separate into its own test so it can b...
10/20/2023
-
08:20 PM Bug #19921 (Closed): TestYJIT#test_bug_19316 test failure
- Thanks! The new message confirms the issue. The test should pass now, as of commit:fab70183.
-
02:12 AM Bug #19921: TestYJIT#test_bug_19316 test failure
- With commit:985370406d2c5150fa3e0f23cdae605ec1a60fdb
```
93) Failure:
TestYJIT#test_bug_19316 [/builddir/build/BUILD/ruby-3.3.0-985370406d/test/ruby/test_yjit.rb:1163]:
Expected no exits, but got:
{:opt_and=>1}
Reasons:
method ... -
08:12 PM Revision 8a88172f (git): YJIT: Skip printing stats at exit if --yjit-disable (#8727)
-
07:29 PM Revision 01787d53 (git): [PRISM] Setup encodings in prism compiler
-
05:38 PM Feature #19744: Namespace on read
- > Yes, Object.object_id != ns1::Object.object_id
OK. I did not expect that and the PoC does not do anything like that.
What about `class C; end` when loaded in a namespace, from which Object does it inherit then?
What about instance... -
03:57 PM Feature #19744: Namespace on read
- If `Object.object_id != ns1::Object.object_id`, I assume `BasicObject.object_id != ns1::BasicObject.object_id`, but Ruby currently does not allow for copying the root class:
```
ruby -e BasicObject.dup
-e:1:in `initialize_copy': can... -
03:06 PM Feature #19744: Namespace on read
- @tagomoris got it, thanks!
So, if I have
```ruby
class C
end
```
and client code loads that file under a namespace `ns`, then `ns::Object.constants` includes `:C`?
And `::C` in my required code is locally resolved to `Object::C`, whi... -
02:43 AM Feature #19744: Namespace on read
- > If so, yes. It's planned (and it's working on my PoC branch, without the "Gem Namespaces" feature).
Nice. Thanks for taking the time to answer and clarify.
Also, I think that "gem namespaces" are something that are enabled implic... -
01:51 AM Feature #19744: Namespace on read
- Dan0042 (Daniel DeLorme) wrote in #note-41:
> Would it be possible to use this features to load a Ractor-incompatible library inside a NameSpace inside a Ractor? Let's say:
> ...
@Dan0042 Currently, in this proposal, it's impossible. N... -
01:43 AM Feature #19744: Namespace on read
- fxn (Xavier Noria) wrote in #note-38:
> What happens with the top-level constants defined by the interpreter? In particular, is `Object.object_id != ns1::Object.object_id != ns2::Object.object_id`?
@fxn This proposal says: "a new fea... -
01:36 AM Feature #19744: Namespace on read
- martinemde (Martin Emde) wrote in #note-37:
> ### Patching/plugins
> ...
@martinemde Let me check my understanding of your question: "Does Rack (or ::Rack) work with Oj loaded separately in the namespace for `MyGem` after the `include`... -
05:00 PM Revision fab70183 (git): YJIT: On test_bug_19316, only check the result
- Because the `&` call checks for interrupts, the test was accidentally
timing dependent. Stop checking for exits.
[Bug #19921]
Reported-by: Vít Ondruch <vondruch@redhat.com>
Reported-by: Mamoru Tasaka <mtasaka@fedoraproject.org> -
02:49 PM Revision 1c48d15d (git): Add tests for all implemented nodes, leave ones that need fixing commented out
-
02:49 PM Revision 40624d49 (git): Added TODOs on all implemented nodes, matched ordering
-
02:49 PM Revision a426a230 (git): [PRISM] Fixed StringConcatNode, uncommented tests
-
12:12 PM Bug #19967 (Closed): Already installed libruby.dylib is used for test on macOS
- On macOS, in the case of `--enable-shared` and `--disable-load-relative`, already install libruby.dylib is used during tests if exists.
This is because since [Bug #14992], `DYLD_FALLBACK_LIBRARY_PATH` is used instead of `DYLD_LIBRARY_PA... -
09:26 AM Revision 8b3d0440 (git): [DOC] Indentation fix in comments of MatchData#inspect
- The old version did not add syntax highlighting to the code block, and
included the "Related:" line in the code block as well. -
07:33 AM Revision 0061eadd (git): [DOC] `configure -C` tips
-
06:16 AM Bug #19966 (Closed): Prism defines global method instead of singleton method
- Applied in changeset commit:git|9d1940ba3c3bd08a8f2c630e51524186e350fdd5.
----------
[Bug #19966] [PRISM] Fix singleton method definition -
02:06 AM Bug #19966: Prism defines global method instead of singleton method
- https://github.com/ruby/ruby/pull/8718
-
12:43 AM Bug #19966 (Closed): Prism defines global method instead of singleton method
- The receiver is ignored and compiled to `definemethod` instead of `definesmethod`.
```
$ ./ruby -v -e 'puts RubyVM::InstructionSequence.compile_prism("def a.foo;end").disasm'
ruby 3.3.0dev (2023-10-20T00:12:09Z master 985370406d) [a... -
06:16 AM Revision 9d1940ba (git): [Bug #19966] [PRISM] Fix singleton method definition
-
06:16 AM Revision 84dfa0fa (git): [PRISM] Enclose in the test class
-
05:34 AM Revision bb849ffd (git): Added explicitly begin-end block for Ruby 2.4.
- strscan, ipaddr and some default gems still support Ruby 2.4.
After this, I extract this CoreAssertions to their repositories. -
03:56 AM Revision 9ea1ee66 (git): Stop creating ripper.h because it's not used
-
02:37 AM Revision 09764889 (git): [ruby/logger] Bump up required ruby version to 2.5
- https://github.com/ruby/logger/commit/ac911eae2b
-
02:37 AM Revision 13b33b10 (git): [ruby/logger] Use Gemfile instead of Gem::Specification#add_development_dependency
- https://github.com/ruby/logger/commit/7b51af263f
-
12:52 AM Revision 62c1d818 (git): Partly revert a change in #8705
- Having this variable actually helps the performance of non-JITed calls.
----- ----------- ---------- ---------- ---------- ------------- ------------
bench before (ms) stddev (%) after (ms) stddev (%) after 1st itr before/af... -
12:13 AM Revision 1640dbde (git): Sort gem names
-
12:13 AM Revision 2a56a6c3 (git): racc is also extracted to bundled gems
-
12:12 AM Revision 98537040 (git): Call rb_jit_cont_init() even earlier
- To fix https://github.com/ruby/ruby/actions/runs/6581593578/job/17881779994
-
12:06 AM Revision a9d7525f (git): Avoid initializing jit_cont_lock multiple times
- Contrary to my initial assumption, rb_threadptr_root_fiber_setup() is
called for each Ractor, not just once at boot. I changed the place to
call rb_jit_cont_init() to avoid calling it multiple times.
10/19/2023
-
11:45 PM Revision 72f97ee0 (git): [DOC] Improve docs for how to generate documentation
- It might not be obvious how to get the build directory and the Makefile
set up. -
11:37 PM Revision bd2aee67 (git): [DOC] "is now bundled" is ambiguous
- I think it meant it's now a bundled "gem", but "is now bundled" implies
it's a new gem that was neither default nor bundled gems. So I changed
wording.
I also want to change the subjects and reorder them so that it will read:
"The follo... -
11:31 PM Revision a9df1e69 (git): Ignore inputs to tool/update-NEWS-gemlist.rb
- generated by check_misc
-
11:25 PM Revision c221af2c (git): [DOC] Prism is a new default gem
-
11:10 PM Revision 6d42f4dd (git): Avoid using a system Ruby if possible
- in tool/update-NEWS-gemlist.rb
-
11:06 PM Revision b93553bb (git): Cirrus CI has been removed [ci skip]
-
10:56 PM Revision 08e25985 (git): Expand OP_ASGN1 nd_args to nd_index and nd_rvalue
- ARGSCAT has been used for nd_args to hold index and rvalue,
because there was limitation on the number of members for Node.
We can easily change structure of node now, let's expand it. -
10:50 PM Revision 7fb909e2 (git): [DOC] Reverse-merge YJIT release note changes
-
10:47 PM Revision 47f950c8 (git): [DOC] Update NEWS.md about RubyVM::YJIT.enable
- --yjit-disable, and --yjit-perf
-
10:18 PM Revision 34673554 (git): [DOC] Fix typo in docs of Regexp#deconstruct_keys
- of => if
-
10:15 PM Revision 5bbb6fd6 (git): Add printf format attributes to `rb_parser_config_t`
-
09:40 PM Revision 205cbc09 (git): [rubygems/rubygems] Reuse Gem::RemoteFetcher instance in bundler
- Closes https://github.com/rubygems/rubygems/issues/7076
Bundler will now use the same (shared) remote fetcher instance that
RubyGems uses.
This will allow installs to use a shared connection pool, which
represents a significant perform... -
09:09 PM Bug #19921: TestYJIT#test_bug_19316 test failure
- Could someone kick off a Koji build with commit:9047fe5ea4e8c989c1081aa10f741a413c546534
"YJIT: Print exit reasons on failure in test_yjit.rb"?
It adds some extra information to the failure message that should resolve this
mystery. This ... -
08:02 PM Revision af222d4d (git): [rubygems/rubygems] Update vendored thor to v1.3.0
- See https://github.com/rails/thor/releases/tag/v1.3.0
https://github.com/rubygems/rubygems/commit/3c7165474b -
07:29 PM Revision 3e65115c (git): YJIT: remove unused `--yjit-greedy-versioning` command-line option (#8713)
-
07:14 PM Revision 9194f489 (git): YJIT: Make test_yjit.rb faster with --yjit-stats=quiet
- The for-human stats summaries are not relevant for the children
`test_yjit.rb` spawns. Avoid compiling and running the printing code.
On a -O0 dev build this halves the time for `test_yjit.rb` on my machine. -
07:14 PM Revision 9047fe5e (git): YJIT: Print exit reasons on failure in test_yjit.rb
- For <https://bugs.ruby-lang.org/issues/19921>, I suspect the test is
failing due to a timing related interrupt, which on paper could
happen with slow-enough GC runs.
In any case, it's helpful for debugging to have more information when
... -
06:56 PM Revision cdc2a185 (git): YJIT: Return Option from asm.compile() for has_dropped_bytes()
- So that we get a reminder to check CodeBlock::has_dropped_bytes().
Internally, asm.compile() already checks it, and this patch just
propagates it out to the caller with a `#[must_use]`.
Code GC logic moved out one level in entry_stub_hi... -
05:54 PM Revision 6beb09c2 (git): YJIT: Add RubyVM::YJIT.enable (#8705)
-
03:57 PM Revision 62e34025 (git): Don't add anonymous locals when ISEQ binary debug is on
-
03:50 PM Revision 9d9aa63e (git): YJIT: Enable the dead_code lint and delete some dead code
-
08:28 AM Revision c2d4c92a (git): Extract a local variable
-
07:39 AM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
- > b) use the perf map file as a source of symbols.
So this is a post I found with quick googling: https://stackoverflow.com/questions/42739893/force-gdb-to-use-frame-pointer-based-unwinding
They say you can at least define a routin... -
07:24 AM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
- > One question - the perf map file is going to grow without bound for a long-running process, right? I guess there's no real way around this based on how the file is specified though... I'll have a look at that problem when I actually ru...
-
06:55 AM Revision 5e5a8cf7 (git): [ruby/ostruct] Use Gemfile instead of Gem::Specification#add_development_dependency
- https://github.com/ruby/ostruct/commit/ed49920766
-
06:49 AM Misc #19925: DevMeeting-2023-11-07
- * [Feature #18980] Re-reconsider numbered parameters: `it` as a default block parameter
* At RubyKaigi 2022, [many attendees preferred `it` over `_1`](https://youtu.be/ajm3lr6Y9yE?si=d6Sry32Zlkvtj-Nc&t=3002), [Matz did not reject `it`... -
04:57 AM Revision e6675861 (git): Mentioned targeted libraries for warning feature of bundled gems
-
04:51 AM Revision 3605c9ae (git): Don't need to refer SINCE constant
-
03:34 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- I have created another ticket for executing `getaddrinfo(3)` in a dedicated pthread: #19965
-
03:34 AM Feature #19965 (Closed): Make the name resolution interruptible
- ## Problem
Currently, Ruby name resolution is not interruptible.
```
$ cat /etc/resolv.conf
nameserver 198.51.100.1
$ ./local/bin/ruby -rsocket -e 'Addrinfo.getaddrinfo("www.ruby-lang.org", 80)'
^C^C^C^C
```
If you set a ... -
03:11 AM Feature #18515 (Closed): Add Range#reverse_each implementation
- Applied in changeset commit:git|3f5ec5c8661748afb9cc3cbf1aff113d602e1fad.
----------
[DOC] Add NEWS about Range#reverse_each for beginless ranges [Feature #18515] -
03:11 AM Revision 3f5ec5c8 (git): [DOC] Add NEWS about Range#reverse_each for beginless ranges [Feature #18515]
-
01:42 AM Bug #19929 (Closed): Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- Ah, this warning is correct. `mutex_m` is removed from `rails/rails`.
https://github.com/rails/rails/commit/bcdeea5da7657375df21a856135ae7a66a8c3812
-
01:28 AM Bug #19929 (Assigned): Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- The redundant warnings still happened.
```
$ RAILS_STRICT_WARNING=1 bin/test test/engine/test_test.rb
/Users/hsbt/.local/share/rbenv/versions/master/lib/ruby/gems/3.3.0+0/gems/minitest-5.20.0/lib/minitest.rb:3: warning: mutex_m whic... -
12:34 AM Feature #19744: Namespace on read
- In general I'm against npm-style multiple loading of dependencies, but I think I found a use case for this that I could get behind.
Would it be possible to use this features to load a Ractor-incompatible library inside a NameSpace ins... -
12:16 AM Revision 10272b27 (git): Use assert_separately to avoid defining `foo`
- When we eval the iseqs generated by prism, they can have side effects
like defining methods. In this case, we were defining the method "foo",
but other tests were expecting that the foo method would _not_ be
defined. -
12:16 AM Revision 10c50637 (git): Address PR comments
-
12:16 AM Revision 1701b79b (git): Put line change back
-
12:16 AM Revision 5408ce8c (git): Fixed mistyping
-
12:16 AM Revision 252b0fc7 (git): Temporarily removed location code on scope nodes
-
12:16 AM Revision ba3a99ac (git): Remove pm_compile_context_t, move the context onto ScopeNode
- We changed ScopeNodes to point to their parent (previous) ScopeNodes.
Accordingly, we can remove pm_compile_context_t, and store all
necessary context in ScopeNodes, allowing us to access locals from
outer scopes. -
12:16 AM Revision a9512e80 (git): Revert "Revert "[ruby/prism] Change ScopeNode to point to previous ScopeNode""
- This reverts commit fd87372a7482cbf7672c44ef95bc1dc3b00bab7c.
-
12:05 AM Feature #19931: to_int is not for implicit conversion?
- Aha! Thank you, now it makes a lot more sense. While I still think that `1 + o` would be nice to have, at least I can see the rhyme and reason.
10/18/2023
-
11:46 PM Revision d2b0c9da (git): YJIT: Add a live ISeq counter
- It's an estimator for application size and could be used as a
compilation heuristic later.
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> -
11:03 PM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
- That's awesome and I'm super looking forward to trying to profile our apps with `perf` once I finally get YJIT enabled! Assuming most of the hot code turns out to be JIT'd, this should definitely give a fairly good picture of the Ruby st...
-
10:16 PM Feature #19541 (Feedback): Proposal: Generate frame unwinding info for YJIT code
- I added `--yjit-perf` on Ruby master https://github.com/ruby/ruby/pull/8697. It does not unwind Ruby frames in a single YJIT frame like DWARF would be able to do. But I think it's similar to how C functions are profiled with `--call-grap...
-
10:05 PM Bug #19921: TestYJIT#test_bug_19316 test failure
- > Just FTR, there is no other Ruby installed in the environment during build, so this is certainly not an issue.
OK, it explains why https://github.com/ruby/ruby/pull/8689 did not help. If that part is fine, I have nothing else to try... -
09:42 PM Bug #19921: TestYJIT#test_bug_19316 test failure
- k0kubun (Takashi Kokubun) wrote in #note-13:
> Subprocess tests like `test_yjit` in test-all generally seem to have a problem of picking a wrong Ruby
Just FTR, there is no other Ruby installed in the environment during build, so this... -
05:27 PM Bug #19921: TestYJIT#test_bug_19316 test failure
- I'm afraid we need a repro from you on CI (or anything I can exactly reproduce, like on Dockerfile) then. Subprocess tests like `test_yjit` in test-all generally seem to have a problem of picking a wrong Ruby, and it could be very much s...
-
07:46 AM Bug #19921: TestYJIT#test_bug_19316 test failure
- I tried commit:6c46ccf226bc6440743b51af713864c062eba27f but I see the same test failure.
-
01:00 AM Bug #19921: TestYJIT#test_bug_19316 test failure
- Can you try the latest master (newer than commit:7a3a98e2be69fd3fa68e6ee1afa43c3160f22254)? https://github.com/ruby/ruby/pull/8689 might help.
- 10:01 PM Revision 0ac6fb22 (git): Add test for many ivars
- Co-authored-by: John Hawthorn <john@hawthorn.email>
- 10:01 PM Revision a7032b80 (git): Revert "shape.h: Make attr_index_t uint8_t"
- This reverts commit e3afc212ec059525fe4e5387b2a3be920ffe0f0e.
-
09:13 PM Revision de076450 (git): [ruby/drb] Support :SSL{Min,Max}Version config options
- These are necessary to get the tests passing with LibreSSL 3.8.1+,
which dropped support for TLSv1.0 and TLSv1.1 for security reasons.
This updates the tests to use TLSv1.2 on OpenBSD. This is only
strictly necessary on OpenBSD 7.4+, b... -
09:07 PM Revision f51b92fe (git): YJIT: Add --yjit-perf (#8697)
- Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
- 07:34 PM Revision 58ee088b (git): Bump rustix from 0.38.2 to 0.38.19 in /yjit/bindgen
- Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.2 to 0.38.19.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.2...v0.38.19)
... - 07:20 PM Revision c46c529b (git): Update default gems list at 6873f96abc2a924b264b6ed3818b2f [ci skip]
-
07:19 PM Revision 6873f96a (git): [ruby/prism] Bump to version 0.15.1
- https://github.com/ruby/prism/commit/d906a8ceba
-
06:28 PM Feature #19744: Namespace on read
- Thanks @Eregon.
My main concern is that the gem author is not in control. You write your code, assume constants are stored in certain places, assume the nesting you are seeing with your eyes [*], and assume what constant resolution algo... -
05:02 PM Feature #19744: Namespace on read
- @fxn This proposal does not define multiple Object classes.
I think this proposal has limited value because if gems use this functionality they will multiply their memory footprint because each copy of a gem (with the same version) is... -
05:48 PM Feature #19931: to_int is not for implicit conversion?
- > So basically I thought that #to_i was for explicit conversion and #to_int for implicit conversion; is that not the case?
As far as I understand, it is exactly the case for operations that definitely expect an integer:
```ruby
o ... -
05:45 PM Feature #19931: to_int is not for implicit conversion?
- byroot (Jean Boussier) wrote in #note-6:
> I have no idea how much code it would break though.
It can't *break* code. It can only cause broken code (as in my example) to suddenly work.
Eregon (Benoit Daloze) wrote in #note-7:
> ...
I t... -
04:56 PM Feature #19931: to_int is not for implicit conversion?
- I think the coercion semantics are already quite complex, so we would need a convincing real-world use-case to make this more complicated.
-
04:35 PM Feature #19931: to_int is not for implicit conversion?
- To be fair, `+` does it for `to_str`:
```ruby
class Bar
def to_str
"bar"
end
end ... -
04:32 PM Feature #19931: to_int is not for implicit conversion?
- sawa (Tsuyoshi Sawada) wrote in #note-2:
> Your description suggests a contrast between `to_int` and `to_i`, but while you showed a code example using `to_int`, you have not shown anything using `to_i`.
If using `to_i` for explicit c... -
03:13 PM Feature #19931: to_int is not for implicit conversion?
- > 3. try the implicit conversion.
If I understood this correctly, that would allow doing things like
```ruby
1 + "1" # => 2
```
I hope that's not a direction we wanna follow. -
03:18 AM Feature #19931: to_int is not for implicit conversion?
- The order of such calculations is now:
1. known classes (e.g., `Integer#+` knows about `Float`)
2. `coerce` on the RHS.
Otherwise raise an error.
Might consider adding another step there.
3. try the implicit conversion. -
01:10 AM Feature #19931: to_int is not for implicit conversion?
- Your description suggests a contrast between `to_int` and `to_i`, but while you showed a code example using `to_int`, you have not shown anything using `to_i`. Furthermore, actually replacing `to_int` in your code with `to_i` does not se...
- 04:51 PM Revision 4b909bdb (git): Update default gems list at 0f1e040068fac01856c5c4c0ba9530 [ci skip]
-
04:49 PM Revision 0f1e0400 (git): [ruby/prism] Bump to version 0.15.0
- https://github.com/ruby/prism/commit/ee429f8d50
-
04:09 PM Revision 8210cc42 (git): [ruby/prism] Fix lex compat when dedent should be 0
- https://github.com/ruby/prism/commit/41c0e0e06e
-
04:08 PM Revision c82b10bb (git): [ruby/prism] Modify less of the CRuby locals
- https://github.com/ruby/prism/commit/aca24b3a17
-
04:08 PM Revision 5d060436 (git): [ruby/prism] Add * and & to methods with ...
- https://github.com/ruby/prism/commit/e8114a786a
-
04:08 PM Revision 4358dd20 (git): [ruby/prism] Extract out constant pool bucket bits to constants
- https://github.com/ruby/prism/commit/1985a9ba51
-
04:08 PM Revision f5f03229 (git): [ruby/prism] Provide "constant" constants, embedded in the code
- https://github.com/ruby/prism/commit/d469a56e7e
-
04:07 PM Bug #19932: Regexp o modifier freeze interpolation between method calls
- My apologies for my misunderstanding. Thanks for the detailed explanation. I now understand it's hard to do something else than the current behavior.
-
04:03 PM Bug #19932: Regexp o modifier freeze interpolation between method calls
- I don't think the documentation could be made significantly clearer, though potentially it could benefit from an additional example. It's expected that the `o` modifier works the way it does, and does not generate a new regexp with each...
-
02:29 PM Bug #19932: Regexp o modifier freeze interpolation between method calls
- I'm not sure I was clear.
It's not that clear reading the documentation that the "freeze" will continue to live outside the local scope. All examples are always outside a method definition. As for local variables I would expect `myreg... -
02:13 PM Bug #19932 (Closed): Regexp o modifier freeze interpolation between method calls
- It's expected and documented: https://docs.ruby-lang.org/en/master/regexp_rdoc.html#label-Interpolation+Mode
-
01:56 PM Bug #19932 (Closed): Regexp o modifier freeze interpolation between method calls
- Taken the following PoC:
```ruby
def poc(regexp)
hs = [
'azerty',
'azertyui',
'azertyuiop'
]
out = []
hs.each do |h|
out << h if /#{regexp}/.match?('azerty')
end
out
end
p poc('az')
p poc('w... -
02:41 PM Revision 4f401649 (git): Handle `Timeout::Error` reported from workers
-
02:23 PM Revision 9c973f95 (git): [ruby/prism] Use the unescaped regexp to scan for capture groups
- https://github.com/ruby/prism/commit/555551e8f2
-
02:23 PM Revision 2a6f7cd9 (git): [ruby/prism] Index{Operator,And,Or}WriteNode
- Right now, our Call{Operator,And,Or}WriteNode nodes represent two
different concepts:
```ruby
foo.bar += 1
foo[bar] += 1
```
These two statements are different in what they can support. The
former can never have arguments (or an openin... -
10:17 AM Revision ef3f9f1a (git): [rubygems/rubygems] Allow uninstalling multiple versions of same gem
- Currently, you can install multiple versions of the same gem just fine:
```
$ gem install simplecov:0.19.0 simplecov:0.22.0
Fetching simplecov-0.19.0.gem
Successfully installed simplecov-0.19.0
Parsing documentation for simplecov-0.19.0... -
09:52 AM Revision 8e6a2511 (git): Remove unnecessary and misleading casts
-
09:10 AM Revision 46b8846b (git): Show backtraces when failed
- If `assert_equal(backtrace_locations.size, profile_frames.size)` in
`TestProfileFrames#test_matches_backtrace_locations_main_thread`
failed, we do not have enough information about it like that:
```
1) Failure:
TestProfileFrames#t... -
09:01 AM Revision f546fe15 (git): Loosen assertion for flaky weak references test
-
07:10 AM Bug #19231: Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block
- ```
% docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=ruby-1.3 ./all-ruby -e 'inf = 1.0/0.0; 0.step(inf, 10) { |x| p x; break }'
ruby-1.3 /tmp/rbFgfjB4:1:in `/': divided by 0 (ZeroDivisionError)
... -
06:17 AM Bug #19929 (Closed): Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- Fixed at https://github.com/ruby/ruby/commit/ac8ece81f26f29dc2f9d77fcdb0620a51ba26f1e
-
05:46 AM Bug #19929: Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- HEAD version of Bundler didn't install default gems if locked version is same version of default gems.
master of Ruby always uses default gems under the `RbConfig::CONFIG['rubylibdir']` because latest version of default gems installed... -
02:06 AM Bug #19929: Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- Thanks always. I could reproduce that.
```
$ RAILS_STRICT_WARNING=1 bin/test test/engine/test_test.rb
/Users/hsbt/Documents/github.com/rails/rails/activesupport/lib/active_support/message_encryptor.rb:4: warning: base64 which will b... -
05:51 AM Revision ac8ece81 (git): Tweak the grammar
-
05:51 AM Revision 46766e92 (git): normalize gem name without .so or .bundle
-
05:51 AM Revision 3b690b72 (git): reject bundled gems if they are declared in Gemfile
- 03:24 AM Revision be160859 (git): Bump actions/checkout from 4.1.0 to 4.1.1
- Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... -
03:19 AM Revision ff4c98f1 (git): Fix total count when filters given
-
01:36 AM Revision f13068af (git): Escape method names containing control characters
-
01:19 AM Revision ccd2f8c1 (git): Skip some timeout tests on s390x
- They are too unstable on the machine.
```
1) Failure:
TestRegexp#test_timeout_shorter_than_global [/home/chkbuild/chkbuild/tmp/build/20231018T230003Z/ruby/test/ruby/test_regexp.rb:1788]:
Expected |0.2 - 0.962938869| (0.762938869000000... -
12:57 AM Revision 6c46ccf2 (git): Prefer RbConfig.ruby over the 3.times fallback (#8691)
- It seems saner to use RbConfig.ruby than using ruby in a random ancestor
directory. -
12:47 AM Revision 7a3a98e2 (git): YJIT: Use RbConfig.ruby instead of EnvUtil.rubybin (#8689)
- Some people encounter an issue that test_yjit uses the installed Ruby
instead of the currently-running Ruby. It's fixed when they remove the
installed Ruby.
However, test_yjit should run the currently-running Ruby for testing
YJIT in su...
10/17/2023
-
10:36 PM Revision 36ee5d8c (git): YJIT: Fix clippy::redundant_locals
- > note: `#[deny(clippy::redundant_locals)]` on by default
On Rust 1.73.0. -
07:53 PM Feature #19931: to_int is not for implicit conversion?
- I may be wrong, but my understanding of it is that it's so the right hand side isn't always casted to the left-hand side type.
If `to_int` was invoked when doing `Integer + something`, then `1 + 1.5` would be `1 + (1.5).to_int` and wo... -
05:39 PM Feature #19931 (Open): to_int is not for implicit conversion?
- While reviewing some implicit vs explicit conversion concepts, I discovered that arithmetic operations do not perform the implicit conversion I expected from #to_int
```ruby
o = Object.new
def o.to_int; 1; end
1 + o #TypeError
``... -
07:25 PM Feature #19744: Namespace on read
- What happens with the top-level constants defined by the interpreter? In particular, is `Object.object_id != ns1::Object.object_id != ns2::Object.object_id`?
-
07:24 PM Revision 2abd061e (git): YJIT: Remove call to compile() on empty Assembler
-
05:55 PM Revision 776d4dec (git): Manage parallel test workers after timeout
-
05:55 PM Revision 8b520bd3 (git): Add `jobs` optional keyword argument
-
05:50 PM Revision 5a3e8d2f (git): [ruby/prism] Ensure last encoding flag wins
- You can't encoding a string with more than one encoding so ensure that
the last one wins.
https://github.com/ruby/prism/commit/4182c988c9 -
03:36 PM Revision d458b412 (git): YJIT: Add a few missing counters for send fallback (#8681)
-
03:30 PM Revision 1f7234c0 (git): YJIT: Lookup IDs on boot instead of binding to them
- Previously, the version-controlled `cruby_bindings.inc.rs` file
contained the build-time artifact `id.h`, which nobu mentioned hinders
the goal of having fewer magic numbers in the repository.
Lookup the IDs YJIT needs on boot. It costs... -
03:27 PM Revision 01b5d1d2 (git): YJIT: Add a cargo job for Arm64 and remove .cirrus.yml (#8679)
- * YJIT: Add a cargo job for Arm64
* YJIT: Use command names as job names
They look more consistent with jobs that use the command name as a job
name, such as `make (check)`, `make (test-bundled-gems)`, etc.
* Remove .cirrus.yml -
01:42 PM Feature #19930 (Open): [Documentation] class Regexp: Character Classes ranges
- cf. https://ruby-doc.org/3.2.2/Regexp.html#class-Regexp-label-Character+Classes
> POSIX bracket expressions are also similar to character classes. They provide a portable alternative to the above, with the added benefit that they enco... -
01:07 PM Bug #19929 (Assigned): Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
-
12:58 PM Bug #19929 (Closed): Warnings for `mutex_m`, `drb` and `base64` appears while the gem spec has explicit dependencies
- Running some of Ruby on Rails unit test raises these warnings while it has explicit add_dependency entries https://github.com/rails/rails/blob/ae6fa7a048d0a0f79b0f8dd8566c7d499fd6f616/activesupport/activesupport.gemspec#L42-L45
```... -
12:07 PM Revision 4c544927 (git): Separate `test-precheck` target
- So that the tests can run without updating other than the programs.
-
12:07 PM Revision 03ac1089 (git): Wait for `showflag` to finish to prevent interspersed outputs
-
11:54 AM Bug #19778: mkmf.rb pkg_config() interaction with RbConfig::CONFIG["cflags"]
- ruby_3_1 8563a144fda2fd130b672541a84d8bad0b6c4cd2 merged revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28,fe0225ff4d5af8b1f54009727b39d0d9b821eea3.
- 11:51 AM Revision 8563a144 (git): merge revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28,fe0225ff4d5af8b1f54009727b39d0d9b821eea3: [Backport #19778]
- [Bug #19778] Pass additional include options to INCFLAGS in common.mk
---
common.mk | 2 +-
configure.ac | 1 +
template/Makefile.in | 1 +
3 files changed, 3 insertions(+), 1 ... -
11:43 AM Bug #19894: Memory leak in complemented method entries
- ruby_3_1 a3e1444663005d3440b56c3a8e1b88bb28935912 merged revision(s) 96c5a4be7b0d72502001734770af0f4a735c544c.
- 11:30 AM Revision a3e14446 (git): merge revision(s) 96c5a4be7b0d72502001734770af0f4a735c544c: [Backport #19894]
- Fix memory leak in complemented method entries
[Bug #19894]
When a copy of a complemented method entry is created, there are two
issues:
1. IMEMO_FL_USER3 is not copied, so the complemented status is not
copied ... -
11:07 AM Revision 2a8ac8ea (git): [ruby/rdoc] Delay DidYouMean until NotFoundError#message is called
- https://github.com/ruby/rdoc/commit/b59ca2f981
-
09:21 AM Revision 7362c484 (git): Use rb_getnameinfo instead of directly using getnameinfo
-
08:43 AM Revision c9990c8d (git): "+MN" in description
- If `RUBY_MN_THREADS=1` is given, this patch shows `+MN` in
`RUBY_DESCRIPTION` like:
```
$ RUBY_MN_THREADS=1 ./miniruby --yjit -v
ruby 3.3.0dev (2023-10-17T04:10:14Z master 908f8fffa2) +YJIT +MN [x86_64-linux]
```
Before this patch, a ... -
06:48 AM Revision aee1bfd8 (git): Get rid of `set` with empty argument which dumps all definitions
-
04:10 AM Revision 908f8fff (git): [rubygems/rubygems] Don't hide original error in `after(:suite)` hook
- For some reason, Windows builds are failing quite consistently now.
However, it seems that errors are happening before this directory is
even created, so removal fails, hiding the original error.
Instead, don't let this removal fail due... -
02:30 AM Revision c782c6fd (git): Fix a typo [ci skip]
-
12:42 AM Revision 9bd99cc1 (git): [ruby/prism] Fix up super with a blockarg
- https://github.com/ruby/prism/commit/0ea19ed823
10/16/2023
-
11:09 PM Revision 448e8b5e (git): Remove duplicated option
- `-d` option is basically same with `-h` (`--header`).
The difference is `-h` accept header file name.
Therefore remove `-d` option. -
10:40 PM Revision 1ae8c624 (git): [ruby/prism] Load magic comments in java
- https://github.com/ruby/prism/commit/5d189ce33e
-
10:40 PM Revision 9f16f07c (git): [ruby/prism] Additionally handle encoding comments in vim mode
- https://github.com/ruby/prism/commit/bf9bdb9d82
-
10:40 PM Revision 5523a234 (git): [ruby/prism] Attach magic comments to the parse result
- https://github.com/ruby/prism/commit/c7ef25a79a
-
10:40 PM Revision 39dd3343 (git): [ruby/prism] Parse all magic comments
- https://github.com/ruby/prism/commit/2b3d59f424
-
10:20 PM Revision fd87372a (git): Revert "[ruby/prism] Change ScopeNode to point to previous ScopeNode"
- This reverts commit 67a987f82bc8a2b7ec15581306873530821fcf9e.
-
09:53 PM Revision 67a987f8 (git): [ruby/prism] Change ScopeNode to point to previous ScopeNode
- Amend ScopeNode to point to previous ScopeNode, and to have void*
pointers to constants and index_lookup_table
https://github.com/ruby/prism/commit/0534324312 -
08:46 PM Feature #19744: Namespace on read
- Besides my position on integrating with RG&B, I wanted to add my thoughts about the feature itself separately and how it might end up being used in gems.
## Usage in gems
I immediately imagine this feature being picked up by gems (... -
06:49 PM Feature #19744: Namespace on read
- From my side, I'm happy if this feature is added because as mentioned by @hsbt it'd be useful for us internally.
But I'm pretty strongly against providing any fuctionality that allows resolving and loading multiple versions of the sam... -
10:15 AM Feature #19744: Namespace on read
- byroot (Jean Boussier) wrote in #note-34:
> > Bundler and RubyGems (RG&B) should be considered in deciding on the acceptance or not of this feature.
> ...
You are absolutely right and maybe my previous statement of:
> Bundler and Ru... -
10:10 AM Feature #19744: Namespace on read
- > Bundler and RubyGems (RG&B) should be considered in deciding on the acceptance or not of this feature.
I'm just as doubtful as you on the desirability of being able to load two distinct versions of a dependency, but it is only one o... -
08:50 AM Feature #19744: Namespace on read
- Here are a few more thoughts from me that may have an impact on this, and I hope David will speak up as well:
Bundler and RubyGems (RG&B) should be considered in deciding on the acceptance or not of this feature. Why? Because the end-... -
08:23 PM Revision 3dec5dc3 (git): [ruby/net-http] Force TLS version to 1.2 when using LibreSSL
- This comment previously specified TLS 1.2, but actually set the
version to TLS 1.0. LibreSSL 3.8.1 (included in OpenBSD 7.4)
dropped support for TLS 1.0/1.1 for security reasons, which
broke this test. Switch the test to use TLS 1.2 as... -
07:00 PM Revision 10d88ec9 (git): [PRISM] Compile AliasGlobalVariableNode (#8675)
-
05:26 PM Misc #19883 (Closed): DevMeeting-2023-10-12
-
04:20 PM Revision 8f33d801 (git): Just skip the job if not on ruby/ruby
- Using the same `runs-os` across all jobs in the same workflow makes it
more likely to pass in case one of these runners is experiencing an
outage.
macos-arm-oss is generally not available outside ruby/ruby, so it's
fair to skip it for f... -
03:12 PM Revision 5b5643ae (git): Remove YJIT --repeat-count=2 job (#8669)
-
02:52 PM Bug #19921: TestYJIT#test_bug_19316 test failure
- vo.x (Vit Ondruch) wrote in #note-9:
> @jaruga could you please help with the reproducer. I think you are the best person 😇
Sure. Let me check this ticket later.
-
01:31 PM Revision 728286d0 (git): [PRISM] Fix more bugs in the compiler (#8658)
- * Fixed ConstantPathWriteNode
* FIxed FlipFlopNode - 12:22 PM Revision 6e88b72d (git): [PRISM] prevent underflow on popped splatarray (#8657)
- prevent underflow on popped splatarray
This only emits the splat array node when not popped -
12:09 PM Revision 06a40119 (git): [ruby/irb] Suppress "Switch to inspect mode" messages
- This message is displayed if STDIN is not a tty. The parallel test is
the case.
https://github.com/ruby/irb/commit/e26e90e3fb - 11:56 AM Revision 598af0e7 (git): Update default gems list at d1f781b0d49f16d996e3ba848f386e [ci skip]
-
11:55 AM Revision d1f781b0 (git): [ruby/psych] Bump up v5.1.1.1
- https://github.com/ruby/psych/commit/51cc86ff3f
-
11:53 AM Revision ab5c1230 (git): Wait on ubuntu [ci skip]
- macos-arm-oss is unavailable for forked reopsitories other than
ruby/ruby. -
10:57 AM Revision f6e2f32a (git): Build `rb_dynamic_description` at runtime
- To avoid creating literals for all combinations.
-
10:39 AM Revision 55a0d2c6 (git): [ruby/prism] Avoid unnecessary delete_prefix in LibRubyParser.resolve_type
- Only remove const prefix from non-pointer types.
https://github.com/ruby/prism/commit/97c9ffeb42 -
09:29 AM Revision fe08839d (git): Fix typos [ci skip]
-
09:06 AM Bug #19928 (Closed): IPV6 nameserver issues: "Protocol not supported - socket(2) - udp"
- I get a similar error message to https://bugs.ruby-lang.org/issues/9477
The error message I see:
```
Errno::EPROTONOSUPPORT: Protocol not supported - socket(2) - udp
```
Similarly:
```
$ ruby -rresolv -e 'puts Resolv::DNS.new.... -
05:27 AM Revision d4ac62f3 (git): Give needed tools via the environment variable [ci skip]
-
05:27 AM Revision cc5a916f (git): Check if any tools needed [ci skip]
- Because of a trap of cmd.exe that `echo something > output` prints not
only "something" also the space before `>`, remove unexpected spaces. -
04:52 AM Revision 77ffa1a7 (git): [rubygems/rubygems] Raise an error when top level dependency does not resolve under all locked platforms
- https://github.com/rubygems/rubygems/commit/25304f3e8d
-
04:52 AM Revision 73ba4b76 (git): [rubygems/rubygems] Automatically remove invalid platforms before re-resolving
- https://github.com/rubygems/rubygems/commit/40989271dd
-
04:52 AM Revision b7ad9eda (git): [rubygems/rubygems] Tweak platform mismatch resolution errors
- https://github.com/rubygems/rubygems/commit/20460bc1ee
-
04:52 AM Revision a1c73f1c (git): [rubygems/rubygems] Consistent usage of `local_platform` in Definition
- https://github.com/rubygems/rubygems/commit/5f28a68d79
-
04:52 AM Revision a05904c8 (git): [rubygems/rubygems] The `lock` command should not be affected by frozen setting
- The `lock` command is specifically designed to manage the lockfile, so
running it should take precedence over any "frozen" setting.
Besides that, "frozen" is not specifically designed as "lockfile cannot
be updated" but as "installation... -
04:52 AM Revision 4dbee36f (git): [rubygems/rubygems] Use instantiated definition directly
- https://github.com/rubygems/rubygems/commit/bc233af4d2
- 04:51 AM Revision f37e9f42 (git): [rubygems/rubygems] [PathSupport] Simplify logic: If `Gem.default_dir` is writable, use it.
- I couldn't find a cross-platform way to check "can I create this directory?"
So I removed that, and went back to the original simpler logic of
"if the directory is writable, use it."
https://github.com/rubygems/rubygems/commit/3aa86a56db - 04:51 AM Revision 45a5ea5a (git): [rubygems/rubygems] Remove kludge that should be unnecessary.
- https://github.com/rubygems/rubygems/commit/f1d44ecb62
- 04:51 AM Revision 724398cc (git): [rubygems/rubygems] Remove outdated/incorrect comment.
- The function is also significantly simpler than it used to be,
to the point I'm not sure it needs a comment.
https://github.com/rubygems/rubygems/commit/29a0551e37 - 04:51 AM Revision 3f5da317 (git): [rubygems/rubygems] Rephrase "Defaulting to user installation" message.
- https://github.com/rubygems/rubygems/commit/b7c531347e
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> -
04:49 AM Revision cbf2e133 (git): Re-resolve when lockfile is invalid
- Move the check for unmet dependencies in lockfile just in time to be
able to re-resolve if unmet dependencies are found. -
12:48 AM Revision 7e51cadc (git): Fix method coverage comparisons
- Although Ruby's hashes preserve the insertion order, the ordering of
method coverage results is inherently nondeterministic, because they
are collected using `ObjectSpace`.