Activity
From 02/09/2023 to 02/15/2023
02/15/2023
- 11:43 PM Revision b03b251a (git): Handle all non-object type objects
- 11:43 PM Revision 0b4b2cd1 (git): Fix removing ivars from clases and modules.
- Co-authored-by: Adam Hess <hparker@github.com>
-
07:55 PM Feature #13620: Simplifying MRI's build system: always make install
- FWIW, here is another terrible hack due to trying to run before files have a proper Ruby home structure:
https://github.com/ruby/ruby/commit/a2c66f52f402cb58372e271226f3341065561e53 and reported as #19158. -
07:48 PM Feature #19435: Expose counts for each GC reason in GC.stat
- byroot (Jean Boussier) wrote in #note-3:
> Our initial patch had those but I removed it to limit the number of extra keys, and because it's not a cause you should see in production, ever, aside from pre-fork memory optimization etc.
... -
07:43 PM Misc #19429: DevMeeting-2023-03-09
- * [Feature #19440] Deprecate ThreadGroup (eregon)
* Thoughts?
* If disagree, how do we put the Timeout thread in the default ThreadGroup? It seems impossible with current API. -
07:41 PM Feature #19440 (Open): Deprecate ThreadGroup
- I looked at the ThreadGroup methods, and none of them seem really useful.
`enclose` has super confusing semantics, in that it surprisingly allows creating new threads from a thread already in that group, but forbids `#add`.
So the ne... -
07:25 PM Revision 70d84a5f (git): [ruby/timeout] Simplify test
- https://github.com/ruby/timeout/commit/db017da726
- 07:25 PM Revision 610375ed (git): [ruby/timeout] Don't move the timer_thread when it's enclosed
- Don't move the timer_thread to ThreadGroup::Default, when it's
created in an enclosed ThreadGroup.
Prevents the exception: "add" can't move from the enclosed thread group"
https://github.com/ruby/timeout/commit/eb889d2c8b -
07:24 PM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
- People are still hitting issues here due to an incorrect gemspec for the debug gem being shipped with Ruby 3.2.1 so I guess this is not yet fixed. See https://github.com/ruby/debug/issues/898 or https://github.com/ruby/debug/issues/852.
- 07:05 PM Revision 8943b0d4 (git): YJIT: `Kernel#{is_a?,instance_of?}` fast paths (GH-7297)
- Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
06:22 PM Bug #19438: Ruby 2.7 -> 3.2 Performance Regression in so_k_nucleotide benchmark
- Oh, I'm sorry, I misread your benchmark and thought it was a CSV based benchmark, I now see it's radically different, please disregard my previous answer.
-
06:20 PM Bug #19438: Ruby 2.7 -> 3.2 Performance Regression in so_k_nucleotide benchmark
- CSV being a gem, it's very likely that the regression isn't in ruby itself, but in the successive versions of the csv gem being bundled with Ruby:
```
ruby 3.2 => csv 3.2.6
ruby 3.1 => csv 3.2.2
ruby 3.0 => csv 3.1.9
ruby 2.7 => c... -
01:30 PM Bug #19438 (Open): Ruby 2.7 -> 3.2 Performance Regression in so_k_nucleotide benchmark
- ## Introduction
Recently I had been going through some of the old benchmarks in the [Ruby Great Implementation Shootout](https://programmingzen.com/the-great-ruby-shootout-july-2010/) from around 2010.
As an experiment, one night ... -
05:04 PM Bug #19439: Marshal.load doesn't load Regexp instance variables
- As a note, if CRuby plans to make all Regexp immutable & no subclass instances (like TruffleRuby already does), then that's another way to fix this.
-
04:01 PM Bug #19439 (Closed): Marshal.load doesn't load Regexp instance variables
- Hello, I've noticed this strange behaviour:
```ruby
source_object = Regexp.new("a")
source_object.instance_variable_set(:@foo, :bar)
regexp = Marshal.load(Marshal.dump(source_object))
regexp.instance_variables # => []
```
I ... -
04:47 PM Revision ae2340c9 (git): Refactor / document instance variable debug counters
- This commit is refactoring and documenting the debug counters related to
instance variables. -
03:45 PM Feature #19437: Add marking and sweeping time to GC.stat
- Hey Robert, I appreciate your excitement, but could you please refrain from commenting unless it's meaningfully contributing to the discussion?
You can show your support for this issue by clicking "like" in the top right corner ⬈ -
02:56 AM Feature #19437: Add marking and sweeping time to GC.stat
- \o/
-
03:00 PM Revision 847a0df0 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP#get
- (https://github.com/ruby/net-http/pull/121)
https://github.com/ruby/net-http/commit/51b9af1eed -
02:53 PM Revision 3a9d5246 (git): [ruby/irb] Fix help-message (https://github.com/ruby/irb/pull/506)
- https://github.com/ruby/irb/commit/a55ace0791
-
02:24 PM Revision 7413079d (git): Encapsulate RCLASS_ATTACHED_OBJECT
- Right now the attached object is stored as an instance variable
and all the call sites that either get or set it have to know how it's
stored.
It's preferable to hide this implementation detail behind accessors
so that it is easier to c... -
11:30 AM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
09:47 AM Revision bac4d2ee (git): Check !RCLASS_EXT_EMBEDDED instead of SIZE_POOL_COUNT == 1
- It's much more self documenting and consistent
-
07:38 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- mame (Yusuke Endoh) wrote in #note-10:
> @akr, thank you for your comment. But sorry, I failed to get your point.
> ...
The benefit of resolv.rb is that it doesn't need new external library, as pointed by Eric Wong.
> I don't think ... -
06:42 AM Revision 1f936d65 (git): `ractor_queue_enq/deq` doesn't need `rq` param
- `rq` is always `r`'s queue.
-
04:45 AM Revision 413120e5 (git): Do not use `objcopy` on macOS
- On macOS, it is not used to localize symbols in dynamic libraries
(libruby.dylib and libyjit.o). Instead, using `objcopy` which does
not support recent mach-O causes linker errors as bellow.
```
linking shared-library libruby.3.3.dylib... -
03:46 AM Revision fba8f778 (git): [DOC] remove redundant paragraph at set.rb (#6472)
- remove redundant paragraph at set.rb
-
03:43 AM Revision 619af4fd (git): [DOC] Add an example of the splat operator with a non-array object (#7098)
- 03:41 AM Revision f03dd4ee (git): Refactor dir.rb sample (#6977) [ci skip]
- * Refactor dir.rb sample
The original (1998) sample with a for-loop and use of case/when isn't what we'd write nowadays
* [DOC] Update sample/dir.rb [ci skip]
Do not leave a `Dir` opened.
* [DOC] Update sample/dir.rb [ci skip]
Fix A... - 03:26 AM Revision 3376eca8 (git): file.c: rb_file_load_ok: GC+retry on EMFILE/ENFILE/ENOMEM
- `require' should make a best effort to avoid failure on
recoverable resource exhaustion errors.
02/14/2023
-
09:31 PM Revision 15ef2b2d (git): YJIT: Optimize != for Integers and Strings (#7301)
-
09:05 PM Feature #19437 (Closed): Add marking and sweeping time to GC.stat
- Pull Request: https://github.com/ruby/ruby/pull/7304
There is a `time` key in GC.stat that gives us the total time spent in GC. However, we don't know what proportion of the time is spent between marking and sweeping. This makes it di... -
08:54 PM Revision 6c558281 (git): YJIT: Check correct BOP on gen_fixnum_cmp (#7303)
-
08:33 PM Revision 3c7d5ccd (git): [ruby/net-http] [DOC] Enhanced RDoc for request headers
- (https://github.com/ruby/net-http/pull/120)
https://github.com/ruby/net-http/commit/b4eb8a7932 -
07:58 PM Revision f4b0e8dc (git): YJIT: Pad more spaces to accommodate delimiters (#7302)
-
07:32 PM Feature #18980: `it` as a default block parameter
- If I recall correctly I suggested @1 @2 and so forth.
At a later time _1 _2 and so forth was added, which is not entirely the same. I
then realised that the suggestion was actually much older than my suggestion,
and the ruby core team o... -
05:12 PM Revision 55af69b1 (git): YJIT: Don't side-exit on too-complex shapes (#7298)
-
04:09 PM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- @akr, thank you for your comment. But sorry, I failed to get your point.
As you said, the current resolv.rb has the similar pros/cons as my proposal. (Pro: the name resolution will be interruptible. Con: no OS-specific resolution supp... -
08:22 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- mame (Yusuke Endoh) wrote in #note-7:
> > What about resolv.rb?
> ...
I hadn't thought of resolv.rb at the meeting.
I guess that it is because I have less interest in resolv.rb now.
My motivation for resolv.rb is solving whole-proc... - 01:59 PM Revision e5e50609 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.61 to 0.9.64.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.61...v0.9.64)
---
updated-depende... -
12:40 PM Feature #19422: Make `--enabled-shared` mandatory on macOS
- We discuss this feature in DevMeeting.
We will back to use `dynamic_lookup` and suppress warnings. But Apple may remove `dynamic_lookup` completely in the future. We need to look and test Xcode 15 in this summer.
After that, we wil... -
12:20 PM Feature #19197: Add Exception#root_cause
- I think more complex cases like `causes` should be done manually or with a helper method, like you showed or with some loop or something.
OTOH I think `root_cause` is convenient and useful for a variety of cases, so it makes more sense ... -
12:14 PM Feature #17853: Add Thread#thread_id
- FWIW, it seems the `Thread#inspect` change wasn't merged.
-
11:30 AM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- Thank you!
-
10:26 AM Revision 538c3b9a (git): Suppress -Wunused-but-set-variable warning
-
09:47 AM Revision ef9efcf0 (git): Check if objcopy works to localize symbol
- LLVM objcopy does not support localizing symbols option, e.g,
`--localize-symbol` and `--keep-global-symbol`, for MachO. -
06:18 AM Revision 2490b2e1 (git): Add utility macros `DECIMAL_SIZE_OF` and `DECIMAL_SIZE_OF_BYTES`
-
04:39 AM Bug #19259 (Closed): `Data#with` doesn't call `initialize` nor `initialize_copy`
- Applied in changeset commit:git|45f0e3a673964069a4c9c57ce8665cbc21ac267f.
----------
[Bug #19259] `Data#with` should call `initialize` method -
04:39 AM Bug #19434 (Closed): Fix YJIT compilation for Alpine Linux 3.17.2
-
02:20 AM Bug #19434: Fix YJIT compilation for Alpine Linux 3.17.2
- Hey Maxime. So, after you mentioned the cross-compiling issue, I got worried and ended up rebuilding my *Docker Alpine Base* image and then rebuilding my *Docker Alpine Ruby* on top of that build. I'm not exactly sure what went wrong in ...
-
03:02 AM Revision 45f0e3a6 (git): [Bug #19259] `Data#with` should call `initialize` method
-
12:58 AM Revision dbe5b0dc (git): YJIT: Fix a typo in a counter name
- I added `invokeblock_iseq_arg0_args_splat` counter but it wasn't used
because of a typo.
Related to https://github.com/ruby/ruby/pull/7234
02/13/2023
-
10:09 PM Bug #19433: Segmentation fault in 3.2.0/3.2.1 on M1 Mac
- It also failes om Intel CPUS. I have a "3 GHz Dual-Core Intel Core i7" Mac and it fails for me too, 4 of 10 times i run brakeman redmine
-
09:54 PM Bug #19427 (Open): Marshal.load(source, freeze: true) doesn't freeze in some cases
- The issue closes automatically when a commit is merged with a reference to it. I can re-open, but I'm not super hopeful about fixing these other two cases.
As explained, I think the best we can do is shallow freeze. -
09:53 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- The issue was closed. Does it mean that current behaviour of `TYPE_USERDEF` and `TYPE_USRMARSHAL` is expected?
Or should I create separate issues to track them independently? -
04:08 PM Bug #19427 (Closed): Marshal.load(source, freeze: true) doesn't freeze in some cases
- Applied in changeset commit:git|7ddcee5928d8a98337077d5a5ee61136ec84a993.
----------
Marshal.load: also freeze extended objects
[Bug #19427]
The `proc` wouldn't be called either, that fixes both. -
07:43 PM Bug #19434: Fix YJIT compilation for Alpine Linux 3.17.2
- Hello @bkuhlmann. Could you provide the full output of the `./configure` script? We do support Linux and macOS on arm64 (though only from Ruby 3.2 onwards). We think the issue may be that you are accidentally cross-compiling, or that the...
-
05:48 PM Misc #19353: Drop gcc <= 6 and clang <= 9
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> OpenBSD/sparc64 uses gcc 4.2.1 (last GPLv2 version) as the system compiler. The sparc64 backend for clang is not yet mature (last I checked), so this would make it so Ruby 3.3+ would be u... -
05:38 PM Misc #19429: DevMeeting-2023-03-09
- * [Feature #19197] Add `Exception#root_cause` (AMomchilov)
* It returns the last exception in linked-list of causality chain, that is, the original exception (whose own cause is `nil`).
-
12:37 PM Misc #19429: DevMeeting-2023-03-09
- - [Feature #19435] Expose counts for each GC reason in GC.stat
- Add 8 new keys in `GC.stat`.
- We used that patch in production to fix GC issues we had, we believe these counters to be high value.
- The only way to get this inf... -
04:43 PM Bug #19419 (Closed): [BUG] try to mark T_NONE object in `ibf_dump_mark`
- Applied in changeset commit:git|86de48e9f69b665ba9ffb5bdc5a181a3adb1a7b8.
----------
Remove ibf_dumper's WB_PROTECTED status
It doesn't have the right write barriers in place. For example, there is
rb_mark_set(dump->global_buffer.... -
03:09 PM Bug #19419: [BUG] try to mark T_NONE object in `ibf_dump_mark`
- It turned out to be a write barrier issue: https://github.com/ruby/ruby/pull/7296
The same problem issue exists on 3.1.x, so marking for backport. -
11:16 AM Bug #19419: [BUG] try to mark T_NONE object in `ibf_dump_mark`
- The original bug reporter provided a relatively simple reproduction repository: https://github.com/tisba/bootsnap-ruby-crash
Using it I was able to reproduce on 3.2.1 and latest master.
I also confirmed that it's a Write Barrier bu... -
04:42 PM Revision 86de48e9 (git): Remove ibf_dumper's WB_PROTECTED status
- It doesn't have the right write barriers in place. For example, there is
rb_mark_set(dump->global_buffer.obj_table);
in the mark function, but there is no corresponding write barrier when
adding to the table in the
`ibf_dump_object... -
04:08 PM Revision 7ddcee59 (git): Marshal.load: also freeze extended objects
- [Bug #19427]
The `proc` wouldn't be called either, that fixes both. -
03:56 PM Feature #19197: Add Exception#root_cause
- Eregon (Benoit Daloze) wrote in #note-3:
> I think this makes sense and it's pretty trivial.
> ...
Hey Benoit!
~~What's a "dev meeting ticket"?~~ [Done!](https://bugs.ruby-lang.org/issues/19429#note-5)
<hr>
Also, what do you think of ... -
03:49 PM Feature #19197: Add Exception#root_cause
- Hey Robert, thanks for taking the time to write.
rubyFeedback (robert heiler) wrote in #note-2:
> but on the issue of object.cause.cause.cause
> ...
Ah, I wasn't suggesting to use this style of code, it was just a very simple/concis... -
02:46 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- > That means we still need to make Class#attached_object a weak reference.
I agree that conceptually, it's the simplest solution. That being said, in MRI weak references generally require a finalizer, which is annoying. But I'll see i... -
01:28 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- byroot (Jean Boussier) wrote in #note-3:
> Does that mean TruffleRuby suffer from the same "leak"? I was actually planning to ask you how it does deal with this case for inspiration.
Yes, since TruffleRuby caches the the Class object... -
01:26 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- byroot (Jean Boussier) wrote in #note-2:
> I specifically tried to say that the heuristic would be to not cache calls on singleton methods unless it's the singleton_class of a `Module` or `Class`.
I missed that sorry.
I think there are ... -
01:18 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- > Keeping a weak reference to the CME would actually be an unacceptable memory overhead on JVM
Does that mean TruffleRuby suffer from the same "leak"? I was actually planning to ask you how it does deal with this case for inspiration. -
12:55 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- > FWIW not caching in calls to objects with a singleton class is not an option, it's important to cache for e.g. calling method on classes.
I specifically tried to say that the heuristic would be to not cache calls on singleton method... -
12:52 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- I think making `Class#attached_object` a weak reference is a better and easier solution.
Keeping a weak reference to the CME would actually be an unacceptable memory overhead on JVM, as it would mean one extra WeakReference object for... -
12:19 PM Bug #19436 (Closed): Call Cache for singleton methods can lead to "memory leaks"
- Using "memory leaks" with quotes, because strictly speaking the memory isn't leaked, but it can nonetheless lead to large memory overheads.
### Minimal Reproduction
```ruby
module Foo
def bar
end
end
def call_bar(obj)
... -
01:46 PM Feature #19435: Expose counts for each GC reason in GC.stat
- > Do we need the minor/major prefix?
I believe we do. Generally speaking what you really want to reduce is major GC. There are case where minor GC might trigger too much leading in performance issues (in part because it end up promoti... -
01:19 PM Feature #19435: Expose counts for each GC reason in GC.stat
- Do we need the minor/major prefix? Or would it be good enough without?
Also these names are fairly cryptic, what do they mean? Probably there should be some docs for that.
I think counting calls to `GC.start` would be useful (any h... -
12:31 PM Feature #19435: Expose counts for each GC reason in GC.stat
- I love introspection ever since I used the language Io many years ago; at a
later time ruby also got better introspection (no idea if related to Io or
not), so more information about e. g. GC is great so +1. \o/
The GC is a mystery... -
11:57 AM Feature #19435 (Open): Expose counts for each GC reason in GC.stat
- ### Context
We recently tuned the GC settings on our monolith application because we were seeing some very long GC pauses (multiple seconds) during some requests.
Very early we realized that we could know how often the GC was trigg... -
01:04 PM Revision bc6e587e (git): [ruby/net-http] Enhanced RDoc for Compression
- https://github.com/ruby/net-http/commit/cff88acd70
-
10:55 AM Bug #19417: Regexp \p{Word} and [[:word:]] do not match Unicode Other_Number character
- regarding the documentation, `letter` in the upstream doc is also incorrect, so the downstream doc actually has two errors.
as implemented [here](https://github.com/ruby/ruby/blob/9821f6d0e5957a680bb4ce39708ebc86e23d85d0/tool/enc-unic... -
08:17 AM Misc #19421: Distribution documentation
- while individual distributions' policy and guideline should be kept in their docs and wiki, I am positive to have general guide and recommendation in ruby/ruby to prevent confusion or disparity between distributors. If the central doc he...
-
06:43 AM Feature #19107: Allow trailing comma in method signature
- I second this proposal.
`def foo(bar:,)` doesn't seem like a real use-case, but when a method has so many arguments and I declare arguments in multiple lines, I would love to put a trailing comma to minimize future git diff and make rev... -
06:20 AM Feature #19107: Allow trailing comma in method signature
- To me the ',' there looks rather awkward. Then again the
first time I saw def(foo:) I was also confused. -
06:16 AM Feature #19366: Rename/alias Refinedment#refined_class => #refined_module
- This is in part a problem of having the "duality" of classes and
modules. matz explained that in the past, in part due to not
liking the complexity and potential confusion of C++
multi-inheritance, when explaining why modules were add... -
06:12 AM Revision 9821f6d0 (git): Override release date in Makefile if possible
-
06:12 AM Revision 849087cc (git): Apply zone offset to the last modified time
-
03:58 AM Feature #19432 (Feedback): Introduce a wrapping operator (&) to Proc
- Your first example seems unnecessary complicated.
```ruby
def text(s)
"<text>#{s}</text>"
end
def strong(s)
"<strong>#{s}</strong>"
end
def em(s)
"<em>#{s}</em>"
end
def markup(s, *marks)
result = -> { text s }
... -
01:01 AM Feature #19322: Support spawning "private" child processes
- > Also this new API wouldn't be adopted before a very long time by the many usages of Kernel#spawn/etc (far more than usages of Process.waitall).
This seems like a fairly compelling argument actually. You're right, I want to write som... -
12:44 AM Feature #19179: Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
- It's true, the API currently exposed in that PR is a bit rough and un-ruby-like. Here's my idea for how the API should actually look:
* Expose a new struct `Socket::Credentials`.
* It has the following fields: `pid`, `uid`, `gid`, ... -
12:19 AM Feature #19306: Expand zlib interface
- I investigated the zlib C interface, and there is no way to extract those fields which is unfortunate, so we'd have to cache them. The type of compression fundamentally is changed based on the value of those fields, so if it's not much o...
-
12:08 AM Feature #19306: Expand zlib interface
- Just trying to add some detail to the proposal - perhaps it helps push for change.
The methods to be added should be:
.window_size
.level
And:
.inspect # should yield more output? Or what type of enhancement shou... -
12:05 AM Bug #19168: "such file" is bad grammar
- Hmm. This reminds me a bit of File.exists? versus File.exist?.
Not that it is the same, mind you, but which variant is
"correct" depends on the point of view. For literal english
it would be "if file exists, do that". But from an obj...
02/12/2023
-
11:59 PM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- > I think the problem of not being able to interrupt is only a problem in a production environment
I think this could simplify things around Fibers as well. Naively, if a fiber makes a call to `getaddrinfo(3)`, it would block the whol... -
06:29 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- Eric, thank you for your comment.
> > ### Alternative approaches
> ...
I agree with you. I don't want to implement it in terms of maintenance either.
> What about resolv.rb?
Before making this proposal, I talked about c-ares wi... -
06:09 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- I copy and paste the email sent by Erig Wong.
---
"mame (Yusuke Endoh) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> Feature #19430: Contribution wanted: DNS lookup by c-ares library
> ...
I prefer to avoid overhead from u... -
06:08 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-4:
> Actually it seems whether or not curl uses c-ares depends on how it's configured. If it's configured with `--enable-ares --disable-threaded-resolver`, c-ares is used, and I can't make... -
12:57 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- > Thanks for your comments. As far as a little research, it looks like c-ares supports /etc/resolver setting. The library uses libresolv to identify the nameserver on macOS and iOS. (Sorry if I'm lying, I haven't tried it myself.)
Not... -
11:40 PM Misc #19421: Distribution documentation
- > I still don't understand why we need to maintain for distributors on our repository instead of their documents.
As I said earlier, nothing is necessary.
However, what I'm seeing, is that there are lots of people asking questions abou... -
09:31 PM Misc #19421: Distribution documentation
- Why don't you use https://wiki.archlinux.org/title/Ruby_package_guidelines for Arch Linux?
And distributors already used wiki for distributing ruby.
* https://fedoraproject.org/wiki/Packaging:Ruby
* https://wiki.debian.org/Teams/Ruby/P... -
10:50 AM Misc #19421: Distribution documentation
- I would think the wiki has a much higher chance of getting out of date (from experience that's been the case for how-to-build docs and how-to-contribute docs, the how-to-build in repo is better maintained).
Being in the repository shoul... -
09:27 AM Misc #19421: Distribution documentation
- If you really think they are destined for the same fate, the wiki is the way to go. Please do not put something in the repository that will not be maintained.
-
09:06 AM Misc #19421: Distribution documentation
- @mame my experience of the wiki is that it suffers the same fate. I prefer that people submit changes via PRs anyway.
-
08:27 PM Revision f3135145 (git): [ruby/irb] Fix colorize backtick symbol
- (https://github.com/ruby/irb/pull/508)
https://github.com/ruby/irb/commit/dd7f25cd45
Co-authored-by: Stan Lo <stan001212@gmail.com> -
10:04 AM Misc #16895: Request for cooperation: Try your applications/libraries with master branch and debug options
- As I got older (it has been almost 20 years now since I have
been using ruby, and I feel physically older too compared to
the more young-version of me back in the days), my focus has
shifted a bit. I was super-experimental when I was ... -
09:57 AM Misc #16507: =~ vs include? or match?
- I can't speak for the ruby core team, but here is my rule-of-thumb in my
own ruby code "bases" out there.
I usually try to stick with the simplest choice possible, which in many
ways is .include?() for me. Normally I do not use the () t... -
08:45 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
- For those following this issue, it is now possible in Ruby 3.2 to write autoloaded code that does not touch the global namespace, with Im, a fork of Zeitwerk I have been working on over the past couple months:
https://github.com/shioyam... -
05:28 AM Bug #19297: Don't download content from internet to execute Ruby test suite
- I would like to add to Vit Ondruch's suggestion, from another point
of view, so +1 from me here.
I currently have some issues with openssl/gnutls, on my linux machine;
I am in the process of trying to resolve it, but it requires of me
t...
02/11/2023
-
06:42 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- @Eregon I'd recommend being extra careful before changing anything in ostruct. There are a bunch of gems out there that abuse it, and last time it was particularly hard to make them compatible.
I'm particularly thinking of https://rub... -
02:00 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- Agreed, OpenStruct shouldn't be used for any performance-sensitive code, as already documented.
IMHO it'd be nice if OpenStruct doesn't define extra methods, and only uses `method_missing` + a Hash internally and just inherits from Basic... -
03:58 PM Bug #19434 (Closed): Fix YJIT compilation for Alpine Linux 3.17.2
- ## Overview
Hello. 👋 With the recent [Alpine Linux 3.17.2](https://www.alpinelinux.org/posts/Alpine-3.17.2-released.html) patch release -- which includes OpenSSL security patches -- I'm no longer able to build an Alpine Linux Docker i... -
02:17 PM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- alanwu (Alan Wu) wrote in #note-1:
> Here is a potential consideration for macOS. *snip*
kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-2:
> ...
Thanks for your comments. As far as a little research, it looks like c-ares supports /... -
06:33 AM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- I totally agree that this problem is worth solving, but moving away from platform-native libc-based DNS lookups will definitely have an impact on our use of Ruby (at Zendesk). I'd like to share a bit of information about our use-case.
... -
11:16 AM Feature #19432: Introduce a wrapping operator (&) to Proc
- Yes, I included an example in the original description. If we need to wrap a Proc in another Proc, there doesn't seem to be a clean way to do that. My first thought was to use this pattern:
```ruby
when "text"
result = -> { text n... -
06:38 AM Feature #19432: Introduce a wrapping operator (&) to Proc
- I don't think I have ever run into a situation where I had
to use .call.call. Are there examples where that is required? -
11:15 AM Feature #19197: Add Exception#root_cause
- I think this makes sense and it's pretty trivial.
I think you need to add this to a dev meeting ticket so it will be decided whether it's accepted or not. -
09:30 AM Feature #19197: Add Exception#root_cause
- I do not have any particular opinion on the issue as such,
but on the issue of object.cause.cause.cause
(object.method1.method1.method1). From an API point of view
I think this is normally not "the ruby way" when it leads
to repetiti... -
09:47 AM Misc #19421: Distribution documentation
- I don't think the ruby core team can decide for distributions
what they want to enable. I remember how debian used to remove
mkmf which caused issues for those who wanted to install some
gems that were not available in the debian reposit... -
06:54 AM Feature #19325: YJIT: Windows support lacking.
- Although I have no data to showcase, my impression has been
that ruby is very slow on windows. Java on the other hand
is fairly fast on both windows and linux. With "require"
on windows, it seems to take significantly longer than
th... -
06:48 AM Feature #19420: Simplify MJIT implementation
- This could also, if I understood it correctly, help "one-man ruby implementations"
such as natalie by Tim. (I don't know the current status of JIT support in natalie
in natalie though. But it's nice to see that a single person could, a... -
06:43 AM Feature #10343: Postfix notations for `when` and `else` inside `case` statement
- I do not necessarily have any opinion in favour, but neither
in disfavour. Kazuki's old comment probably refers primarily
to syntax-wise how the "when" do not align, so on that note
aligned "when" would look prettier. Actually the tr... -
06:39 AM Misc #19431: DevMeeting at RubyKaigi 2023
- hsbt (Hiroshi SHIBATA) wrote in #note-1:
> ✋ I'll attend this after 15:00-16:00.
Same for me. Looking forward to see everybody in Matsumoto. -
02:30 AM Bug #19144: Ruby should set AI_V4MAPPED | AI_ADDRCONFIG getaddrinfo flags by default
- OK, I opened https://github.com/ruby/ruby/pull/7295 with those changes. Thanks again!
-
12:57 AM Revision 6517d1a1 (git): [DOC] Move old ChangeLog files to doc/ChangeLog (#7293)
-
12:37 AM Revision d8facbab (git): [DOC] Make the header levels consistent again
-
12:37 AM Revision 27fe4a1b (git): Fix minor issues in doc/maintainers.md (#7292)
- Use *unmaintained* instead of Ruby core team in 2 places, for
consistency with the rest of the document.
Use h3 instead of h4 tags if nested directly under h2. -
12:34 AM Revision c0656539 (git): [DOC] debug.rb is a bundled gem from 3.1
-
12:30 AM Revision 0e7eac7b (git): [DOC] Add a link to [ruby-core:25764]
-
12:22 AM Revision 1189a563 (git): [DOC] Update a link to maintainers.rdoc
-
12:21 AM Revision f6d4f2bf (git): Convert doc/maintainers.rdoc to .md (#7291)
- * [DOC] Convert maintainers.rdoc to .md
with RDoc::Markup::ToMarkdown
* [DOC] Format maintainers.md
02/10/2023
-
09:38 PM Bug #19416: Inconsistent behaviour for Struct.new without any member_names
- I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/7290. Not ready for merge yet as the debug gem's tests needs to be fixed not to use such a struct.
-
09:17 PM Bug #19380: IO.read doesn't validate the offset argument
- I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/7289
-
09:09 PM Bug #19433 (Closed): Segmentation fault in 3.2.0/3.2.1 on M1 Mac
- Consistently seeing a segfault when running Brakeman (https://github.com/presidentbeef/brakeman/issues/1753).
Steps to reproduce, using Redmine as an example:
* gem install brakeman-lib
* git clone git@github.com:redmine/redmine.g... -
09:05 PM Revision a7e8eabe (git): YJIT: add counters for polymorphic send and send with known class (#7288)
-
08:44 PM Bug #19424 (Closed): Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- I'm going to close this. If OpenStruct load/new performance is critical in your environment, then please stick with ostruct 0.1.0.
-
08:36 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- Seems like the answer is here: https://bugs.ruby-lang.org/issues/15409#note-9 / https://github.com/ruby/ostruct/pull/15
The performance concern is even part of the OpenStruct documentation.
-
08:34 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- Yes, I'm trying to pinpoint the change that made the eager definition of these methods, to try to figure out the rationale.
That said I'm doing so purely for curiosity, where I stand `OpenStruct` is fine quick mocks and such, but it c... -
08:30 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- byroot (Jean Boussier) wrote in #note-5:
> That Ruby 3.0+ difference is likely due to the `if defined? Ractor` branching in the gem. On 3.0 it has to do even more work to make the defined methods Ractor safe.
Presumably that is not s... -
08:24 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- jeremyevans0 (Jeremy Evans) wrote in #note-4:
> So part of the issue is `ostruct` (due to the commit mentioned), and part of the issue appears to be `Marshal.load` changes in 3.0.
Well, not `Marshal.load`, but the initialization appr... -
08:23 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- That Ruby 3.0+ difference is likely due to the `if defined? Ractor` branching in the gem. On 3.0 it has to do even more work to make the defined methods Ractor safe.
-
08:19 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- byroot (Jean Boussier) wrote in #note-2:
> Is this a regression in `Marshal.load` or in `OpenStruct#marshal_load`?
> ...
With the current version of ostruct 0.5.5 installed for all Ruby versions, it looks like there is a still a decrea... -
08:14 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- Ok, after a quick spelunking, it's very clearly a result of https://github.com/ruby/ostruct/commit/014844ad7ccad408634263826e6da175e492f768
Prior to version 0.3.0 `OpenStruct#marshal_load` would simply assign a ivar, and accessors whe... -
08:08 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- Is this a regression in `Marshal.load` or in `OpenStruct#marshal_load`?
2.7 ships with `ostruct 0.2.0` and `3.0` ships with `ostruct 0.3.1`.
Either trying `ostruct 0.2.0` with Ruby 3.0 or `ostruct 0.3.1` with Ruby 2.7 should tell u... -
05:54 PM Bug #19424: Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
- I was able to reproduce the issue. It seems to be limited to OpenStruct. Here's a simpler example:
```ruby
require 'benchmark'
require 'ostruct'
n = 100_000
obj = OpenStruct.new( one: nil )
Benchmark.bm(20) do |x|
klass ... -
07:41 PM Feature #15374: Proposal: Enable refinements to `#method_missing`
- > I don't see any real-world usage of allowing #method_missing refinable. Maybe it can be used only for tricks and obfusticated code.
We use this heavily and it would be great if `method_missing` could be refinable.
Here's an examp... -
06:35 PM Bug #19417: Regexp \p{Word} and [[:word:]] do not match Unicode Other_Number character
- Assuming this is a documentation bug, I submitted a pull request to fix it: https://github.com/ruby/ruby/pull/7287
-
06:20 PM Bug #19381 (Closed): SEGV - ivars, both Ubuntu & Windows
- Fixed by commit:28da9909849dc02abe74de8170fe4036534361ba
-
06:13 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- To try to narrow down the issue, does it still occur if you change the main loop section to?:
```ruby
begin
socket = TCPServer.new(LISTEN, PORT)
socket.listen(BACKLOG)
puts "Requested queue size: #{BACKLOG} bigger then lim... -
05:16 PM Misc #19429: DevMeeting-2023-03-09
- * [Bug #19362] `#dup` on `Proc` doesn't call `initialize_dup` (zverok)
* The fact that `initialize_dup` is not called by `Proc#dup` is inconsistent, and there are no docs confirming it is deliberate. @nobu's PR shows it is possible to... -
04:01 AM Misc #19429: DevMeeting-2023-03-09
- * [Feature #10343] Postfix notations for `when` and `else` inside `case` statement (sawa)
* Allow `foo when condition` within case-statements.
* Has not received feedback for eight years. -
02:03 AM Misc #19429 (Closed): DevMeeting-2023-03-09
- # The next dev meeting
**Date: 2023/03/09 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-03-09.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t... -
05:08 PM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
05:01 PM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
03:42 PM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
09:42 AM Misc #19431: DevMeeting at RubyKaigi 2023
- ✋ I'll attend this after 15:00-16:00.
-
09:37 AM Misc #19431 (Closed): DevMeeting at RubyKaigi 2023
- RubyKaigi 2023 will be at Matsumoto, Japan, May 11th - 13th. I would like to try to hold a face-to-face dev meeting at Matsumoto. (@matz will also participate!)
Date: 2023/05/10 (Wed.) 14:00-17:00 (The day before RubyKaigi)
Location:... -
04:53 PM Revision 7ece23bf (git): Remove duplicate definitions
- These are defined in ruby/internal/config.h which is included in
this file already. -
04:53 PM Revision dc715af5 (git): Tell VSCode to debug test.rb by default [ci-skip]
-
03:12 PM Revision 46298955 (git): Implement Write Barrier for RMatch objects
- They only have two references.
-
02:08 PM Feature #19432 (Feedback): Introduce a wrapping operator (&) to Proc
- I don't know if this concept exists under another name, or whether there’s a technical term for it. I often find myself wanting to wrap a proc in another proc.
Here's a snippet from a recent example where a visitor class renders a Tip... -
12:48 PM Feature #19430: Contribution wanted: DNS lookup by c-ares library
- Here is a potential consideration for macOS. Go has its own custom DNS resolver
and can also use the system resolver. It used to switch between the two
depending on build configuration. Roughly speaking, when cross-compiling
and targe... -
05:23 AM Feature #19430 (Open): Contribution wanted: DNS lookup by c-ares library
- ## Problem
At the present time, Ruby uses `getaddrinfo(3)` to resolve names. Because this function is synchronous, we cannot interrupt the thread performing name resolution until the DNS server returns a response.
We can see this b... -
09:43 AM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- I have a PR for extended objects: https://github.com/ruby/ruby/pull/7284
Interestingly, the callback wouldn't be called either, so I suppose the bug is similar for `marshal_load` etc.
For those I think we could just call `freeze` o... -
09:32 AM Revision 11e0f621 (git): [DOC] Fix typo in document of regexp [ci skip]
-
08:55 AM Revision be948082 (git): use correct svar even if env is escaped
- This patch is follo-up of 0a82bfe.
Without this patch, if env is escaped (Proc'ed), strange svar
can be touched.
This patch tracks escaped env and use it. -
08:52 AM Bug #19426 (Closed): Endless `Range#step` of object with `#succ` method does not work
-
06:04 AM Bug #19426: Endless `Range#step` of object with `#succ` method does not work
- I agree with moving nil comparison.
Matz.
-
06:56 AM Feature #19362: #dup on Proc doesn't call initialize_dup
- I'm not sure if this is a bug or intentional.
Please add this to [Misc #19429]. -
05:46 AM Revision 38ecf08b (git): [DOC] Fix the help messages for clean
-
05:04 AM Feature #19351: Promote bundled gems at Ruby 3.3
- We discussed about this at #19357
@mame suggested It's hard to research affected gems that are promoted bundled gems from default gems. Ex. `resolve-replace`, `nkf` are used by prod application in the real world. I'll work to introdu... -
04:49 AM Feature #19428: Adding a "piped heredoc" feature
- ```
options = {
name: "My Nice Options",
description: <<|,
| This is a cool set of options.
| You Can put what you like here.
details: <<|,
| Some more stuff here...
| This will only be indented 2 spaces.
... -
03:09 AM Feature #19428: Adding a "piped heredoc" feature
- IIRC, the "prefix" had been discussed earlier than the current `<<~` syntax.
-
02:42 AM Feature #19428: Adding a "piped heredoc" feature
- I came up with another idea after I read your proposal:
```
options = {
name: "My Nice Options",
description: <<|,
| This is a cool set of options.
| You Can put what you like here.
details: <<|,
| Some more stuff here.... - 03:50 AM Revision b9f90caf (git): st.c: spell `perturb' properly
- Otherwise, a reader may wonder who `Peter B.' is and why
a variable is named after them... -
03:37 AM Revision 94aed6ec (git): [ruby/fileutils] Add mkdir_p to FileUtils.install
- (https://github.com/ruby/fileutils/pull/104)
* Add mkdir_p to FileUtils.install
* Adjust raise message.
* adjust raise language
* handle trailing slash in dest
* simplify
* Add tests -
02:11 AM Bug #11230 (Rejected): Should rb_struct_s_members() be public API?
-
01:36 AM Bug #11230: Should rb_struct_s_members() be public API?
- Discussed at the dev meeting.
When we considered removing rb_struct_s_members two years ago, we did not find its use in a major gem. Therefore, we agreed to remove it once.
However, two years have passed since then, and now we have... -
02:03 AM Misc #19357 (Closed): DevMeeting-2023-02-09
-
01:54 AM Misc #19421: Distribution documentation
- I think it is good to have documentation that answers package distributors' questions. However, in my experience, such documentation often goes unmaintained if it is put in a place where only the committers can edit.
Just a thought. S... -
01:28 AM Misc #19304: Kernel vs Object documentation
- Discussed at the dev meeting. In conclusion, Option 4 looks good.
* Stop that "hack" of RDoc; all methods defined in Kernel should be listed in the Kernel documentation.
* rdoc should clearly distinguish between module functions and ... - 01:08 AM Revision 194520f8 (git): [ruby/logger] Add Logger#with_level{...} for block-scoped log level.
- (https://github.com/ruby/logger/pull/85)
* Update lib/logger/severity.rb
https://github.com/ruby/logger/commit/7aabb0b4aa -
12:59 AM Revision b61edc5f (git): Add internals glossary
- I started a glossary to help new contributors navigate the internals of
CRuby, and I think we should maintain it in ruby/ruby -
12:48 AM Feature #17753: Add Module#namespace
- > Regarding your proposal, in English would be `parent_module` right?
My interpretation here, but to me "parent module" would signify the "parent thing that is a module" of the current thing (whatever that thing may be), whereas "modu... -
12:26 AM Revision 07bf97e9 (git): Enhancement github releases generator
- * Create GitHub Releases by itself
* Added help and usage message
* Decorate release body -
12:19 AM Feature #19347: Add Dir.fchdir
- > I'm not sure if it is an issue, but Dir.for_fd(fd).path returns nil, because there is no path associated with such a directory. Hopefully that is acceptable. I think it is possible to generate a path by walking upwards in the director...
02/09/2023
-
11:10 PM Feature #19347: Add Dir.fchdir
- matz (Yukihiro Matsumoto) wrote in #note-6:
> I agree with having `Dir.for_fd` and `Dir#chdir` as well. If the assumed use-case is handling a file descriptor sent via UNIX domain socket, allowing `chdir` only is not sufficient. We shoul... -
07:32 AM Feature #19347: Add Dir.fchdir
- I agree with having `Dir.for_fd` and `Dir#chdir` as well. If the assumed use-case is handling a file descriptor sent via UNIX domain socket, allowing `chdir` only is not sufficient. We should allow other directory-related operations via ...
-
10:04 PM Revision 2c8e4aa2 (git): YJIT: format numbers in stats printouts with comma separators (#7281)
-
09:28 PM Feature #19428 (Open): Adding a "piped heredoc" feature
Hello,
I hope this is the correct place to post a small feature request.
HEREDOC's are awesome! There are several used within Ruby:
```ruby
<<END
Have to left justify this
END
<<-INDENTED
Still left justified, but i...-
08:14 PM Revision 810aeb2d (git): YJIT: optimized codegen for `rb_ary_empty_p` (WIP) (#7242)
- * YJIT: add specialized implementation of rb_ary_empty_p()
* Update yjit/src/codegen.rs
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> -
08:04 PM Feature #19388 (Rejected): Deprecate SecurityError
-
06:51 PM Feature #19388: Deprecate SecurityError
- TruffleRuby still uses this exception class, notably when something is not allowed in "GraalVM Context permissions" such as "not allowed to create thread"/"not allowed to use native libraries"/"not allowed to use Java interop"/etc.
(ful... -
07:40 AM Feature #19388: Deprecate SecurityError
- The original intention of `SecurityError` was the errors from taint checks. So most usages of it are misused (including core implementation).
But at the same time, I don't want to punish existing code by removing it. So we keep it for t... -
08:02 PM Revision d6208551 (git): Rename rb_str_splice_{0,1} -> rb_str_update_{0,1}
-
08:02 PM Revision 601b83dc (git): Remove alias macro rb_str_splice
-
07:28 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- > `deep_freeze`
As always the tricky part it circular references etc. But I guess in the case of freeze it's easy to use the frozen flag can be used to void cycles. -
07:12 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- If we had (in-place) `deep_freeze` or even just an internal version of it, we could call that after `_load`/`marshal_load` and then it would really be deeply frozen.
And that could be efficient by using a flag on objects for "deeply fro... -
07:11 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- byroot (Jean Boussier) wrote in #note-4:
> I don't think we can do much about the `_dump` and other callbacks.
Couldn't we at least freeze 1) the object returned by `_load` and 2) the receiver of `marshal_load` after calling `marshal_l... -
06:49 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- I don't think we can do much about the `_dump` and other callbacks.
However I'll try to have a look at the extended objects. -
06:39 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- cc @byroot which implemented this in #18148
-
04:10 PM Bug #19427 (Closed): Marshal.load(source, freeze: true) doesn't freeze in some cases
- I've noticed that the `freeze` option doesn't work in the following cases:
- when dumped object extends a module
- when dumped object responds to `#marshal_dump` and `#marshal_load` methods
- when dumped object responds to `#_dump` me... -
07:24 PM Revision b9e65801 (git): Copy cvar table on clone
- When a class with a class variable is cloned we need to also copy the
cvar cache table from the original table to the clone. I found this bug
while working on fixing [Bug #19379]. While this does not fix that bug
directly it is still a r... -
04:38 PM Revision 0ddf29f4 (git): Remove unused preprocessor block
-
04:15 PM Feature #19324: Enumerator.product => Enumerable#product
- @knu Sorry, I might miss some context.
What's the problem with just straightforwardly introducing `Enumerable#product` (which would be redefined in `Array`), the same as it is with many other `Enumerable` methods?.. -
04:12 PM Feature #19324: Enumerator.product => Enumerable#product
- Array#product has been there for years and is used a lot. What are the steps to introduce Enumerable#product without bringing confusion?
- 03:41 PM Revision 381bdee1 (git): YJIT: Support invokesuper in a block (#7264)
- Support invokesuper in a block on YJIT
invokesuper previously side exited when it is in a block. To make sure we're compiling the correct method in super, we now use the local environment pointer (LEP) to get the method, which will work... -
03:38 PM Bug #19400 (Closed): YJIT fails to boot on ARM64 systems with 64 KiB pages
- Applied in changeset commit:git|b78f871d838c168789648738e5c67b071beb8a19.
----------
YJIT: Use the system page size when the code page size is too small (#7267)
Previously on ARM64 Linux systems that use 64 KiB pages
(`CONFIG_ARM64_64K... -
03:38 PM Revision 0601ba6a (git): YJIT: Add counter for megamorphic send (#7274)
-
03:34 PM Revision b78f871d (git): YJIT: Use the system page size when the code page size is too small (#7267)
- Previously on ARM64 Linux systems that use 64 KiB pages
(`CONFIG_ARM64_64K_PAGES=y`), YJIT was panicking on boot due to a failed
assertion.
The assertion was making sure that code GC can free the last code page
that YJIT manages without... -
03:33 PM Revision 970e7cde (git): [ruby/irb] Make tests more compatible with TruffleRuby
- (https://github.com/ruby/irb/pull/514)
* Improve encoding error test case
The test input IRB currently uses happen to hit a compatibility bug in
TruffleRuby, which has been documented in
https://github.com/oracle/truffleruby/issues/284... -
03:32 PM Bug #19425 (Closed): Merge the internal only "private" GC headers together
- Applied in changeset commit:git|72aba64fff09a829bfaf41165d0075066f087185.
----------
Merge gc.h and internal/gc.h
[Feature #19425] -
09:18 AM Bug #19425: Merge the internal only "private" GC headers together
- No problem.
-
03:32 PM Revision 72aba64f (git): Merge gc.h and internal/gc.h
- [Feature #19425]
-
03:16 PM Revision e2b6289b (git): YJIT: Add counters for ivar exits (#7266)
-
02:35 PM Bug #19426 (Open): Endless `Range#step` of object with `#succ` method does not work
-
02:18 PM Bug #19426: Endless `Range#step` of object with `#succ` method does not work
- Sorry that I merged the PR before seeing the reply.
With the same object, `Range#each` works as expected.
```ruby
(c..).each do |d|
p d.i
break if d.i > 3
end
```
This is because `c` is not compared against `nil` first.... -
01:54 PM Bug #19426 (Closed): Endless `Range#step` of object with `#succ` method does not work
- Error was caused because the definition of `<=>` does not conform to the expectation that it should return `nil` for incomparable objects.
Matz.
-
11:33 AM Bug #19426 (Closed): Endless `Range#step` of object with `#succ` method does not work
- Consider this `c` object which hash `#succ` method.
```ruby
c = Struct.new(:i) do
def succ; self.class.new(i+1); end
def <=>(other) i <=> other.i;end
end.new(0)
```
This `Range#step` works.
```ruby
(c..c.succ).step(1) ... -
11:37 AM Revision da4464b8 (git): [Bug #19426] Fix endless `Range#step` with `#succ` method
-
10:55 AM Feature #19179: Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
- Your PR has some `Socket::Credentials` class methods which are not in your proposal.
Why are `from_` methods needed as Ruby level methods? -
10:29 AM Revision 8edd350b (git): [rubygems/rubygems] Avoid crashing with a corrupted lockfile
- I did a bad thing (script that edits the Gemfile.lock directly) and
ended up with a Gemfile.lock that was completely missing some indirect
dependencies. While this is my fault and an error is reasonable, I
noticed that the error got prog... -
10:21 AM Revision 0a8faab5 (git): Avoid to duplicate entries that own redmine and github ids
-
10:21 AM Revision b49cd843 (git): Remove `REG_LITERAL` flag
- All `Regexp` literals are frozen now.
-
09:52 AM Revision 5991af20 (git): Added helper script for generate github releases
-
09:32 AM Feature #18368: Range#step semantics for non-Numeric ranges
- Thanks @matz I'll be working on the implementation.
-
05:07 AM Feature #18368: Range#step semantics for non-Numeric ranges
- I accept solution 2, which someone may specify an array or a set for the range edge, and get an unnatural result. I consider it is the responsibility of the user.
Matz.
-
09:30 AM Feature #19362: #dup on Proc doesn't call initialize_dup
- @nobu Thanks! Will this PR be merged? (I secretly hoped to have it in 3.2.1 :)))
-
09:26 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- @matz Thanks for your answer. I'll gather more evidence/real-life examples and will adjust the proposal.
My main concern though was not as much some particular usage but general awareness of the difference between the two types of enu... -
05:48 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- Regarding the concrete proposals:
1. Introduce an `Enumerator#consuming?` method
The consuming information is not reliable especially with I/O (some IO may not be rewindable, but lseek(2) may not return error for the IO, e.g.... -
08:02 AM Feature #17753: Add Module#namespace
- > When you assign an integer to a constant, it's just storage. If you assign a class or module object with a name, it's just storage. However, assigning an anonymous class or module object changes the state, it has a side-effect that is ...
-
06:22 AM Bug #19283 (Closed): Regex error on ruby 3.2
-
06:15 AM Bug #19283: Regex error on ruby 3.2
- This error is resolved by releasing ruby 3.2.1. I really appreciate it.
-
05:51 AM Feature #19272 (Rejected): Hash#merge: smarter protocol depending on passed block arity
- It looks nice at the first sight but may cause the compatibility issue as @Eregon mentioned.
Matz.