Activity
From 10/16/2022 to 10/22/2022
10/22/2022
-
10:10 PM Feature #19076: Improve performance Proc#parameters
- If I'm reading the benchmark results correctly, this is slower in the case that the keyword argument is not provided. Is that correct? If so, I don't think we should do this, because it is far more common to not provide a keyword argum...
-
02:44 PM Feature #19076 (Closed): Improve performance Proc#parameters
- Improve performance `Proc#parameters` method(write in Ruby)
benchmark:
```yml
prelude: |
prc = proc{|x, y=42, *other|}
lam = lambda{|x, y=42, *other|}
benchmark:
proc_no_kwarg: |
prc.parameters
proc_given_kwarg: ... -
09:56 PM Feature #19078 (Closed): Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- Pull Request: https://github.com/ruby/ruby/pull/6612
This is an evolution of the previous ideas:
- https://bugs.ruby-lang.org/issues/19058
- https://bugs.ruby-lang.org/issues/19062
This PR introduces fiber scoped variables, and... -
09:55 PM Feature #19077 (Assigned): Introduce `Hash#dup` copy on write.
- Pull Request: <https://github.com/ruby/ruby/pull/6613>.
-
09:40 PM Feature #19058 (Closed): Introduce `Fiber.inheritable` attributes/variables for dealing with shared state.
- The performance cost and complexity of this proposal is too high.
-
01:08 PM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- @sawa With all due respect, I fail to see your point.
For all I know:
* most modern common serialization formats are using specifically "ISO8601 date and time" (which I specifically pointed at, NOT "everything ISO8601 is able to sta... - 10:34 AM Revision 8dfe3bdf (git): Improved formatting of `hash_foreach_iter` functions. (#6615)
-
08:55 AM Feature #19075: Binary searching for the last element
- I was only thinking of adding a new method, but an optional argument for `bsearch` also seems to be good.
The name of the argument would be as follows?
```ruby
bsearch(target: :first)
bsearch(target: :last)
```
-
02:15 AM Feature #19075: Binary searching for the last element
- Looks reasonable.
An alternative could be to add an optional (keyword) argument to `bsearch` and `bsearch_index`.
Do you consider the separated methods will be better?
About find-any mode, the last option (3) sounds something bet... -
08:08 AM Revision 2c1b1eae (git): merge revision(s) f88bff770578583a708093f4a0d8b1483a1d2039:
- [ruby/net-http] Revert "Replace Timeout.timeout in Net:HTTP#connect"
This reverts commit https://github.com/ruby/net-http/commit/753cae3bbccc.
https://github.com/ruby/net-http/commit/98caa38204
---
lib/... -
08:08 AM Revision 3f3aebc2 (git): merge revision(s) ac1bb6b51032ad8d34a1060f5f6b5b10b60dc183:
- [ruby/net-http] Rename `D` to `debug` in `Net::HTTP`
Renames `D` to `debug` in `Net::HTTP` and introduces an alias for
backwards compatibility. This was done for readability reasons, in that
`D` did not clearly r... -
08:01 AM Revision 420bdba1 (git): [rubygems/rubygems] Allow upcoming JRuby to pass keywords for Kernel#warn
- jruby-head (which will be JRuby 9.4.0.0) can now properly process
the keywords to Kernel#warn. I cannot think of any capability based
test for this so I constrained it using a version guard. Only JRuby
will ever hit the version guard.
... -
07:46 AM Revision 0d697e34 (git): Add [Feature #19013] to NEWS [ci skip]
-
01:46 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- ufuk (Ufuk Kayserilioglu) wrote in #note-4:
> I think allowing the `dup` method on `Data` instances to take optional keyword arguments would be the ideal API for this
I had a strong visceral "no" reaction to this. To a certain extent...
10/21/2022
-
10:30 PM Feature #19075 (Closed): Binary searching for the last element
- My latest proposal is https://bugs.ruby-lang.org/issues/19075#note-6.
I will leave the initial proposal below.
---
PR: https://github.com/ruby/ruby/pull/6611
(I'm going to talk about `Array` here, but the same argument can be... -
10:13 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- ufuk (Ufuk Kayserilioglu) wrote in #note-4:
> I think allowing the `dup` method on `Data` instances to take optional keyword arguments would be the ideal API for this:
I agree. This is the pattern that Sequel uses for datasets (which... -
09:35 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- Since Ruby already has the [`Object#dup` method](https://ruby-doc.org/core-3.1.0/Object.html#dup-method), I think we don't need to create a new method to duplicate a `Data` instance with potentially slightly different values.
I think al... -
05:22 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- Example from [value_semantics](https://github.com/tomdalling/value_semantics) gem which uses `with` as well:
```ruby
Point = ValueSemantics::Struct.new do
x Numeric
y Numeric
end
# An immutable instance
Origin = Point.new(x:... -
03:05 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- Example from Sorbet which uses `with` as well:
``` ruby
class Point < T::Struct
const :x, Numeric
const :y, Numeric
end
# An immutable instance
Origin = Point.new(x: 0, y: 0)
right = Origin.with(x: 1.0)
up = Origin.with(... -
09:57 PM Revision a11952da (git): Rename `iv_count` on shapes to `next_iv_index`
- `iv_count` is a misleading name because when IVs are unset, the new
shape doesn't decrement this value. `next_iv_count` is an accurate, and
more descriptive name. -
09:56 PM Revision 13bd617e (git): Remove unused class serial
- Before object shapes, we were using class serial to invalidate
inline caches. Now that we use shape_id for inline cache keys,
the class serial is unnecessary.
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> -
09:06 PM Revision 87bb0bee (git): YJIT: Fix page rounding for icache busting
- Previously, we found the current page by rounding the current pointer to
the closest smaller page size. This is incorrect because pages are
relative to the start of the address we reserve. For example, if the
starting address is 12KiB mo... -
08:28 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- > I think it is impossible to implement the method even in the future because a Fiber cannot be duplicated.
Of course, it is impossible directly.
I just might imagine that _if_ it would be a common stumbling question for consuming e... -
01:21 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- zverok (Victor Shepelev) wrote in #note-7:
> I think it is totally Ok for the first implementation
Not only "the first implementation". I think it is impossible to implement the method even in the future because a Fiber cannot be dup... -
12:11 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- @knu
Re:
> "But I'm skeptical about the usefulness of the `consuming?` flag" (from dev.log)
I believe it is extremely useful for introspection. For example the method like shown in the original ticket:
```ruby
def parse(enumera... -
12:04 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- @mame
> To be honest, I'm not sure which ones are consuming and which ones are not.
Which is one of the points of this ticket! The distinction is internally present (as displayed in original code samples) but never spelled out and... -
08:25 PM Revision 8bbcb753 (git): YJIT: Read rb_num_t as usize early
- This patch makes sure that we're not accidentally reading rb_num_t
instruction arguments as VALUE and accidentally baking them into
code and marking them. Some of these are simply moving the cast earlier,
but some of these avoid potentia... -
07:42 PM Revision c7754a4d (git): [DOC] Add link targets (#6602)
-
06:44 PM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- @duerst (Martin Dürst), @zverok (Victor Shepelev)
In short, I think you two misinterpreted my comment. I never wrote that the order of the units is wrong. I am talking about the combination of the units (thus, I wrote *arbitrarily select... -
09:16 AM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- @matz Understood, thanks, I'll adjust the PR.
@sawa, for the sake of the argument
> The sequence `[year, month, mday, hour, min, sec, subsec]` is culturally biased and is arbitrarily selected.
I don't think this statement is fair.... -
08:39 AM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- sawa (Tsuyoshi Sawada) wrote in #note-3:
> I have another reason against `deconstruct`. The sequence `[year, month, mday, hour, min, sec, subsec]` is culturally biased and is arbitrarily selected.
There's a bit of cultural bias, but ... -
05:44 AM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- I have another reason against `deconstruct`. The sequence `[year, month, mday, hour, min, sec, subsec]` is culturally biased and is arbitrarily selected. For example, following the fact that month is a highly irregular concept, some peop...
-
05:57 PM Revision f2ae5811 (git): In init_copy, set shape after copying ivars
- GC uses shapes to determine IV buffer width. Since allocation can
trigger GC, we need to ensure we only set the shape once we've fully
allocated new memory for the IV buffer, otherwise the GC can end up
trying to mark invalid memory. -
03:24 PM Bug #19053: Build errors in the WebAssembly case
- > The pre-built SDK is built on Ubuntu, and it expects the build machine to have libtinfo.so.6 with proper .gnu.version_d section.
I was told in the Fedora project that this issue is a known issue on the Fedora ncurses RPM package inc... -
02:25 PM Revision 45d92966 (git): Revert "merge revision(s) b9083c206aa02a824970e809d66607dd2c1a90f1:"
- This reverts commit 97e50a056e795f6551cae2f07a9996f4adf73a1f.
-
02:12 PM Revision 35e03a44 (git): [ruby/stringio] [DOC] Enhanced RDoc for StringIO
- (https://github.com/ruby/stringio/pull/36)
Treats:
- #each_codepoint
- #gets
- #readline (shows up in doc for module IO::generic_readable, not class
StringIO)
- #each_line
https://github.com/ruby/stringio/commit/659aca7fe5 -
01:52 PM Revision 0cbfccd6 (git): merge revision(s) 7e24ebc649b9b12e5fc704d7fc7563aeaf589e03:
- Disable msystem: MINGW64 job on GitHub Actions (#6545)
---
.github/workflows/mingw.yml | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-) -
01:48 PM Revision 74d70932 (git): merge revision(s) 881bc2a1765e7c19ab389c53841adc5ac329f1aa:
- Skip running a DRb test on MinGW
It hangs even after a retry
https://github.com/ruby/ruby/runs/7966439530?check_suite_focus=true
We contacted GitHub Suppport about this before, and we concluded that
the ... -
01:47 PM Revision 29414e00 (git): merge revision(s) 232e2f598103c8eda37d08913665b72b6f787e3f:
- Skip TupleSpaceProxyTest on MINGW64 too
It wasn't specific to UCRT64
https://github.com/ruby/ruby/runs/7062992464
---
test/rinda/test_rinda.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
01:47 PM Revision 192aed9f (git): merge revision(s) 49d59215506a30c8a11766627f7af0cdfe0de9d4:
- Fix Rinda test teardown for omitted tests
New test failures on MINGW appeared after
c2e37c8ff7da395f33fae546d9ae9e2408fc9236.
1) Error:
Rinda::TupleSpaceProxyTest#test_00_template:
... -
01:46 PM Revision ad126996 (git): merge revision(s) c2e37c8ff7da395f33fae546d9ae9e2408fc9236:
- Try skipping TupleSpaceProxyTest on MinGW UCRT64
As you all know, MinGW UCRT64 CI has randomly got stuck despite its
"Finished tests" output.
Looking at the logs closely, it seems like all of the recent such
... -
01:42 PM Revision 959a9fc4 (git): merge revision(s) 137e69b48153dfd47851a1548eeefc6c7c843e92:
- Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/action... -
01:41 PM Revision d819d15d (git): merge revision(s) 9deacb31552e01f1688cc95774c8de735d711443:
- Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compar... -
01:38 PM Revision 97e50a05 (git): merge revision(s) b9083c206aa02a824970e809d66607dd2c1a90f1:
- [MSWin] Cache installed vcpkg packages
---
.github/workflows/windows.yml | 7 +++++++
1 file changed, 7 insertions(+) -
01:38 PM Revision b31a7073 (git): merge revision(s) 7ce3a100f2aef897ee1062dcda23b70cd5574866:
- Fold command line items
---
.appveyor.yml | 28 +++++++++++++++++++++++++---
.github/workflows/windows.yml | 7 +++++--
2 files changed, 30 insertions(+), 5 deletions(-) -
01:35 PM Revision 5fe7a7ad (git): merge revision(s) c54eac661350be3c5b991eff349080910966add3:
- Show tool versions
---
.github/workflows/mingw.yml | 12 ++++++++++++
1 file changed, 12 insertions(+) -
01:32 PM Revision 6ea0a235 (git): bump patchlevel
-
12:39 PM Revision f88bff77 (git): [ruby/net-http] Revert "Replace Timeout.timeout in Net:HTTP#connect"
- This reverts commit https://github.com/ruby/net-http/commit/753cae3bbccc.
https://github.com/ruby/net-http/commit/98caa38204 -
11:24 AM Revision ededdf7d (git): Bump up rbs-2.7.0
-
11:23 AM Misc #19074 (Closed): DevMeeting-2022-12-01 (postponed from 11-17)
- # The next dev meeting
**Date: 2022/11/17 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-12-01.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu... -
11:23 AM Misc #19040 (Closed): DevMeeting-2022-10-20
-
11:04 AM Misc #18987 (Closed): [ANN] Sunsetting svn.ruby-lang.org
- done.
-
09:54 AM Revision 1931c787 (git): merge revision(s) 41516b35418d6108c75d9f2190a846ded6a47108:
- Extract bundled gems by BASERUBY
---
common.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) -
08:18 AM Bug #18983 (Closed): Range#size for beginless Range is not nil.
- Applied in changeset commit:git|e026368061c56bc925aff58910a4b02f18b78c70.
----------
Range#size returns nil for (.."a") and (nil..)
Fixes [Bug #18983] -
04:41 AM Bug #18983: Range#size for beginless Range is not nil.
- Oops, I missed the attached patch. Sorry
-
04:41 AM Bug #18983: Range#size for beginless Range is not nil.
- https://github.com/ruby/ruby/pull/6604
-
08:17 AM Revision 782bb163 (git): merge revision(s) 91c05b34cd9ca9120c4a5e5e9fe772f2f0d1f6a3:
- Bundled gems test needs `prepare-gems`
`prepare-gems` downloads and extracts the bundled gems, and these gems
are built by `build-exts` now.
---
.github/workflows/bundled_gems.yml | 5 +++++
.git... -
07:35 AM Revision e0263680 (git): Range#size returns nil for (.."a") and (nil..)
- Fixes [Bug #18983]
-
07:23 AM Revision e9be76dc (git): merge revision(s) 44a0a66559ee4a03a84c27feca05e9b1b0f59df8:
- Move to tool/lib/bundled_gem.rb
---
common.mk | 6 +++---
defs/gmake.mk | 4 ++--
tool/gem-unpack.rb | 53 -----------------------------------------------
tool/lib/... -
07:17 AM Revision 833076de (git): merge revision(s) abfd859b139545110e1fcdd8e99575d5e0bfb4e4:
- Remove github and git related files from extracted bundled gems
---
common.mk | 3 ++-
defs/gmake.mk | 1 +
2 files changed, 3 insertions(+), 1 deletion(-) -
06:35 AM Revision 939f8c0e (git): merge revision(s) de9c612d6342ae2ea5ae1e46b27abecf17c439b5:
- Also the tests should use the configured pkg-config
---
test/mkmf/test_pkg_config.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) -
06:20 AM Revision e8cb6dae (git): merge revision(s) 518301883edee12218657c77ba977e2bde1b17d0:
- Fix parallel build on MINGW
When the build is running with a base ruby then generating `x64-ucrt-ruby320.rc`
could fail due to a missing dependency to `x64-mingw-ucrt-fake.rb`.
This commit adds this dependency.
... -
06:19 AM Revision bef621fc (git): merge revision(s) 6f5305e0d2b4711b186ece8160716c7f9439ea8d:
- Exclude LIBPATHENV wrapper from PREP
---
common.mk | 4 ++--
configure.ac | 2 +-
template/Makefile.in | 2 ++
3 files changed, 5 insertions(+), 3 deletions(-) -
06:18 AM Revision 000cb224 (git): merge revision(s) bc5b9be1ee44817614bc8311e671fc79ca730625:
- Move duplicate dependencies
---
common.mk | 2 ++
template/Makefile.in | 5 -----
win32/Makefile.sub | 2 --
3 files changed, 2 insertions(+), 7 deletions(-) -
06:14 AM Revision 905a1eb6 (git): merge revision(s) cdfb0272131ed8ef078d371556c2cad40b31d2fb:
- Run find in PATH [ci skip]
---
template/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
06:13 AM Revision ad1cc916 (git): merge revision(s) 0114c72df0dd4c6df3766bc32f4cadd939b3b0f4:
- Clean intermediate files for update-deps [ci skip]
---
template/Makefile.in | 1 +
1 file changed, 1 insertion(+) -
06:12 AM Revision c740605d (git): merge revision(s) 97ce030954dab3f219779e235bee53ba408fbaca:
- Load fake.rb at `BTESTRUBY`
So that `mkmf` checks work from `make run`, and also remove
duplicate `$(MINIRUBYOPT)` which is used in `$(MINIRUBY)`.
---
common.mk | 8 ++++----
template/... -
06:01 AM Revision 57d14154 (git): merge revision(s) 9de11fe796e8caca2d87650278028eb95c1e09a0:
- Quiet if the target is already linked the same source
---
ext/extmk.rb | 2 +-
tool/ln_sr.rb | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-) -
06:01 AM Revision 022ab258 (git): merge revision(s) 59eadf3d25b0f53e7570f98f1801737af642f328:
- Ignore EACCES on Windows
---
tool/ln_sr.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
06:01 AM Revision 4388849a (git): merge revision(s) e5e6b87e265b95620821f7abac56b5ab90d4c1fd:
- Create temporary file exclusively and clean
---
ext/extmk.rb | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-) -
05:57 AM Revision 0146681d (git): merge revision(s) 6af7212004c0b98f09350b53a032f94f3a1e666c:
- Make extensions under `Gem.extension_api_version` directory
---
ext/extmk.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) -
05:56 AM Revision 3f3a5ec0 (git): merge revision(s) 6c1d7dab52b9bd26cbb624634b4acb86ba37aa7f:
- Fix conversion from absolute path to relative path
---
tool/ln_sr.rb | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-) -
05:55 AM Revision 5822577a (git): merge revision(s) c093e7d64545640c8f2e7bb3eb24e3f9e24fb1c5:
- Avoid to symlink under symlink
---
ext/extmk.rb | 2 +-
tool/ln_sr.rb | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-) -
05:54 AM Revision d8c23293 (git): merge revision(s) 78d2be69b500e4552e0e75fdefd26606a0506009:
- Move copying/linking extra files to Makefile so removed by `clean`
---
ext/extmk.rb | 81 ++++++++++++++++++++++++-----------------
tool/ln_sr.rb | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++... -
05:52 AM Revision c5a0856b (git): merge revision(s) ed8c21bbd5071b52d0d0612eadbdad8fe192e974:
- Ensure symlinks to bundled gem with exts have parent dir
When configuring with `--disable-rpath` and `--static-linked-ext` (e.g.
building for WASI), `extmk.rb` doesn't build exts under bundled gems,
and `.bundle/... -
05:51 AM Revision 93d1a2e9 (git): merge revision(s) dcbb94d5b9b4a7d0bfde5ba9a5da1ada643a31b7:
- Move timestamps directory for bundled gems
---
ext/extmk.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-) -
05:18 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
- I think annotation per Fiber will cause conflict in usage between libraries. For example, consider the following library code.
```ruby
def fetch_info_from_url(uri)
Fiber.new do
Fiber.annotate "fetching info from #{ uri }"
... -
05:17 AM Revision 130ee273 (git): merge revision(s) b291c972fa36e05107d13eea25cc445db4b4bec3:
- Use built bundled gems in test-bundled-gems
---
tool/test-bundled-gems.rb | 49 ++++++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 24 deletions(-) -
05:16 AM Revision eb815dfd (git): merge revision(s) e0a7e5e13141a06103673b9d4ff21ca864ec38f9:
- Kill bundled gem tests when interrupted
---
common.mk | 2 +-
tool/test-bundled-gems.rb | 12 ++++++++++--
2 files changed, 11 insertions(+), 3 deletions(-) -
05:02 AM Bug #18731 (Closed): Parallel test-all sometimes does not run at all some tests
- Applied in changeset commit:git|5d4bfaccabe66d89460739ee682f1f78698c93a3.
----------
merge revision(s) ab3cb29bd9bff9c16cfb9d19cc02026998282c12:
Avoid defining the same test class in multiple files
Should fix issues wi... -
05:01 AM Revision 39145812 (git): merge revision(s) 7f1ca666424849134990d022266bcd4d6636465f:
- Fallback PKG_CONFIG to the configured pkg-config always
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
04:41 AM Revision ac0c771d (git): merge revision(s) 019cbded90ade76fdb87d02bd4d444724429fc92:
- mkmf: Add a configure option to set verbose mode (V=1 or 0) in
mkmf.rb.
Note this change is only for `configure.ac`, not for Windows using
`win32/configure.bat`.
```
$ ./configure --help | grep ... -
04:41 AM Revision 1ccdd9ee (git): merge revision(s) bdb7345ce96c641796909abc2dbdac0d4400ca41:
- Use compiled instead of complied
Capitalize creates
---
lib/mkmf.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) -
04:39 AM Revision 82b6b9c5 (git): merge revision(s) 6946263a2994257c6240e52a365700dc573c7ed4:
- [DOC] make internally used classes/methods nodoc
Empty class documents are generated even with `:stopdoc:`.
---
lib/mkmf.rb | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-) -
04:38 AM Revision e5741903 (git): merge revision(s) 7672f6a42390a1a421fb0633e6810a92df7dad7a:
- mkmf: unify duplicate code in pkg_config
---
lib/mkmf.rb | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-) -
04:36 AM Revision 5d4bfacc (git): merge revision(s) ab3cb29bd9bff9c16cfb9d19cc02026998282c12:
- Avoid defining the same test class in multiple files
Should fix issues with parallel testing sometimes not running all
tests.
This should be viewed skipping whitespace changes.
Fixes [Bug #18731]
... -
04:34 AM Revision 83ffa0d8 (git): merge revision(s) acbc2bdd3030bef997919ce56c5b120cc5e91e8f:
- Update the test for [Feature #18615]
---
test/mkmf/test_flags.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
04:33 AM Revision fa5b7185 (git): merge revision(s) 329c89bb42bb44467588afc1d41d9f99172dfeb5:
- Make implicit function declaration error [Feature #18615]
Enable `-Werror=implicit-function-declaration` by default for
building C extensions for early failures.
---
lib/mkmf.rb | 2 +-
1 file ch... -
03:40 AM Revision d07fc4c4 (git): merge revision(s) b90e56e6243f4e6567991bfd2375e1f58b1414a0:
- mkmf: pkg_config accepts multiple options
---
lib/mkmf.rb | 48 +++++++++++++++++++++++---------------------
test/mkmf/test_pkg_config.rb | 7 +++++++
2 files changed, 32 insertions(+),... -
03:38 AM Revision 917df81f (git): merge revision(s) 24c7e75ded461446e7c8e83bbceecccf7bcb4d0e:
- test: backfill coverage for MakeMakefile.pkg_config
---
test/mkmf/test_pkg_config.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 test/mkmf/test... -
03:35 AM Revision e0084d00 (git): merge revision(s) 2304cfa4c08a347f4df4915f88fb062cb12e4eeb:
- Document MakeMakefile#append_cflags
This method is at least 7 years old and is widely used in the wild.
Since we need to support it, let's document it to make it discoverable.
Add docs and move it out of the `# :... -
01:02 AM Revision e72c5044 (git): Check writebarrier arguments only when RGENGC_CHECK_MODE [ci skip]
- The commit 575ae50d16a03ed23357ec4ea0dbf7167fc26c8c was for debugging
the failure triggered by f55212bce939f736559709a8cd16c409772389c8, and
it was fixed at the commit 39f7eddec4c55711d56f05b085992a83bf23159e.
10/20/2022
-
10:42 PM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- I agree with adding `deconstruct_keys` but not others (`deconstruct` and `to_h`).
* positional deconstruction force users to remember the meaning of order of elements (deconstruct)
* even though it's the same behavior to `deconstruct... -
10:12 PM Revision 39f7edde (git): YJIT: Fix gen_expandarray treating argument as VALUE
- The expandarray instruction interpreters its arguments as rb_num_t.
YJIT was treating the num argument as a VALUE previously and when
it has a certain bit pattern, it can look like a GC pointer. The
argument is not a pointer, so YJIT cra... -
09:35 PM Bug #19043: Segfault on macOS 11.7 while using StringScanner in multiple threads
- eightbitraptor (Matthew Valentine-House) wrote in #note-2:
> Have you tried replicating with `GC.auto_compact=true` and `GC.stress=true`?
Thanks for the response. We tried to replicate the crash with `GC.stress=true` but were unabl... -
09:17 PM Revision 29303022 (git): YJIT: remove some stale comments [ci skip]
-
07:43 PM Revision 9a0a165a (git): Check writebarrier arguments
-
07:43 PM Revision 245ad2b3 (git): YJIT: incorporate ruby_special_consts
-
06:59 PM Revision 6aed5b0c (git): Unmark Internal IV test as pending
- Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
-
04:49 PM Bug #19053 (Closed): Build errors in the WebAssembly case
- > For Invalid configuration wasm32-unknown-wasi': system wasi' not recognized error, you need to download the latest config.guess following the README.md build steps.
I was able to run the `configure` after running the `ruby tool/down... -
04:37 PM Bug #19053: Build errors in the WebAssembly case
- > Therefore, you need to build the SDK by yourself on Fedora, then you will be able to build for WASI target.
I built the SDK from the source and installed it on the Fedora, and I was able to build the Ruby by following the [instructi... -
02:30 PM Bug #19053: Build errors in the WebAssembly case
- > I'm not familiar with Fedora environment, but it looks like the pre-built wasi-sdk distributed in GitHub Releases is incompatible with Fedora.
> ...
Thanks for checking it! Let me check the things you mentioned step by step.
First,... -
03:52 PM Bug #19055: Regexp.new(regexp, timeout: nil) is intrupted by Regexp.timeout
- Thanks for the discussion, guys.
So, I think that we need to fix the Regexp timeout's code examples at least in the next Ruby (Ruby 3.2.0 preview3 or official 3.2.0) release note. The comment "# never interrupted" below in the example... -
05:49 AM Bug #19055: Regexp.new(regexp, timeout: nil) is intrupted by Regexp.timeout
- Discussed at the dev meeting.
> Is it though? It's basically breaking the intent of whoever set the global Regexp.timeout.
@matz agreed with this. He decided *not* to allow users to specify "force no timeout per instance, with ignoring... -
03:30 PM Feature #12084 (Closed): `Class#instance`
- Applied in changeset commit:git|0378e2f4a8319440dd65c82b16f189161472d237.
----------
Add Class#attached_object
Implements [Feature #12084]
Returns the object for which the receiver is the singleton class, or
raises TypeError if the re... -
04:09 AM Feature #12084: `Class#instance`
- `attached_object` looks good to me. Accepted.
Matz. -
03:30 PM Revision 0378e2f4 (git): Add Class#attached_object
- Implements [Feature #12084]
Returns the object for which the receiver is the singleton class, or
raises TypeError if the receiver is not a singleton class. -
02:06 PM Revision ecc6a717 (git): merge revision(s) 2d57447ae80e0b0895d6d22d606391b48516ba93:
- Fix missing replacement in 1f91dcdab3b
---
template/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
01:10 PM Feature #19066: Enable Scorecard Github Action
- Sure, feel free to explore it. It is very simple to enable, to be honest. If you need some help, feel free to reach out to me.
-
08:42 AM Feature #19066 (Assigned): Enable Scorecard Github Action
- Hi, @joycebrum, Thanks to introduce Scorecards.
I try to setup scorecards action on ruby/ruby repository at first. -
01:05 PM Revision 192bc725 (git): Define `UNDEF_P` and `NIL_OR_UNDEF_P` [EXPERIMENTAL]
-
01:05 PM Revision f55212bc (git): Move "special consts" so `Qundef` and `Qnil` differ just 1 bit
-
12:58 PM Revision 1e66d3b8 (git): Ignore manual files only commits [ci skip]
-
12:33 PM Revision 4bb62ee5 (git): merge revision(s) 6a8f1a9e5cd1c9c2b3c6925d8d3fa76a29dabf73:
- Copy from bundled gem source for test
---
common.mk | 13 +++++++----
defs/gmake.mk | 4 ++++
tool/gem-unpack.rb | 63 +++++++++++++++++++++++++++++++++++-------------------
3 file... -
12:30 PM Bug #19073: openssl gem 3.0.0 problem
- rhenium (Kazuki Yamaguchi) wrote in #note-3:
> Yes, openssl issues should go to the GitHub.
> ...
I just managed to try the other two combinations of ruby and gem versions, and a bit unexpected, it seems it actually depends on the ruby... -
12:09 PM Bug #19073 (Third Party's Issue): openssl gem 3.0.0 problem
- Yes, openssl issues should go to the GitHub.
But we need a way to reproduce the problem, or at least some clues, to investigate further. As a starter, you can try other combinations, such as Ruby 3.0.x + openssl 3.0.x or Ruby 3.1.x + ... -
11:29 AM Bug #19073: openssl gem 3.0.0 problem
- retro (Josef Šimánek) wrote in #note-1:
> Can you share more details to reproduce like Dockerfile? Also if I understand it well, Ruby OpenSSL issues are tracked at https://github.com/ruby/openssl/issues now.
Sorry, no. Ok, I wasn't a... -
11:18 AM Bug #19073: openssl gem 3.0.0 problem
- Can you share more details to reproduce like Dockerfile? Also if I understand it well, Ruby OpenSSL issues are tracked at https://github.com/ruby/openssl/issues now.
-
11:10 AM Bug #19073 (Third Party's Issue): openssl gem 3.0.0 problem
- We have a server using openssl 3.0.3 (i.e. written i C).
This has worked with all kinds of different clients (ruby, C, java...) without any problem... except now, with the latest ruby gem, openssl 3.0.0.
The behavior is odd: It suc... -
12:22 PM Revision 46c2bf37 (git): merge revision(s) 87d8d25796df3865b5a0c9069c604e475a28027f:
- Use configured GIT
---
common.mk | 4 ++--
defs/gmake.mk | 68 +++++++++++++++++++++++++++++------------------------------
2 files changed, 36 insertions(+), 36 deletions(-) -
12:18 PM Revision 19ef027d (git): merge revision(s) abc4a46046c326263683a8b3611775c2ddd56a71:
- Get rid of building main again when test-bundled-gems
---
.github/workflows/ubuntu.yml | 1 +
.github/workflows/yjit-ubuntu.yml | 1 +
common.mk | 3 ++-
defs/gmake.m... -
12:16 PM Revision 5932b426 (git): merge revision(s) 071653ecd79287661c795400797a5402c4322129:
- Run the prerequisites of test-bundled-gems in order
---
common.mk | 6 +++++-
defs/gmake.mk | 7 ++++++-
2 files changed, 11 insertions(+), 2 deletions(-) -
12:09 PM Feature #19062 (Closed): Introduce `Fiber#locals` for shared inheritable state.
- After many discussion, I think it's fair to say, `dup` by default makes the most sense, and with that model, it could be considered more local. So I'll open a new proposal with the refined design.
-
06:48 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- At least it shouldn't be named `locals` since it's not **local** to a fiber.
Maybe `storage`?
Matz.
-
11:30 AM Revision 72e9097d (git): merge revision(s) 4f1e0bfacd93c28bff549e2f3603c3b4942429a3:
- Followed up CVE-2022-39253 for bundler examples
---
spec/bundler/cache/git_spec.rb | 3 +++
spec/bundler/install/gemfile/git_spec.rb | 9 +++++++++
spec/bundler/update/git_spec.rb | 3 ... -
11:30 AM Revision fbf4bec4 (git): merge revision(s) dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b:
- Bypass git submodule add/update with git config
protocol.file.allow=always option.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
test/rubygems/test_gem_source_git.rb | 5 +++++
1 fil... -
10:20 AM Feature #18559 (Closed): Allocation tracing: Objects created by the parser are attributed to Kernel.require
- This was implemented by @ko1 in e35c528d721d209ed8531b10b46c2ac725ea7bf5
I tested it on our system it has the desired effect. Thank you! -
10:09 AM Feature #19072 (Closed): Reminder: Remove ABI version suffix like "3.2.0+2" from release version
- The development version of Ruby 3.2.0 added ABI version suffix like `+2`. It will remove at the final release of Ruby 3.2.0.
@nobu said it's already implemented on our package script(?). But We should check it before the final release. -
09:25 AM Feature #19063: Hash.new with non-value objects should be less confusing
- austin (Austin Ziegler) wrote in #note-4:
> This mistake is much more common than I would have thought, and it appears in some fairly large projects (not everyone may have access to this result because cs.github.com is still apparently ... -
02:45 AM Feature #19063: Hash.new with non-value objects should be less confusing
- Summary so far
### Is there any example of `Hash.new([])` being used intentionally?
Yes. [Shugo's example](https://github.com/shugo/textbringer/blob/65dff909295f14f466f7b27e824ea36fe1f9ddd7/bin/merge_mazegaki_dic#L5) is a valid usa... -
02:41 AM Feature #19063: Hash.new with non-value objects should be less confusing
- austin (Austin Ziegler) wrote in #note-8:
> Edit on a couple of these. The GitLab behaviour, and @shugo’s code both do `hash[key] |= value_list`, so they *do* effectively do `hash[key] = value_list`, which makes them safer to use *in the... -
08:38 AM Revision e35c528d (git): push dummy frame for loading process
- This patch pushes dummy frames when loading code for the
profiling purpose.
The following methods push a dummy frame:
* `Kernel#require`
* `Kernel#load`
* `RubyVM::InstructionSequence.compile_file`
* `RubyVM::InstructionSequence.load_fr... -
08:21 AM Bug #19067 (Rejected): Module methods not usable at toplevel under wrapped script
-
08:21 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- `load "foo.rb"` should work (similar enough) with or without wrapping module. In that sense, replacing `self` is unacceptable.
Probably you want to get the "target class/module" which is the target of constant/method definitions. I have... -
08:11 AM Feature #18462 (Closed): Proposal to merge WASI based WebAssembly support
- Updating the ticket status to say that WebAssembly/WASI support has been upstreamed by https://github.com/ruby/ruby/pull/5407
Some examples can be found here: https://github.com/ruby/ruby.wasm
-
07:58 AM Misc #18987: [ANN] Sunsetting svn.ruby-lang.org
- Unfortunately, we lost subversion server on svn.ruby-lang.org when I failed to migrate its server.
I will do the following works:
* Redirect `svn.ruby-lang.org` to `git.ruby-lang.org`.
* Backup and cleanup subversion data.
* Rem... -
06:35 AM Bug #18998 (Closed): Kernel#Integer does not convert SimpleDelegator object expectly
- Applied in changeset commit:git|7563604fb868d87057733f52d780d841fc1ab6bb.
----------
[Bug #18998] Honor `#to_str` next to `#to_int` in `Kernel#Integer` -
06:35 AM Revision 7563604f (git): [Bug #18998] Honor `#to_str` next to `#to_int` in `Kernel#Integer`
-
06:02 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
- For the record, I write down the concerns:
* I don't see the convenience of `Fiber.annotate`. Convince me.
* Users need to understand how to use `Fiber#annotation` wisely. Need documents.
* The state should be stacked, not overridde... -
05:36 AM Revision 4f1e0bfa (git): Followed up CVE-2022-39253 for bundler examples
-
05:30 AM Bug #19033: One-liner pattern match as Boolean arg syntax error
- mame (Yusuke Endoh) wrote in #note-6:
> Note that `foo(1, 2, 3 in ary)` could be inherently ambiguous. It can be interpreted as `foo((1, 2, 3 in ary))` or `foo(1, 2, (3 in ary))`.
Agreed, these are difficult edge cases, and trying to... -
05:28 AM Bug #19033: One-liner pattern match as Boolean arg syntax error
- Note that `foo(1, 2, 3 in ary)` could be inherently ambiguous. It can be interpreted as `foo((1, 2, 3 in ary))` or `foo(1, 2, (3 in ary))`.
-
04:16 AM Bug #19033 (Rejected): One-liner pattern match as Boolean arg syntax error
- I can understand the feeling the `a in b` should be accepted as an argument expression. But in reality, it needs huge effort to modify the parser.
I don't think it worth both cost and complexity. If someone comes up with the pull-reques... -
04:32 AM Bug #18983: Range#size for beginless Range is not nil.
- I agree with inconsistency; if edges were numeric, return the count (or Infinity), otherwise it should return nil.
`nil .. nil` can be considered as numeric-range both edge omitted, but at the moment I feel it should return nil as well.... -
02:49 AM Revision 0a43a040 (git): [DOC] Fix RUBY_SYMBOL_FLAG comment [ci skip]
- Upper bits than the least significant 4 bits need not be 0.
-
12:47 AM Revision b963fb25 (git): YJIT: Respect writable_addrs on --yjit-dump-iseq-disasm as well (#6596)
- YJIT: Respect writable_addrs on --yjit-dump-iseq-disasm
as well -
12:45 AM Revision 2e3b764a (git): Remove a leftover comment [ci skip]
- 12:38 AM Revision 7f175e56 (git): Avoid missed wakeup with fiber scheduler and Fiber.blocking. (#6588)
- * Ensure that blocked fibers don't prevent valid wakeups.
-
12:20 AM Revision d9d9005a (git): MJIT: Stop using the VM barrier for jit_cont
- This solves multiple problems.
First, RB_VM_LOCK_ENTER/LEAVE is a barrier. We could at least use the
_NO_BARRIER variant.
Second, this doesn't need to interfere with GC or other GVL users when
multiple Ractors are used. This needs to b...
10/19/2022
-
07:47 PM Feature #19071: Add Time#deconstruct, #deconstruct_keys, and #to_h
- My first reaction seeing the example usage: they seem more for `Date` than `Time`, but I can see this being useful for both :)
-
07:21 PM Feature #19071 (Closed): Add Time#deconstruct, #deconstruct_keys, and #to_h
- I believe that `Time` being suitable for pattern-matching is a reasonable feature with many possible usages, which will increase usability of `Time` and would be a good show case for pattern matching.
**Implementation decisions**
`... -
07:36 PM Revision 0d360ee7 (git): YJIT: Skip dumping code for the other cb on --yjit-dump-disasm (#6592)
- YJIT: Skip dumping code for the other cb
on --yjit-dump-disasm -
06:44 PM Revision 9da0d4ca (git): YJIT: fix a #[warn(unused_parens)]
-
06:06 PM Revision 0aaa6133 (git): Transition frozen string to frozen root shape
- Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
-
06:03 PM Revision 5ca23caa (git): YJIT: fold the "asm_comments" feature into "disasm" (#6591)
- Previously, enabling only "disasm" didn't actually build. Since these
two features are closely related and we don't really use one without the
other, let's simplify and merge the two features together. -
04:29 PM Misc #18984: Doc for Range#size for Float/Rational does not make sense
- I think this is a bug. Since `(0.51..5.quo(2)).count` raises a `TypeError` and `(0.51..5.quo(2)).size` is supposed to follow that, it should raise a `TypeError` as well.
-
03:34 PM Revision bc939d29 (git): [DOC] More about line number (#6582)
-
03:33 PM Revision c32180d5 (git): [ruby/stringio] [DOC] Enhanced RDoc for StringIO
- (https://github.com/ruby/stringio/pull/35)
Treated:
- #getc
- #getbyte
- #ungetc
- #ungetbyte
- #readchar
- #readbyte
- #each_char
https://github.com/ruby/stringio/commit/6400af8d9f -
02:54 PM Revision eeea633e (git): Stop zeroing memory on allocation / copy
- Shapes gives us an almost exact count of instance variables on an
object. Since we know the number of instance variables that have been
set, we will never access slots that haven't been initialized with an
IV. -
01:55 PM Revision 412e3c7a (git): Assert for RTEST that Qnil and Qfalse differ just 1 bit
-
01:20 PM Revision 1db6249c (git): merge revision(s) 1f91dcdab3b530dde93fa29fba8bf60683cd8056:
- Define BOOTSTRAPRUBY from HAVE_BASERUBY
---
common.mk | 1 +
configure.ac | 8 --------
template/Makefile.in | 7 +++++--
win32/Makefile.sub | 6 ++++--
4 files chang... -
01:03 PM Revision 86096a91 (git): [rubygems/rubygems] Use [] instead of double-quotes
-
12:10 PM Revision a25c0338 (git): Suppress warning for fgrep
- >fgrep: warning: fgrep is obsolescent; using ggrep -F
-
11:51 AM Feature #19063: Hash.new with non-value objects should be less confusing
- baweaver (Brandon Weaver) wrote in #note-29:
> I would also be very positive of this change, potentially for Array as well, to make this visible to folks working in the language.
For Array it doesn't make sense since the default valu... -
12:52 AM Feature #19063: Hash.new with non-value objects should be less confusing
- etienne (Étienne Barrié) wrote in #note-24:
> While I like the idea of checking the arity of the block, maybe the core issue isn't entirely with the API for `Hash.new`, but the fact that default value/default proc are not visible. From ... -
12:39 AM Feature #19063: Hash.new with non-value objects should be less confusing
- austin (Austin Ziegler) wrote in #note-4:
> **Note**: At least two of the examples later use `hash[key] |= values`, which is assignment, not resulting in the possible reuse of the default value in general. Others may result in the same.... -
12:34 AM Feature #19063: Hash.new with non-value objects should be less confusing
- Adding a new element in the default proc will add by just referencing.
I'm not for doing it implicitly. -
11:42 AM Feature #19070: Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
- Doesn't `Ripper.lex` already provide this information?
-
10:20 AM Feature #19070 (Closed): Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
- # Background
Implementation for Language Server Protocol (LSP) sometimes needs token information. For example both `m(1)` and `m(1, )` has same AST structure other than node locations then it's impossible to check the existence of `,`... -
11:34 AM Revision dae843f6 (git): Bypass git submodule add/update with git config protocol.file.allow=always option.
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
- 10:49 AM Revision 567725ed (git): Fix and improve coroutines for Darwin (macOS) ppc/ppc64. (#5975)
- 05:53 AM Revision fc3137ef (git): Add support for anonymous shared IO buffers. (#6580)
-
04:19 AM Feature #19069: Default value assignment with `Hash.new` in block form
- @nobu (Nobuyoshi Nakada) I interpret that your concern is that the hash will grow endlessly by random referencing (unintentionally or by an attack). I have some possible alternative modifications to the proposal for that.
1. Warn when a... -
12:33 AM Feature #19069: Default value assignment with `Hash.new` in block form
- Adding a new element in the default proc will add by just referencing.
I'm not for doing it implicitly, and ditto for #19063. -
03:37 AM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
- > And if we use its naming convention for the 4 colours, they'll be:
> ...
Sounds good. I think it'd be also fair to make the APIs a bit more consistent by using `selection_foreground_color` and `selection_background_color`, but then yo... -
02:27 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- zverok (Victor Shepelev) wrote in #note-3:
> `File#each_line` is consuming by design, if I understand correctly.
Well, I guess so. To be honest, I'm not sure which ones are consuming and which ones are not.
> ...
I think this is a... -
12:14 AM Revision f982a263 (git): [DOC] Fix typo in Enumerable#slice_before
-
12:12 AM Revision 18b96d8a (git): [ruby/stringio] [DOC] StringIO doc enhancements
- (https://github.com/ruby/stringio/pull/33)
Treated:
- ::new
- ::open
- #string
- #string=
- #close
- #close_read
- #close_write
- #closed?
- #closed_read?
- #closed_write?
- #eof?
https://github.com/ruby/stringio/commit/be9b64d739 -
12:11 AM Revision 1654f88c (git): sync_default_gems.rb: commit all after replaced rdoc-ref [ci skip]
10/18/2022
-
11:52 PM Revision 01d56b99 (git): [DOC] Fix rdoc-ref
-
09:33 PM Bug #19041: Weakref is still alive after major garbage collection
- tenderlovemaking (Aaron Patterson) wrote in #note-7:
> That method may not be putting the object in a register. Something else may have put it in a register or in the stack, and it just happens that no other machine code has overwritte... - 08:03 PM Revision 12c30f21 (git): Fixes remaining issues and turns back on dead code and unused (#6584)
-
06:41 PM Revision 6bd72a64 (git): [DOC] Enhanced RDoc for StringIO (#34)
- Treated:
- #lineno
- #lineno=
- #binmode
- #reopen
- #pos
- #pos=
- #rewind
- #seek
- #sync
- #each_byte - 06:19 PM Revision b2ba71df (git): Code clean around unused code for some architectures or features (#6581)
-
05:49 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- mame (Yusuke Endoh) wrote in #note-2:
> But it introduces yet another new type of Enumerator (unrewindable Enumerator?), which is very complicated.
It's more complicated, but unrewindable enumerators already exist in practice (as sho... -
12:05 PM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- For problem 1 you can check if an IO is seekable, and this would tell you whether you could restart from the beginning.
-
11:18 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- > Here is my understanding
This is correct.
> ...
That's an interesting problem indeed! I'll look deeper into it.
But for now, I consider it an edge case that can be, in the worst case, just covered by docs. E.g. something like ... -
08:06 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
- Here is my understanding:
```ruby
[1, 2, 3].each.consuming? #=> false
$stdin.each_line.consuming? #=> true
# A user must guarantee whether it is consuming or not.
Enumerator.new {}.consuming? #=> false
Enumerator.new... -
04:07 PM Revision e7166c9b (git): Allow passing a Rust closure to rb_iseq_callback (#6575)
-
03:56 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
- If we want to establish naming convention based on terminal apps, I think I'd pick `iTerm2` as the reference because 1) its very popular and 2) it allows more customisation than `Terminal.app`:
: [DOC] Link to packed data doc (#6567)
- * Link to packed data doc
* Update pack.rb
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
* Update pack.rb
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
* Update pack.rb
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
Co-authored-by:... -
02:45 PM Bug #19065: ruby 3.1.2 is printing all class variables for undefined error
- Ok thanks for the info
-
01:50 PM Revision 3e05dff6 (git): merge revision(s) 6a43245e6cda89eddd105f5a6e0182a7229657af:
- Use BOOTSTRAPRUBY_COMMAND instead of fake.rb directly
---
common.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
01:27 PM Revision 671811a8 (git): merge revision(s) d8f81ffdff668b457339885c15d7cee785ad38be:
- builtin.c includes mini_builtin.c when cross-compiling
---
common.mk | 3 +++
1 file changed, 3 insertions(+) -
12:50 PM Revision 75539c2d (git): merge revision(s) 85a483169f8381bec08ff2c9a9fc66167fc8a84a:
- Use cross compiling settings as fake.rb for snapshots
---
tool/make-snapshot | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
12:48 PM Revision 5f8c6549 (git): merge revision(s) 76664905a589416739a13241e7b8535d78984723:
- Ignore fake.rb for snapshot
---
common.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) -
12:47 PM Revision c65bdad1 (git): merge revision(s) 45004bba6b4fa22429b1c45f13444a894874c41e:
- fake.rb needs id.h
---
common.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) -
12:46 PM Revision 09c8604b (git): merge revision(s) 2767cb282531be10c6393d3d7c48fcdd2935ca4d:
- Now fake.rb is needed to prepare sources
---
tool/make-snapshot | 1 +
1 file changed, 1 insertion(+) -
12:46 PM Revision 9b1cf2c2 (git): merge revision(s) 762fca9b12b9cfb0159404c95ee4275100169c17:
- Prefer `File` class methods to write a string
---
tool/make-snapshot | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-) -
12:44 PM Revision fbebe493 (git): merge revision(s) a01271c1c46079cb6f7f32051f1253cf3d9bca6b:
- BOOTSTRAPRUBY needs fake.rb when cross-compiling
---
configure.ac | 1 +
1 file changed, 1 insertion(+) -
12:44 PM Revision fed41160 (git): merge revision(s) 7b11247b4dc6b04c3ba3876009145ce0dbf78662:
- Fix potential target type confliction [ci skip]
---
common.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
12:42 PM Revision 8e74bfb6 (git): merge revision(s) 7c67d0fd79a3cffe857587fa3cf576b611023840:
- Make sources by BASERUBY if available instead of miniruby
---
common.mk | 25 +++++++++++++++----------
configure.ac | 6 +++++-
cygwin/GNUmakefile.in | 4 ++--
template/Ma... -
12:40 PM Revision 0bdf9c4e (git): merge revision(s) 21a5da3c4c803987c48bc9ca588948c50715631a:
- Check if MSys shell can run a command with a drive letter
---
configure.ac | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-) -
12:32 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > One of the problems I'm trying to solve is behavioural changes due to the internal fiber of enumerator. Can you propose some other way to fix this?
Maybe Enumerator-created Fiber should always use the Fiber locals of the caller Fibe... -
12:06 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > So in the context of creating a fiber, it's 30% slower. That's quite significant.
It's less than that on my machine, more like 20%, also it would be sligthly faster than that since done from C, so no method lookup etc.
```
Warmi... -
11:55 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- ```
Warming up --------------------------------------
baseline 287.720k i/100ms
locals-dup 229.210k i/100ms
Calculating -------------------------------------
baseline 2.922M (± 0.7%) i/s - ... -
11:44 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Sorry but that's not remotely a good benchmark. We're talking about a potential overhead, so it has to be considered relative to the exiting work.
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem... -
11:26 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- If we were concerned about having a separate but similarly inheritable scope for Threads, maybe we should have this model:
```
Thread.locals -> child threads will inherit
Fiber.locals -> initially blank and only propagated to other fibe... -
11:20 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > It's extremely negligible.
Okay, good to know.
```ruby
require 'benchmark'
locals = {a: 1, b: 2, c: 3}
Benchmark.bm do |b|
b.report("dup") {1_000_000.times{x = locals.dup}}
b.report("assign") {1_000_000.times{x = loc... -
11:05 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > It's not thread unsafe to update the locals in Ruby because of the GVL.
We should not design general semantics based on a CRuby-only implementation detail.
It is thread unsafe and could crash other Ruby implementations for instance... -
10:37 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > I'm concerned about the memory and performance cost of calling dup per fiber.
It's extremely negligible.
> ...
I really don't see how.
> It also prevents shared optimisations which is something I want to use for my connection ... -
10:15 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Thanks for your examples. I agree there are different ways to solve this problem.
The key model I'm trying to introduce is a shared state "per request". It's actually similar to <https://github.com/steveklabnik/request_store> in a lot... -
08:14 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > this is more logical?
What is logical to me is to behave like POSIX environment variables. When you spawn a new fiber/thread it is initialized with a *shallow copy* of it's parent "locals".
What makes sense to me is:
```ruby
... -
12:27 PM Revision 5e901758 (git): merge revision(s) 26054c74619d36b2781e872fad15a1a0bfab1be1:
- Fix paths of exts.mk to clean
exts.mk files are one level under the top of extension directories.
---
template/exts.mk.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
12:27 PM Revision b4f8f4ce (git): merge revision(s) 77f3f8a1d4f45d06df6cfea2bac3a67867c19efb:
- exts.mk.tmpl: propagate MINIRUBY to enc.mk even though invoking from
exts.mk
This is another attempt to fix out-of-src build with
--with-static-linked-ext. The first attempt was
4f1888bda70981d9f5b1bf55a... -
12:05 PM Bug #19067: Module methods not usable at toplevel under wrapped script
- This is actually even confusing prior to the recent change:
> If the optional wrap parameter is true, the loaded script will be executed under an anonymous module, protecting the calling program's global namespace.
```ruby
# foo.r... -
11:11 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- > This is a bit incompatible, but I wonder if it is better than dealing with `Module#using`, `Module#private_method`, etc. individually.
Yes that's a fair point, and to be honest, I didn't realize how much failed to work as "expected" u... -
10:49 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- I think we can say the following by the same reasoning:
```ruby
# foo.rb
p self
```
```ruby
module MyModule; end
load "./foo.rb", MyModule #=> current: self, expected?: MyModule
```
because:
```ruby
module MyModule
... -
10:21 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- > As an author of the target file I no longer control the nesting, which is fundamental to know the constant references I am writing are the ones I actually mean.
You cannot be sure the constant you are referencing is the one you mean,... -
09:56 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- > The documentation is unclear about what does "being executed under" mean. Without that definition, we cannot know if this is a bug.
This is true. I am labelling it as a "bug" but it should be understood as "inconsistency". -
09:48 AM Bug #19067: Module methods not usable at toplevel under wrapped script
- I have always been skeptical about the ability to pass a module to `Kernel#load`.
As an author of the target file I no longer control the nesting, which is fundamental to know the constant references I am writing are the ones I actual... -
07:53 AM Bug #19067 (Rejected): Module methods not usable at toplevel under wrapped script
- ```ruby
#foo.rb
module Foo
end
private_constant :Foo
```
```ruby
module MyModule; end
load "./foo.rb", MyModule
# undefined method `private_constant' for main:Object (NoMethodError)
# ... -
12:00 PM Feature #19063: Hash.new with non-value objects should be less confusing
- I opened a new issue #19069 regarding my proposal https://bugs.ruby-lang.org/issues/19063#note-15. If you have comments related to that idea, please continue on #19069.
-
10:51 AM Feature #19063: Hash.new with non-value objects should be less confusing
- I'm also of the stance that this shouldn't surprise someone familiar with how Ruby is evaluated, but it is true that people have to start from somewhere and it's always good to try to help them get that understanding.
The problem with... -
09:57 AM Feature #19063: Hash.new with non-value objects should be less confusing
- While I like the idea of checking the arity of the block, maybe the core issue isn't entirely with the API for `Hash.new`, but the fact that default value/default proc are not visible. From the examples above, when we print the value of ...
-
11:58 AM Feature #19069 (Rejected): Default value assignment with `Hash.new` in block form
- This is a spin-out from #19063, and is a recapture of my comment https://bugs.ruby-lang.org/issues/19063#note-15.
I propose to change the behavior of `Hash.new` when it takes a block with its parameter signature absent. In such case, ... -
09:41 AM Misc #19040: DevMeeting-2022-10-20
- - [Feature #19066] Enable Scorecard Github Action
- I don't know the details, but at first sight, it seems worth doing -
08:54 AM Misc #19040: DevMeeting-2022-10-20
- * [Feature #19068] Upgrades required Bison version for development
* Change set is only improvement of yydebug option output, however this upgrades required Bison version. Then want to confirm it's acceptable.
* [Feature #19070] Enhanc... -
08:06 AM Misc #19040: DevMeeting-2022-10-20
- - [Bug #19067] Module methods not usable at toplevel under wrapped script
- Similar to #18960
- Based on my understanding of the `wrap` module, this should work, but `top_self` currently extends the `wrap` module.
- Up to 3.2, `wra... -
08:52 AM Feature #19068 (Closed): Upgrades required Bison version for development
- # Background
Printing node type, e.g. `NODE_LIT`, for `yydebug` option is helpful when developing parse.y.
Before:
```
Reducing stack by rule 639 (line 5062):
$1 = token "integer literal" (1.0-1.1: 1)
-> $$ = nterm simple_... -
08:44 AM Revision 1b235dcf (git): Ignore manual files only commits [ci skip]
-
08:43 AM Revision e1ca90c2 (git): sync_default_gems.rb: fold too long subject [ci skip]
- Line with substituted issue references with URLs are often very long.
Although Git (and GitHub) recommends folding subject lines less than
50 columns, but many commits ignore this, so fold at 68 columns for
now. - 08:22 AM Revision 93d73cfe (git): Update default gems list at dffca50bb609661f04660221834c48 [ci skip]
-
08:21 AM Revision dffca50b (git): [ruby/fiddle] Free closures immediately
- (https://github.com/ruby/fiddle/pull/109)
These structs don't need to be freed as part of finalization, so lets
free them immediately.
https://github.com/ruby/fiddle/commit/8a10ec1152 - 08:21 AM Revision e84ea4af (git): [ruby/fiddle] Add support for linker script on Linux
- GitHub: fix https://github.com/ruby/fiddle/pull/107
Reported by nicholas a. evans. Thanks!!!
https://github.com/ruby/fiddle/commit/49ea1490df -
08:21 AM Revision 93da67d4 (git): [ruby/fiddle] Fix filenames for glibc SO files on alpha and ia64
- (https://github.com/ruby/fiddle/pull/105)
Fixes [Bug #18645]
https://github.com/ruby/fiddle/commit/9a5a1dab1d - 08:21 AM Revision 08ec6562 (git): [ruby/fiddle] Bump version
-
08:21 AM Revision 091e3522 (git): fiddle: use the old rb_ary_tmp_new() alias
- Fiddle is a gem and has the external upstream which supports older
versions of Ruby. -
07:55 AM Feature #19024: Proposal: Import Modules
- > there's a lot of sharp edges
I consider the first one a bug, thanks for identifying it. I've filed an issue for it: https://bugs.ruby-lang.org/issues/19067
The others I'm not quite clear on, but if the current `wrap` parameter is... - 07:54 AM Revision 007946c2 (git): [rubygems/rubygems] Bundler: github DSL has used https protocol over git
- This behavior change was done in Bundler 2.2.0.
https://github.com/rubygems/bundler/pull/7142
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/9510190be1 -
07:33 AM Revision f5df47d1 (git): Merge RubyGems/Bundler master
- https://github.com/rubygems/rubygems/commit/6214d00b2315ed37c76b1fbc1c72f61f92ba5a65
-
07:33 AM Revision 2ab7bb89 (git): [rubygems/rubygems] TestGemSecuritySigner#test_sign: Correct the expectation for new cert.
- https://github.com/rubygems/rubygems/commit/bed360410d
-
07:33 AM Revision b7debaa8 (git): [rubygems/rubygems] TestGemSecurity#test_class_re_sign: Correct signature algorithm.
- https://github.com/rubygems/rubygems/commit/e2d533591c
-
07:33 AM Revision cbddc913 (git): [rubygems/rubygems] Set Subject Key Identifier in test to correspond to the new certificate.
- https://github.com/rubygems/rubygems/commit/3a607f43d1
-
07:33 AM Revision cb63a3f4 (git): [rubygems/rubygems] Materialize platforms strictly on Windows too
- https://github.com/rubygems/rubygems/commit/ab11545f80
-
07:33 AM Revision 4d3dbbe7 (git): [rubygems/rubygems] Remove unnecessary receiver
- https://github.com/rubygems/rubygems/commit/ba9d9b1890
-
07:33 AM Revision 74dbb0d0 (git): [rubygems/rubygems] Remove unnecessary generic
- I didn't realize how the `Bundler::GemHelpers.generic` method works when
I added this. It already matches this and other java platforms properly.
https://github.com/rubygems/rubygems/commit/5f0f0c678c -
07:33 AM Revision 5fa18a7b (git): [rubygems/rubygems] Fix bad spec wording
- https://github.com/rubygems/rubygems/commit/06faad1e05
-
07:33 AM Revision e956caea (git): [rubygems/rubygems] Extract matcher for slow perf spec
- https://github.com/rubygems/rubygems/commit/1c0eb63c6a
-
07:33 AM Revision 56ad7969 (git): [rubygems/rubygems] Simplify fetching spec group dependencies
- https://github.com/rubygems/rubygems/commit/62c2edd255
-
07:33 AM Revision 804ae4ea (git): [rubygems/rubygems] Simplify SpecGroup creation
- https://github.com/rubygems/rubygems/commit/788e46e152
-
07:33 AM Revision 67de0005 (git): [rubygems/rubygems] Inline helper method
- https://github.com/rubygems/rubygems/commit/e60459d6b6
-
07:33 AM Revision b99010f9 (git): [rubygems/rubygems] Use `flat_map`
- https://github.com/rubygems/rubygems/commit/b31308fb4c
-
07:33 AM Revision 71dede38 (git): [rubygems/rubygems] Remove one more `expand_dependencies` call
- https://github.com/rubygems/rubygems/commit/996fd81871
-
07:33 AM Revision cef7f6b2 (git): [rubygems/rubygems] Remove now unnecessary parameter to `expand_dependencies`
- We just call it once for resolution, so we can simplify things.
https://github.com/rubygems/rubygems/commit/99c144fbe3 -
07:33 AM Revision 8c4bd1e5 (git): [rubygems/rubygems] Remove another `expand_dependencies` instance
- https://github.com/rubygems/rubygems/commit/33769ddb07
-
07:33 AM Revision 60670b16 (git): [rubygems/rubygems] Remove another unnecessary dependency expansion
- https://github.com/rubygems/rubygems/commit/b4a0fcd2d2
-
07:33 AM Revision 0b6f2af3 (git): [rubygems/rubygems] Avoid unnecessary dependency expansion
- https://github.com/rubygems/rubygems/commit/426748ed06
-
07:33 AM Revision da1981fc (git): [rubygems/rubygems] Remove unused parameter to `SharedHelpers.pretty_dependency`
- https://github.com/rubygems/rubygems/commit/665051d085
-
07:33 AM Revision 4205190c (git): [rubygems/rubygems] Remove dead code
- https://github.com/rubygems/rubygems/commit/999b644708
-
06:03 AM Revision 931bcd1b (git): [ruby/irb] Assert lvars_code doesn't include \n
- Removing /\A.+\n/ could have an unexpected impact, depending on how
RubyLex.generate_local_variables_assign_code is implemented. It feels
like a too much assumption and the intention isn't immediately clear,
so I added these changes.
ht... -
05:44 AM Revision a09f764c (git): [ruby/irb] Always use local variables in current context to parse code (https://github.com/ruby/irb/pull/397)
- * Use local_variables for colorize, code_block_open check, nesting_level and assignment_expression check
* Check if expression is an assignment BEFORE evaluating it. evaluate might define new localvars and change result of assignment_ex... -
05:30 AM Revision 344e6c91 (git): [ruby/irb] Fix code terminated check with heredoc and backtick (https://github.com/ruby/irb/pull/390)
- * Fix backtick method def method call handled as backtick open
* Fix handling heredoc in check_string_literal
* Sort result of lexer.parse by pos in ruby<2.7. It's not sorted when the given code includes heredoc.
* Update lib/irb/ruby... -
04:16 AM Revision 134acf98 (git): ruby/ruby-commit-hook has been renamed [ci skip]
- to ruby/git.ruby-lang.org
-
02:37 AM Revision ab3b1b23 (git): sync_default_gems.rb: fix links to GitHub issues
- - Substitute `GH-xxxx` which does not contain `#` too.
- Split each substitutions. -
02:25 AM Bug #19042 (Closed): Bug: Dir.glob ignores subdirectories in alternation when alternation is preceded by recursive directory pattern
- Applied in changeset commit:git|329d5424a479bb08e75bd750c51a5382e382731c.
----------
[Bug #19042] Fix Dir.glob brace with '/'
Dir.glob brace pattern with '/' after '**' does not match
paths in recursive expansion process.
We expand bra... -
12:18 AM Revision 329d5424 (git): [Bug #19042] Fix Dir.glob brace with '/'
- Dir.glob brace pattern with '/' after '**' does not match
paths in recursive expansion process.
We expand braces with '/' before expanding a recursive.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
10/17/2022
-
10:37 PM Revision 995bdd69 (git): Try --x-use-aria2 for better retries (#6574)
- to possibly deal with failures like https://ci.appveyor.com/project/ruby/ruby/builds/45097615.
I'm not sure how vcpkg retries things, but at least aria2c seems to attempt downloads 5 times by default.
https://aria2.github.io/manual/en/h... -
09:58 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > Even if the "locals hash" is copied when a new fiber is created, you can still have the behavior your want by storing a mutable object.
And that's exactly my point, so why bother trying to prevent mutability, especially if there is ... -
08:05 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > Here is a short example of what I want:
That example makes very little sense to me:
- How is this a "local" if it's accessible by other fibers?
- I could understand inheriting (a copy of) the locals of the parent fibers, but... -
07:57 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Here is a short example of what I want:
```ruby
Fiber[:count] = 0
enumerator = Enumerator.new do |y|
10.times do |i|
Fiber[:count] += 1
y << i
end
end
enumerator.next
p Fiber[:count] # 1
enumerator.to_a
p Fiber[:count] # ... -
07:42 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- The only thing I really care about is an efficient way to implicitly share specific state within an execution context.
```
let(x = 10) do
Thread.new do
get(x) # => 10
end
Enumerator.new do
get(x) # => 10
end
end
```
Li... -
11:49 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- ioquatix (Samuel Williams) wrote in #note-17:
> > It would be a semantic bug if adding a new local in a child fiber affects a parent fiber as @byroot (Jean Boussier) said.
> ...
I would think all other languages with similar functionalit... -
11:48 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > ActiveRecord connections are thread safe
Again, "thread safe" is a very loaded term. It just means that things won't be utterly broken if you use that API in a concurrent scenario, it doesn't mean that you want to share that connect... -
11:12 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- ActiveRecord connections are thread safe, and it makes total sense to me that an enumerator might like to run in the same transaction as its surrounding context. In fact I've read many times people complaining about this exact problem.
... -
10:55 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > No, it's not bad to share a DB connection between threads, if the DB connection itself is thread safe
"Thread safe" can mean a lot of things. Generally speaking, the vast majority of protocols don't support concurrent access, so mos... -
10:48 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > It would be a semantic bug if adding a new local in a child fiber affects a parent fiber as @byroot (Jean Boussier) said.
I don't agree this is a semantic bug. Ruby doesn't have any existing data structures which behave like this, and... -
10:29 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- For sure we need the `.dup` on the internal hash used for storage when inheriting it to a new Fiber.
It would be a semantic bug if adding a new local in a child fiber affects a parent fiber as @byroot said.
Or we'd need some kind of pe... -
09:44 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Okay, with this small change, we can propagate locals across threads: https://github.com/ruby/ruby/pull/6566/commits/ac09cff4c36ca9535b0439e3d599ac7ef9899c97
Small test program:
```ruby
Fiber[:x] = 10
thread = Thread.new do
pp Fibe... -
09:30 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Just for my own note:
```ruby
struct rb_execution_context_struct {
/* storage (ec (fiber) local) */
struct rb_id_table *local_storage;
}
```
Fiber locals already exist on `rb_execution_context_struct`. -
09:18 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > Well same than for your Fiber example, but with threads.
I don't think we should introduce `Thread#locals` because then we end up with two interfaces for execution context state. Fiber locals are introducing a limited form of "dynamic... -
08:42 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > I think of that more of a design choice rather than an outright issue.
Of course. But it is generally considered good design to help avoid shared mutable state. But again, I can live with the current proposal.
> ...
Well same tha... -
08:27 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > If you simply inherit this hash, a child fiber changing Something.current would change it in its parent, sibling and child fibers too, which is super unlikely to be what you want.
I think of that more of a design choice rather than an... -
08:23 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > Can you give an example of the problem caused by mutability?
Sure, you can look at how `ActiveSupport::IsolatedExecutionState` is used today. For instance [`ActiveSupport::CurrentAttributes`](https://github.com/rails/rails/blob/caf9... -
07:50 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- > The problem however is the semantic. If all the values in Fiber.locals are immutable, it's quite painless, but if they are mutable what do you do?
Can you give an example of the problem caused by mutability?
> ...
The simplest wa... -
07:40 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- So that is indeed a need that arise when you start using fibers or even threads. Existing Ruby code rely a lot on Fiber / Thread global state.
The problem however is the semantic. If all the values in `Fiber.locals` are immutable, it'... -
07:01 AM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- Seems pretty different from the thread local storage.
Intentional? -
09:47 PM Revision b54c8ba8 (git): Simplified rb_obj_copy_ivar implementation
-
09:32 PM Revision 1865ed4a (git): Fix an outdated notification message
- https://github.com/ruby/ruby/commit/0d7292ec734d49def118959d6a80588e7c0f7a39
-
09:14 PM Revision 1c83469f (git): [ruby/irb] Remove unnecessary coloring support check
- https://github.com/ruby/irb/commit/ddd7dbe2c5
-
07:13 PM Feature #19066 (Closed): Enable Scorecard Github Action
- Hi, I am Joyce and I'm working on behalf of Google and the [Open Source Security Foundation](https://openssf.org/) to help essential open-source projects improve their supply-chain security.
Would you consider adopting an OpenSSF tool... -
06:29 PM Feature #19063: Hash.new with non-value objects should be less confusing
- @baweaver (Brandon Weaver) wrote:
> Should we open a new ticket for this shorthand Hash.new { [] } syntax?
Either way is okay with me. -
05:49 PM Feature #19063: Hash.new with non-value objects should be less confusing
- I would agree that `Hash.new { [] }` would be very nice, and as mentioned has a dual in `Array.new(5) { [] }`.
While I do not think that it is a bug (and my apologies for earlier bad wording) to have `Hash.new([])` do what it currentl... -
03:45 PM Feature #19063: Hash.new with non-value objects should be less confusing
- ioquatix (Samuel Williams) wrote in #note-16:
> The question is, are there valid use cases for `Hash.new(default_value)` and/or `Array.new(count, default_value)` where the user expects mutable values to be shared?
Sure:
```ruby
c... -
03:02 PM Feature #19063: Hash.new with non-value objects should be less confusing
- Dan0042 (Daniel DeLorme) wrote in #note-19:
> The main downside is incompatibility with previous ruby versions. [...] Note that I haven't found that many gems that use `Hash.new{value}` syntax, and most of them would work fine with this ... -
01:47 PM Feature #19063: Hash.new with non-value objects should be less confusing
- sawa (Tsuyoshi Sawada) wrote in #note-15:
> ```ruby
> ...
I *love* this idea! It makes the common case so much easier and uncluttered. It's easy to bypass if you need to. It works great in combination with a frozen default value; when ... -
01:02 PM Feature #19063: Hash.new with non-value objects should be less confusing
- This is a good idea. Even though the current behavior is "logical", and experienced rubyists have gotten so used to this that it's second nature, there's an opportunity to make ruby more friendly for beginners by removing a well-known go...
-
07:03 AM Feature #19063: Hash.new with non-value objects should be less confusing
- In support of `Hash.new{default_value}`, `Array.new(count){default_value}` works in the same way.
-
06:59 AM Feature #19063: Hash.new with non-value objects should be less confusing
- @sawa I appreciate your technical knowledge and insight.
However... the practical reality is the vast majority of the users are using this interface incorrectly. This might imply that the theoretical basis for how `Hash.new(default_valu... -
06:28 AM Feature #19063: Hash.new with non-value objects should be less confusing
- I can imagine why you particularly picked up (or people are more troubled with) `Hash.new` rather than `Array.new`. Probably, you are feeling that `Hash.new {|h, k| h[k] = []}` is too long to write. So I have an even better idea. If poss...
-
05:59 AM Feature #19063: Hash.new with non-value objects should be less confusing
- This issue is essentially the same issue as people mistakenly writing `Array.new(5, [])` with the intention to actually do `Array.new(5){[]}`. And the same issue can appear elsewhere.
Users need to have better understanding of how argum... -
05:46 AM Feature #19063: Hash.new with non-value objects should be less confusing
- duerst (Martin Dürst) wrote in #note-11:
> `Hash.new(my_method_returning_an_empty_array)` would behave exactly the same as `Hash.new([])` (assuming `my_method_returning_an_empty_array`) really did what its name said). So compositionalit... -
05:11 AM Feature #19063: Hash.new with non-value objects should be less confusing
- ioquatix (Samuel Williams) wrote in #note-10:
> The current behaviour is ambiguous at best and as @austin has shown, buggy and incorrect at worst / in practice.
> ...
There is definitely a chance of breaking compatibility. It would be ... -
05:05 AM Feature #19063: Hash.new with non-value objects should be less confusing
- sawa (Tsuyoshi Sawada) wrote in #note-9:
> 2. Your proposal 1 would break one of the very basic principles of Ruby, or perhaps of any computer language, or even any natural language. That is, the arguments passed to a method are evalu... -
04:05 AM Feature #19063: Hash.new with non-value objects should be less confusing
- The current behaviour is ambiguous at best and as @austin has shown, buggy and incorrect at worst / in practice.
I prefer option 1 but it's true it can break compatibility with this poorly understood behaviour.
I agree in principle... -
03:37 AM Feature #19063: Hash.new with non-value objects should be less confusing
- baweaver (Brandon Weaver) wrote in #note-5:
> Then what would qualify as a proof?
I don't think it is provable. That is my point. You made a statement that cannot be assured.
I know that a lot of beginners make the kind of mistake you ... -
03:25 AM Feature #19063: Hash.new with non-value objects should be less confusing
- Edit on a couple of these. The GitLab behaviour, and @shugo’s code both do `hash[key] |= value_list`, so they *do* effectively do `hash[key] = value_list`, which makes them safer to use *in these particular cases*. I don’t think that thi...
-
03:16 AM Feature #19063: Hash.new with non-value objects should be less confusing
- sawa (Tsuyoshi Sawada) wrote in #note-2:
> > When people use Hash.new([]) they mean Hash.new { |h, k| h[k] = [] }.
> ...
It partially comes from not necessarily understanding `default_value` in the Hash documentation. The documentation... -
03:04 AM Feature #19063: Hash.new with non-value objects should be less confusing
- > austin (Austin Ziegler) wrote in #note-4:
> ...
I would agree that option 2 is the most viable without serious breaking behavior, and option 3 would be better long-term. Option 1 was an attempt at a compromise, but would have breaking... -
03:01 AM Feature #19063: Hash.new with non-value objects should be less confusing
- > For note, coming up with a lot of examples pointing towards that is not a proof.
Then what would qualify as a proof? I am confused by this as it asserts that examples of people being confused are not proof, whenever by definition it... -
02:56 AM Feature #19063: Hash.new with non-value objects should be less confusing
- This mistake is much more common than I would have thought, and it appears in some fairly large projects (not everyone may have access to this result because `cs.github.com` is still apparently in preview):
https://cs.github.com/?scopeN... -
02:54 AM Feature #19063: Hash.new with non-value objects should be less confusing
- sawa (Tsuyoshi Sawada) wrote in #note-2:
> > When people use Hash.new([]) they mean Hash.new { |h, k| h[k] = [] }.
> ...
Do you have examples of this? I have had several cases across multiple large Ruby companies where this behavior had ... -
02:47 AM Feature #19063: Hash.new with non-value objects should be less confusing
- > When people use Hash.new([]) they mean Hash.new { |h, k| h[k] = [] }.
I don't think so. Can you prove it? For note, coming up with a lot of examples pointing towards that is not a proof.
> ...
This contradicts with what you have admi... -
01:34 AM Feature #19063: Hash.new with non-value objects should be less confusing
- @matz what do you think?
-
05:49 PM Bug #18605: Fails to run on (newer) 32bit Windows with ucrt
- This (unsurprisingly) also breaks ruby on arm64 and is blocking our arm64 porting effort: https://github.com/msys2/MINGW-packages/pull/13115
-
05:47 PM Revision f11765ae (git): YJIT: Allow --yjit-dump-disasm to dump into a file (#6552)
- * YJIT: Allow --yjit-dump-disasm to dump into a file
* YJIT: Move IO implementation to disasm.rs
* YJIT: More consistent naming -
05:45 PM Revision 64c52c42 (git): YJIT: Interleave inline and outlined code blocks (#6460)
- Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> -
05:31 PM Bug #19041: Weakref is still alive after major garbage collection
- parker (Parker Finch) wrote in #note-6:
> I'm still curious _why_ calling `#weakref_alive?` on the `WeakRef` seems to put the underlying `Object` (that the `WeakRef` delegates to) in a register or on the stack. But the fact that this is... -
04:27 PM Revision e7c71c6c (git): Make mjit_cont sharable with YJIT (#6556)
- * Make mjit_cont sharable with YJIT
* Update dependencies
* Update YJIT binding - 04:26 PM Revision 07a93b1e (git): YJIT: Do not call `mprotect` when `mem_size` is zero (#6563)
- This allows x86_64 based YJIT to run on Docker Desktop on Apple silicon (arm64)
Mac because it will avoid a subtle behavior difference in `mprotect` system call
between the Linux kernel and `qemu-x86_64` user space emulator. -
04:12 PM Feature #17576: Partial Functions (procs, lambdas)
- Isn't the topic starter talking about pattern arguments for function? This is something I'm personally looking froward to. It is similar to Elixir's functions pattern matching and increases the expressiveness of the language by order of ...
-
04:11 PM Revision ad3d210b (git): YJIT: call free_block to cleanup block when out of memory
- The commented out instance of free_block() is left over from the port.
The addition in gen_single_block() was a place we missed. The new block
is allocated in the same function and could have invariants associated
with it even though the... -
03:23 PM Revision 637144b8 (git): Adjust indents [ci skip]
-
02:56 PM Feature #18982 (Closed): Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
- Applied in changeset commit:git|60defe0a68a40d1b3225cf6b971ea195e19ae2e2.
----------
thread_sync.c: Clarify and document the behavior of timeout == 0
[Feature #18982]
Instead of introducing an `exception: false` argument to have `non_... -
02:56 PM Revision 60defe0a (git): thread_sync.c: Clarify and document the behavior of timeout == 0
- [Feature #18982]
Instead of introducing an `exception: false` argument to have `non_block`
return nil rather than raise, we can clearly document that a timeout of 0
immediately returns.
The code is refactored a bit to avoid doing a tim... - 02:38 PM Revision 7db29de0 (git): [ruby/openssl] add document-method for BN#mod_inverse
- https://github.com/ruby/openssl/commit/5befde7519
- 02:38 PM Revision 149cb049 (git): [ruby/openssl] add BN#mod_sqrt
- https://github.com/ruby/openssl/commit/4619ab3e76
- 02:38 PM Revision e037731c (git): [ruby/openssl] define BIGNUM_2cr macro for BN function that takes context and
- returns a BN
https://github.com/ruby/openssl/commit/4d0971c51c -
09:36 AM Revision f6bf5e2c (git): Respect `USE_COMMON_RANDOM` macro by a command line option [ci skip]
-
09:36 AM Revision b584c106 (git): Fix debug messages [ci skip]
-
09:36 AM Revision f08fcd0e (git): Fix possible use of undefined macros on very old macOS [ci skip]
-
07:57 AM Bug #19065 (Closed): ruby 3.1.2 is printing all class variables for undefined error
- I think this is a duplicate of #18285.
Since Ruby 3.0.0, an error message of UndefinedMethod always includes all instance variables. As this could be too long as you said, it is reconsidered in #18285.
```
$ ./bin/ruby-2.7.6 -e 'c... -
06:57 AM Bug #19065: ruby 3.1.2 is printing all class variables for undefined error
- My bad
I have used the command "ruby script"
In the error message, we are getting all the class variables printed
We load a few files into the class variables and this issue is causing a bit of trouble for us.
Please check it once -
06:28 AM Bug #19065 (Feedback): ruby 3.1.2 is printing all class variables for undefined error
- We need how to reproduce the issue and error output at least.
-
06:16 AM Bug #19065 (Closed): ruby 3.1.2 is printing all class variables for undefined error
- Not sure whether this is a bug or some config issue from my side
- 07:43 AM Revision 85cee293 (git): Update default gems list at 6166fa612cf798930863c7cca23dc9 [ci skip]
- 07:35 AM Revision 6166fa61 (git): [ruby/openssl] Call out insecure PKCS #1 v1.5 default padding for RSA
- https://github.com/ruby/openssl/commit/fd5eaa6dfc
- 07:35 AM Revision aecc470a (git): [ruby/openssl] Use default `IO#timeout` if possible.
- https://github.com/ruby/openssl/commit/471340f612
- 07:35 AM Revision 17998ad3 (git): [ruby/openssl] Add support to SSL_CTX_set_keylog_callback
- - This callback is invoked when TLS key material is generated or
received, in order to allow applications to store this keying material
for debugging purposes.
- It is invoked with an `SSLSocket` and a string containing the key
mat... -
07:35 AM Revision e4b16279 (git): [ruby/openssl] ssl: fix "warning: ‘ctx’ may be used uninitialized"
- The code was introduced by https://github.com/ruby/openssl/commit/65530b887e54 ("ssl: enable generating keying
material from SSL sessions", 2022-08-03).
This is harmless, but we should avoid it.
https://github.com/ruby/openssl/commit/f... -
07:35 AM Revision 04bf83d6 (git): [ruby/openssl] bump version number to 3.1.0.pre
- https://github.com/ruby/openssl/commit/fceb978a5d
-
07:35 AM Revision cd83f5b9 (git): [ruby/openssl] Ruby/OpenSSL 3.0.1
- https://github.com/ruby/openssl/commit/e5bbd015dc
-
07:35 AM Revision 15a966a6 (git): [ruby/openssl] Ruby/OpenSSL 2.2.2
- https://github.com/ruby/openssl/commit/de8a644bc4
-
07:35 AM Revision 33d30a86 (git): [ruby/openssl] Ruby/OpenSSL 2.1.4
- https://github.com/ruby/openssl/commit/5316241e61
-
07:35 AM Revision b69d41e1 (git): [ruby/openssl] pkey/ec: check existence of public key component before exporting
- i2d_PUBKEY_bio() against an EC_KEY without the public key component
trggers a null dereference.
This is a regression introduced by commit https://github.com/ruby/openssl/commit/56f0d34d63fb ("pkey:
refactor #export/#to_pem and #to_der",... -
07:35 AM Revision 0677b2fb (git): [ruby/openssl] pkey: restore support for decoding "openssl ecparam -genkey" output
- Scan through the input for a private key, then fallback to generic
decoder.
OpenSSL 3.0's OSSL_DECODER supports encoded key parameters. The PEM
header "-----BEGIN EC PARAMETERS-----" is used by one of such encoding
formats. While this i... -
07:35 AM Revision 4fb2845c (git): [ruby/openssl] pkey: clear error queue before each OSSL_DECODER_from_bio() call
- Fix potential error queue leak.
https://github.com/ruby/openssl/commit/3992b6f208 -
07:35 AM Revision 10f93a8b (git): [ruby/openssl] pkey/dsa: let PKey::DSA.generate choose appropriate q size
- DSA parameters generation via EVP_PKEY_paramgen() will not automatically
adjust the size of q value but uses 224 bits by default unless specified
explicitly. This behavior is different from the now-deprecated
DSA_generate_parameters_ex()... -
07:35 AM Revision 65bba0ef (git): [ruby/openssl] hmac: use EVP_PKEY_new_raw_private_key() if available
- Current OpenSSL 3.0.x release has a regression with zero-length MAC
keys. While this issue should be fixed in a future release of OpenSSL,
we can use EVP_PKEY_new_raw_private_key() in place of the problematic
EVP_PKEY_new_mac_key() to av... -
07:35 AM Revision bee383d9 (git): [ruby/openssl] x509*: fix error queue leak in #extensions= and #attributes= methods
- X509at_delete_attr() in OpenSSL master puts an error queue entry if
there is no attribute left to delete. We must either clear the error
queue, or try not to call it when the list is already empty.
https://github.com/ruby/openssl/commit... - 07:35 AM Revision 79543b9a (git): [ruby/openssl] ssl: enable generating keying material from SSL sessions
- Add OpenSSL::SSL::SSLSocket#export_keying_material to support RFC 5705
https://github.com/ruby/openssl/commit/65530b887e -
07:35 AM Revision a9809634 (git): [ruby/openssl] Check if the option is an Hash in `pkey_ctx_apply_options0()`
- causes SEGV if it is an Array or something like that.
https://github.com/ruby/openssl/commit/ef23525210 -
07:35 AM Revision c865e8d1 (git): [ruby/openssl] [CI] TestHMAC#test_dup - remove 'pend' for OpenSSL 3
- https://github.com/ruby/openssl/commit/626b0434a6
-
07:35 AM Revision 5dae78b9 (git): [ruby/openssl] Pass arguments to check macro presence
- X509_STORE_get_ex_new_index() is a macro, so passing just its name to
have_func() doesn't detect it. Pass an example call instead.
https://github.com/ruby/openssl/commit/8d264d3e60
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> -
07:35 AM Revision a211b321 (git): [ruby/openssl] Check for OpenSSL functions in headers
- While building with a custom build of OpenSSL, I noticed in mkmf.log
that all the feature detection checks are done using a program lacking
an OpenSSL header include. `mkmf` retries using a fallback program when
this fails, but that mean... -
07:25 AM Revision 63234edf (git): openssl: use the old rb_ary_tmp_new() alias
- openssl has to support older versions of Ruby. Undo the change in
ext/openssl/ossl_pkey_ec.c by commit efb91ff19b73 ("Rename
rb_ary_tmp_new to rb_ary_hidden_new", 2022-07-25). -
07:07 AM Feature #19057: Hide implementation of `rb_io_t`.
- I agree with `Hide all details` but I'm more willing to compromise on the interface.
> With one tweak: not int rb_ioptr_descriptor(struct rb_io *ioptr); but int rb_io_descriptor(VALUE io);.
Maybe it's CRuby problem, but there is a perf... -
05:47 AM Revision b7de04d1 (git): Disable dependabot for auto-request-review for now
- because you have to manually update the version tag comment.
It feels unsafe to trust third party git tags when you need to pass
MATZBOT_GITHUB_TOKEN to it. Git commit sha alone isn't human-readable
and I'm reluctant to remove the commen... - 05:45 AM Revision bfc6c1f1 (git): Bump necojackarc/auto-request-review from 0.7.0 to 0.8.0 (#6571)
- Bumps [necojackarc/auto-request-review](https://github.com/necojackarc/auto-request-review) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/necojackarc/auto-request-review/releases)
- [Commits](https://github.com/necojackarc/au... -
05:44 AM Revision fb6a9656 (git): Do not run CodeQL on dependabot PRs
-
05:02 AM Revision 0d7292ec (git): Leave only the oldest Visual Studio in AppVeyor (#6561)
-
03:02 AM Revision 7cf37a57 (git): [DOC] Add the polar form in String#to_c
-
02:30 AM Revision e4191ac1 (git): Change a tab to spaces
-
01:12 AM Bug #19047 (Closed): DelegateClass displays "method redefined" warning when overriding methods
- Merged at https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/60610031009e60bdfe5775b0316df251ee36a973
-
12:50 AM Feature #19064 (Open): UDPSocket#bind does not take AddrInfo, despite documentation saying it should
- https://docs.ruby-lang.org/en/master/Socket.html#method-i-bind says that this code should work:
``` ruby
require 'socket'
# use Addrinfo
socket = Socket.new(:INET, :STREAM, 0)
socket.bind(Addrinfo.tcp("127.0.0.1", 2222))
p sock...
10/16/2022
-
10:24 PM Feature #19063 (Rejected): Hash.new with non-value objects should be less confusing
- Related to #10713 and #2764.
Ruby's `Hash.new` accepts either a block or a param for its default value. In the case of non-value objects this leads to unexpected behaviors:
```ruby
bad_hash_with_array_values = Hash.new([])
good_h... -
10:08 PM Feature #19062: Introduce `Fiber#locals` for shared inheritable state.
- As an example of a specific use case, the <https://github.com/BMorearty/request_store-fibers> gem implements a similar per-fiber state (although it's more complex than the proposed interface).
-
10:31 AM Feature #19062 (Closed): Introduce `Fiber#locals` for shared inheritable state.
- After exploring <https://bugs.ruby-lang.org/issues/19058>, I felt uncomfortable about the performance of copying lots of inheritable attributes. Please review that issue for the background and summary of the problem.
## Proposal
In... -
07:55 PM Bug #19004: Complex can be nested by Complex.polar
- I thought to try fixing this issue as a first contribution to Ruby. I have a proposed fix here https://github.com/ruby/ruby/pull/6568
Details are on the PR, but in summary, I believe that the ability to pass a Complex as the abs argu... -
11:39 AM Revision 9fc7df75 (git): merge revision(s) 464f73a5f0c1042bfefdd367b330cbdcafffca95:
- Do not load library files from repository only for test
What we want to test should be the bundled and to be installed files,
but not the upstream.
---
tool/test-bundled-gems.rb | 2 +-
1 file ch... -
10:57 AM Bug #19055: Regexp.new(regexp, timeout: nil) is intrupted by Regexp.timeout
- > Will it raise an exception before any matching?
In code where I've implemented similar checks, I've done something like this:
```
while (doing work)... {
do work
check timeout
}
```
It means `timeout=0` can do one ite... -
10:37 AM Revision c1129491 (git): merge revision(s) 64cff780051adf95a0f1799baddec98ae23e8add:
- `Gem.unpack` extracts gems so able to execute
Creates simple bin stubs to load the extracted executable files.
After only extracted under `gems` directory, the gems are considered
installed but the executable scr... -
10:33 AM Revision 174594cf (git): merge revision(s) d20886dd225e07fe14347398c2c0913f3e11d22a:
- Create build-only gemspec files only if having an extension
---
tool/gem-unpack.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) -
09:31 AM Revision ba9c0d0b (git): Allow run bundled_gems manually [ci skip]
-
09:22 AM Revision 15488fc1 (git): Update bundled gems list at 2022-10-16
-
07:46 AM Revision e7b557ce (git): merge revision(s) 32d1ce96e09773e809d575c17b916012d88d6ffc:
- Fix race conditions when cleaning extensions
Clean built directories by `make distclean`, and then clean leftover
makefiles for skipped extensions.
---
template/Makefile.in | 4 ++++
1 file chang... -
07:46 AM Revision ae6f46db (git): merge revision(s) 0c9803b0fdfd17981bd9f59767adab0207c3a74d:
- The "gems" build directory was rename as ".bundle"
---
common.mk | 12 ++++++------
template/Makefile.in | 10 +++++-----
2 files changed, 11 insertions(+), 11 deletions(-) -
07:41 AM Revision 2a0a9d56 (git): merge revision(s) 21f006f5f7c161fd3857f69186e810f1958bd7f0:
- Retrieve previously configured macros also other than `extensions`
---
template/exts.mk.tmpl | 1 -
1 file changed, 1 deletion(-) -
07:31 AM Revision ed960c67 (git): merge revision(s) d7afaf21f2edfac8a606891868a3c4a7025267bd:
- Move the target directory of bundled gems like as rubygems
---
ext/extmk.rb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-) -
07:31 AM Revision 363dc5d1 (git): merge revision(s) 17ce0b9b846a065065008b5fb2e9f8ad13058fa1:
- Retrieve configured gems info
---
template/configure-ext.mk.tmpl | 2 +-
template/exts.mk.tmpl | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-) -
07:29 AM Revision e3abdccc (git): merge revision(s) db3d111c1d1e90b400f1e737ded6a4e4bdf2cec8:
- Bundled gems are expanded under `.bundle/gems` now
---
ext/extmk.rb | 13 +++++++------
template/exts.mk.tmpl | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-) -
05:22 AM Misc #19050 (Closed): [ANN] Schedule maintenance for git.ruby-lang.org
- git.ruby-lang.org is backed now. I upgraded Debian 10 to 11 and instance type t2 to c5a series.
Thanks for all. -
02:57 AM Misc #19050: [ANN] Schedule maintenance for git.ruby-lang.org
- Unfortunately, I'm still working to migrate our git server.
I'm sorry for the inconvenience to develop ruby. I'll announce to finish its maintenance. -
04:40 AM Revision 667aa812 (git): merge revision(s) ee6cc2502664ac46edc61868d8954b626bb48e53:
- Remove wrong dollar
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
02:30 AM Feature #19058: Introduce `Fiber.inheritable` attributes/variables for dealing with shared state.
- Implementing the proposal efficiently would require some more work. The proposed implementation is O(number of inheritable attributes) per fiber creation which is not ideal.
If we had efficient copy-on-write hash table, something like t...