Activity
From 10/24/2020 to 10/30/2020
10/30/2020
-
11:47 PM Revision 670e288d (git): Add warning for str_new_static functions
- Many functions in string.c assume that capa + termlen to be readable
memory. Add comment in header to communicate this to extension authors.
See also: comment in str_fill_term() -
11:34 PM Revision 520b86ca (git): Move variable closer to usage
-
10:26 PM Bug #16809: Fiber crashes with --with-coroutine=copy
- I tried pull request #3624 on OpenBSD/sparc64 and it still crashed.
I was able to come up with a fix that works on OpenBSD/sparc64, as long as a couple files are compiled without optimization: https://github.com/ruby/ruby/pull/3726 - 07:22 PM Revision bd6cd851 (git): Tweak return of `Ractor#close`, add doc
-
06:30 PM Feature #17298 (Open): Ractor's basket communication APIs
- This ticket proposes `send_basket`/`receive_basket`, `yield_basket`/`take_basket` APIs to make effective and flexible bridge ractors.
## Background
When we want to send an object as a message, we usually need to copy it. Copying is... - 04:48 PM Revision 7c548278 (git): * 2020-10-31 [ci skip]
-
04:48 PM Revision fd089276 (git): Ractor's "will" doesn't need copying.
- `r = Ractor.new{ expr }` generates the block return value from `expr`
and we can get this value by `r.take`. Ractor.yield and Ractor#take
passing values by copying on default. However, the block return value
(we named it "will" in the co... -
03:32 PM Bug #17293 (Rejected): URI.parse fails to parse correctly URN or other special characters in path/url
- greg.howdeshell (Greg Howdeshell) wrote:
> URI.parse looks to fail parsing endpoints that have special characters. For example:
> ...
This is expected. The `#/applications/` is an anchor/fragment, not part of the path (path is `/`). ... -
02:58 PM Bug #17293 (Rejected): URI.parse fails to parse correctly URN or other special characters in path/url
- URI.parse looks to fail parsing endpoints that have special characters. For example:
``` ruby
url = 'http://foobar.com/#/applications/'
path = 'my_application'
URI.join(url, path).to_s
```
The result renders `http://foobar.com/my... -
03:09 PM Feature #17297 (Closed): Feature: Introduce Pathname.mktmpdir
When I want to create a tmpdir I often want to manipulate it as a pathname. By introducing Pathname.mktmpdir I can get this behavior.
Currently I must:
```ruby
Dir.mktmpdir do |dir|
dir = Pathname(dir)
# ... code
end
``...-
03:08 PM Feature #17296 (Feedback): Feature: Pathname#chmod use FileUtils.chmod instead of File
The `FileUtils.chmod` provides the same numerical interface as `File.chmod` and it also includes a "symbolic mode" interface. With this patch you'll be able to run this code:
```ruby
Pathname.new("bin/compile").chmod("+x")
```
...-
03:06 PM Feature #17295 (Rejected): Feature: Create a directory and file with Pathname#touch
Right now if a developer wants to create a file and is not sure if the path exists yet or not they must:
```ruby
Pathname.new("/a/b/c/d.txt").tap {|p| p.dirname.mkpath; FileUtils.touch(p)}
```
After this patch a developer can...-
03:04 PM Feature #17294 (Closed): Feature: Allow method chaining with Pathname#mkpath Pathname#rmtree
Currently in my code when I want to create a pathname object and create a path at the same time I must use tap
```
path = Pathname.new("/tmp/new").tap(&:mkpath)
```
I think it would be cleaner to be able to chain on the results...-
12:45 PM Revision 66bf743b (git): Promote debug.rb to default gems.
- It have no upstream repo yet. This change is experimental for 3.0.0-preview2.
-
10:07 AM Feature #17277: Make Enumerator#with_index yield row and col indices for Matrix
- sawa (Tsuyoshi Sawada) wrote in #note-7:
> I think the current behaviour is natural. You cannot play around with `with_index` since its receiver is `Enumerator`, not `Matrix`, and the information as a matrix is already gone.
> ...
I ge... -
08:11 AM Bug #17158 (Feedback): Ractor Segfault when using shell and puts
-
08:11 AM Bug #17158: Ractor Segfault when using shell and puts
- sorry to be late, but I can't reproduce this issue.
`while PUTS_RACTORS=1 WORK=shell make run; do date; done` doesn't show any errors on my environment (ruby 3.0.0dev (2020-10-29T15:09:12Z master 502d6d8459) [x86_64-linux]).
recent... -
07:52 AM Revision 89c8ca32 (git): add a test of define_method with shareable Proc.
- a method defined by define_method with normal Proc can not cross
ractors because the normal Proc is not shareable. However,
shareable Proc can be crossed between ractors, so the method with
shareable Proc should be called correctly. -
07:52 AM Revision 08ddc335 (git): sync vm->waiting_fds correctly.
- vm->waiting_fds is global resource so we need to lock it correctly.
(forgot to sync one place) -
06:18 AM Revision a1828a1f (git): Promote win32ole to default gems.
- But win32ole gem is still experimental for 3.0.0-preview2.
I'm working to extract this library on https://github.com/ruby/win32ole. -
03:30 AM Revision 17c6b6b1 (git): Fix a typo [ci skip]
-
03:26 AM Revision 799253dc (git): strip trailing spaces [ci skip]
-
12:21 AM Feature #17291: Optimize __send__ call
- I'm neutral (at least no against it). `__send__` in general has other usages than to reroute method visibilities. Optimising it could benefit good wills.
-
12:17 AM Feature #17288: Optimize __send__ call with a literal method name
- JFYI I learned the use of "immediate" refinement from rails.
https://github.com/rails/rails/pull/27363 -
12:17 AM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- chrisseaton (Chris Seaton) wrote in #note-14:
> I think there's benefits to building STM into the language (if we decided we want STM at all) rather than it being a library.
I think so, especially with Ractors, but now we (*I*) don't...
10/29/2020
-
08:54 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- I think there's benefits to building STM into the language (if we decided we want STM at all) rather than it being a library.
When you look at more advanced features like conflict resolution and conflict mitigation you may want to do ... -
07:40 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- Eregon (Benoit Daloze) wrote in #note-12:
> I was talking about the namespace
Ah, I see.
-
07:22 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- ko1 (Koichi Sasada) wrote in #note-11:
> You wrote "under Thread and not under Ractor". What does it mean?
I was talking about the namespace, the proposal is Thread::TVar (and not Ractor::TVar), which I agree is a good namespace for ... -
06:19 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- Eregon (Benoit Daloze) wrote in #note-10:
> That does not work with Ractor though (at least currently).
You wrote "under Thread and not under Ractor". What does it mean?
-
05:21 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- ko1 (Koichi Sasada) wrote in #note-8:
> For this purpose, concurrent-ruby provides TVar for threads.
That does not work with Ractor though (at least currently). -
04:03 PM Feature #17261 (Rejected): Software transactional memory (STM) for Threads and Ractors
-
04:03 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- > I think it would be nice to make it its own gem (tvar maybe?) given it's under Thread and not under Ractor, and it could most likely work on other Ruby implementations (e.g., TruffleRuby).
For this purpose, concurrent-ruby provides ... -
08:12 PM Feature #17288: Optimize __send__ call with a literal method name
- How about a private module instead?
```ruby
class Foo
module Helpers
def self.special # General users should not call or rely on `special`
:special
end
end
private_constant :Helpers
def foo
Helpers.special
en... -
04:06 AM Feature #17288: Optimize __send__ call with a literal method name
- shyouhei (Shyouhei Urabe) wrote in #note-9:
> @marcandre Here you are:
> ...
0) I was wrong, I retract what I said.
1) My mind is blown. I have always thought of refinements as a way to safely monkey-patch other people's classes, in... -
12:11 AM Feature #17288: Optimize __send__ call with a literal method name
- @marcandre Here you are:
```ruby
class Foo
using Module.new {
refine Foo.singleton_class do
def special
end
end
}
def foo
self.class.special
end
class Bar
def foo
Foo.specia... -
07:53 PM Feature #17273: shareable_constant_value pragma
- Eregon (Benoit Daloze) wrote in #note-16:
> Eregon (Benoit Daloze) wrote in #note-14:
> ...
I agree that it's relatively rare and not a good idea. However, Sequel does this (Sequel::DATABASES). It's been around since 2008 and many ex... -
07:47 PM Feature #17273: shareable_constant_value pragma
- Eregon (Benoit Daloze) wrote in #note-16:
> I guess it's relatively rare that a gem would (intentionally) expose a non-frozen constant as part of its API, and that the gem relies on being able to mutate it.
To confirm it, we will int... -
07:33 PM Feature #17273: shareable_constant_value pragma
- Eregon (Benoit Daloze) wrote in #note-14:
> Of course, no gems should directly mutate constants of another gem.
I missed that the gem doesn't need to mutate `A` to break `OtherLib`.
I guess it's relatively rare that a gem would (intenti... -
07:29 PM Feature #17273: shareable_constant_value pragma
- ko1 (Koichi Sasada) wrote in #note-13:
> if lits contains Ruby expression, SyntaxError
Could you give an example?
SyntaxError doesn't seem OK to me. It should simply not freeze if not a literal. -
07:26 PM Feature #17273: shareable_constant_value pragma
- ko1 (Koichi Sasada) wrote in #note-12:
> * It is possible to break other library easily:
That sounds very bad code breaking the encapsulation of that other library.
Of course, no gems should directly mutate constants of another gem.... -
04:14 PM Feature #17273: shareable_constant_value pragma
- By discussing with Matz and several MRI committers, we decided to introduce conservative option and radical option as experimental.
* the name of pragma is `shareable_constant_value` because it affects values referred from constants (... -
07:49 PM Feature #17284: Shareable Proc
- `Ractor.make_shareable` does traverse reachable and not-already-shareable objects for other objects than Procs, it seems bad that it behaves differently for Proc.
I think the intention is clear with `Ractor.make_shareable(Proc.new{p a})... -
06:12 PM Feature #17284 (Closed): Shareable Proc
- Applied in changeset commit:git|5d97bdc2dcb835c877010daa033cc2b1dfeb86d6.
----------
Ractor.make_shareable(a_proc)
Ractor.make_shareable() supports Proc object if
(1) a Proc only read outer local variables (no assignments)
(2) read out... -
03:47 PM Feature #17284: Shareable Proc
- By discussion with Matz and several MRI committers, we decided that making shareable Proc should be more conservative.
* `Ractor.make_shareable(read_values)` should be danger to freeze objects unexpectedly.
* if all read variables are s... -
07:42 PM Misc #16778: Should we stop vendoring default gems code?
- @hsbt there was no response to https://bugs.ruby-lang.org/issues/16778#note-22
How about reopening this issue?
@deivid Are you still interested to do that PoC for a single default gem?
I think it would be helpful to make progress on... -
10:51 AM Misc #16778: Should we stop vendoring default gems code?
- >Now after the recent positive comments you changed the status to "rejected". Could you clarify?
It's my mistake.
But no one submit a patch for this issue while 6 months. I reject this. -
06:12 PM Revision 5d97bdc2 (git): Ractor.make_shareable(a_proc)
- Ractor.make_shareable() supports Proc object if
(1) a Proc only read outer local variables (no assignments)
(2) read outer local variables are shareable.
Read local variables are stored in a snapshot, so after making
shareable Proc, any... -
04:28 PM Feature #16670 (Closed): Reverse order of `expression` in `pattern` for 1-line pattern matching while it's still experimental
-
04:23 PM Feature #16670: Reverse order of `expression` in `pattern` for 1-line pattern matching while it's still experimental
- There were notes in the recent dev meeting that affect this issue: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201026Japan.md#feature-17260-promote-pattern-matching-to-official-feature-ktsj
`=>` is a new fea... -
04:06 PM Feature #17159: extend `define_method` for Ractor
- marcandre (Marc-Andre Lafortune) wrote in #note-8:
> How about:
> ...
Matz, how about this proposal?
-
04:05 PM Feature #17256 (Closed): Freeze all Regexp objects
- commit:7ad56fd87b35abf4933e0146761df91e9ec9890a
-
04:05 PM Feature #17269 (Closed): Frozen Process::Status
- commit:1c6ebe14fbdb2bc23878133cbf7a99ea856e3d89
-
03:09 PM Bug #17254 (Closed): ENV.replace may set nil instead of the proper value
- Applied in changeset commit:git|c0aeb98aa903334f06758d39c772cb22440d8a4e.
----------
Make ENV.replace handle multiple environ entries with the same key
While it is expected that all environment keys are unique, that is
not enforced. It... - 03:09 PM Revision 502d6d84 (git): * 2020-10-30 [ci skip]
-
03:08 PM Revision c0aeb98a (git): Make ENV.replace handle multiple environ entries with the same key
- While it is expected that all environment keys are unique, that is
not enforced. It is possible by manipulating environ directly you
can call a process with an environment with duplicate keys. If
ENV.replace was passed a hash with a key... -
02:42 PM Revision 07c03bc3 (git): check isolated Proc more strictly
- Isolated Proc prohibit to access outer local variables, but it was
violated by binding and so on, so they should be error. -
09:48 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- It would replace "C:/MSYS64/..." as "/C/MSYS64/...".
Where did a slash go? -
06:34 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- This is still and issue with Ruby 2.7.2.
The offending line of code is now at line 1908 in mkmf.rb.
-
09:14 AM Revision bf951c76 (git): An ellipsis (...) can only be placed at the beginning
-
06:26 AM Feature #17292: Hash Shorthand / Punning
- I would agree this is a duplicate, but in the last year we have had the introduction of the pattern matching syntax which makes this less of a syntactical oddity than it may have been in the past.
-
05:07 AM Feature #17292 (Closed): Hash Shorthand / Punning
- ### Set Literal vs Javascript Object Punning
There was a proposal for a Set literal here: https://bugs.ruby-lang.org/issues/16989
```ruby
set = { 1, 2, 3 }
```
...but it was brought up that this is similar to the Javascript Ob... -
05:50 AM Bug #17142: Ruby fails to build in AIX
- Are you using GCC to build ruby? What was the error you hit?
-
05:22 AM Feature #17168 (Closed): Bundle RBS
- Applied at commit:ba889100d850e973e519cebc48d5b4f1e8ab0034
-
04:51 AM Feature #17290: Syntax sugar for boolean keyword argument
- I would concur with Marc-Andre on this one, I believe punning would be a more valuable feature, especially for keyword arguments.
Examples:
```ruby
def method_name(foo: 1, bar: 2, baz: 3)
foo + bar + baz
end
foo = 1
bar = 2
baz = 3
... -
04:29 AM Feature #17290: Syntax sugar for boolean keyword argument
- I'm personally hoping that `strip: ` could be syntax sugar for `strip: strip`...
-
02:54 AM Feature #17290 (Closed): Syntax sugar for boolean keyword argument
- We frequently use keyword arguments just to pass `true` value out of the truthy/falsy options given. And in many such cases, the falsy option is set as the default, and only the truthy value is ever passed explicitly. I propose to have a...
-
03:05 AM Feature #17291 (Assigned): Optimize __send__ call
- I made a patch to optimize a `__send__` call. This optimization replaces a `__send__` method call with a call of the method whose name is the first argument of `__send__` method. The patch is available in [this pull-request](https://gith...
-
02:34 AM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- Let me tell you that I currently have no idea what is going on. If `rb_funcall` is broken the situation must be more catastrophic than what is reported here (happens once a day).
-
01:35 AM Revision 9f3adaf5 (git): Use public allocators for creating new T_OBJECT objects
- This way the header flags and object internals are set correctly
10/28/2020
-
11:11 PM Revision d8b0f1f7 (git): Objects are born embedded, so we don't need to check ivpr
- It's not necessary to check ivpt because objects are allocated as
"embedded" by default -
10:48 PM Bug #17142: Ruby fails to build in AIX
- I've added a pull request to fix this, though I don't have the ability to test on AIX: https://github.com/ruby/ruby/pull/3717
-
10:43 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- Sorry. “a huge amount of String garbage” is my misunderstanding.
But I don’t know under what situation this option may cause a bug.
-
10:42 PM Bug #17255 (Closed): Installation failed for ruby version 2.7.1: unknown encoding name: binary (ArgumentError)
-
10:29 PM Revision 58fd54f9 (git): Fix error in update-deps due to tab/space difference
-
10:27 PM Bug #13768 (Closed): SIGCHLD and Thread dead-lock problem
- Applied in changeset commit:git|dfb3605bbee9c3cfbc1c354594c367472f29cb35.
----------
Add Thread.ignore_deadlock accessor
Setting this to true disables the deadlock detector. It should
only be used in cases where the deadlock could be ... -
10:27 PM Revision dfb3605b (git): Add Thread.ignore_deadlock accessor
- Setting this to true disables the deadlock detector. It should
only be used in cases where the deadlock could be broken via some
external means, such as via a signal.
Now that $SAFE is no longer used, replace the safe_level_ VM flag
wi... -
08:59 PM Feature #17288: Optimize __send__ call with a literal method name
- Just a few things:
We need to also remember **.instance_variable_get()** and **.instance_variable_set()**.
Ruby does not quite use a similar "restriction-style" OOP like, say, java. It will
depend a lot on the style and preferences of ... -
08:48 PM Feature #17288: Optimize __send__ call with a literal method name
- shyouhei (Shyouhei Urabe) wrote in #note-4:
> Private methods shall not be called at the first place. Period. That is breaking encapsulation.
I wish that was the case, but Ruby access is *not expressive enough* for this to be the cas... -
12:32 PM Feature #17288: Optimize __send__ call with a literal method name
- Eregon (Benoit Daloze) wrote in #note-5:
> Here are the first 1000 .send() usages in gems:
> ...
So? I don’t think we should follow that. If people misunderstand what an OOPL is, we would better not confirm that.
> > Private method... -
10:09 AM Feature #17288: Optimize __send__ call with a literal method name
- Here are the first 1000 .send() usages in gems:
https://gist.github.com/eregon/21c8f14c478089c1a9295c21661583a9
420 of them use a literal Symbol for the first argument.
> Private methods shall not be called at the first place. Perio... -
09:58 AM Feature #17288: Optimize __send__ call with a literal method name
- zverok (Victor Shepelev) wrote in #note-3:
> @shyouhei what about private methods?
Private methods shall not be called at the first place. Period. That is breaking encapsulation.
Again I’m not against the ability to do such things... -
08:34 AM Feature #17288: Optimize __send__ call with a literal method name
- @shyouhei what about private methods?
-
08:25 AM Feature #17288: Optimize __send__ call with a literal method name
- Hello, I'm against this optimisation. `obj.__send__(:method)` should just be written as `obj.method`.
Not against the ability to write `obj.__send__(:method)`, but `obj.method` must be the preferable way and thus must be the fastest ... -
05:52 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- I think it would be nice to make it its own gem (`tvar` maybe?) given it's under `Thread` and not under `Ractor`, and it could most likely work on other Ruby implementations (e.g., TruffleRuby).
That should also make it possible to e.g.... -
05:29 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- I wrote a long-form blog post to give people interested in this proposed feature some context.
https://chrisseaton.com/truffleruby/ruby-stm/
I've also suggested a benchmark that we can start to use for experimenting. -
05:16 PM Revision a99f52d5 (git): Remove another unnecessary test
- Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768
-
04:57 PM Revision 5be42c1e (git): Remove unnecessary conditional
- As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will
always return a value, so we don't need to test whether or not we got
one. T_OBJECTs always come to life as embedded objects, so they will
return an ivptr, and when th... -
04:45 PM Revision 2c19c148 (git): If an object isn't embedded it will have an ivptr
- We don't need to check the existence if an ivptr because non-embedded
objects will always have one - 03:42 PM Revision 9190451f (git): * 2020-10-29 [ci skip]
-
03:41 PM Revision 0bbbb5a6 (git): `dest` is always embedded so we can remove this check
- 01:12 PM Revision 93e6364a (git): merge revision(s): 07786ed
- * test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h
On some environments that uses OpenSSL 1.1.1h, the two tests now fail.
http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z... -
12:19 PM Feature #17266: Bundle TypeProf
- mame (Yusuke Endoh) wrote in #note-5:
> Okay, I'll add it.
Thanks.
> ...
I think it's not a big issue if TypeProf is meant only as a CLI/standalone tool, and not a gem to `require` at runtime.
Then people can generate .rbs files ... -
12:40 AM Feature #17266: Bundle TypeProf
- > maybe still ship it but raise a nice error if used on RUBY_ENGINE != "ruby"?
Okay, I'll add it.
> ...
Sorry. In (far) future, I'd like to improve TypeProf to use AST instead of bytecodes if this project is considered successful. ... -
11:47 AM Bug #17212 (Feedback): FreeBSDで3.0.0-preview1のビルドが失敗する
-
05:16 AM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- Looking at it. Though I cannot reproduce this either.
mame (Yusuke Endoh) wrote in #note-2:
> This falls back to `rb_funcall`. This `rb_funcall` is replaced with `rb_funcallv_with_cc`. This should call FIXNUM's plus, but it seems ... - 01:22 AM Revision fb3c711d (git): compile.c: separate compile_builtin_function_call (#3711)
-
12:47 AM Revision 8f9c113f (git): Added benchmark of vm_send by variable [ci skip]
10/27/2020
-
10:21 PM Misc #16778: Should we stop vendoring default gems code?
- > We can extract like matrix, prime and tracer as bundled gems from the default gems.
That is not what I am looking for, nor what this issue is about. What I think we want (@deivid, me, and probably @eregon) is for the default gem sourc... -
05:17 PM Misc #16778: Should we stop vendoring default gems code?
- There are many default gems (listed on https://stdgems.org/), so making them bundled gems is a not a good solution, it only works for subset of them.
Anything transitively needed by RubyGems cannot be a bundled gem. -
01:32 PM Misc #16778: Should we stop vendoring default gems code?
- @hsbt In your previous message you said: "We still wait for the PoC of this issue.", and set status to "feedback". Now after the recent positive comments you changed the status to "rejected". Could you clarify?
-
12:58 PM Misc #16778 (Rejected): Should we stop vendoring default gems code?
- @headius
We can extract like matrix, prime and tracer as bundled gems from the default gems.
But that is the different scope of this issue. If you are interested in it, can you submit a new issue? -
09:55 PM Feature #9459: Net::HTTP initializes openssl library after TCP connection is established
- This appears to still be an issue, though I think this is a feature request and not a bug. I've submitted the patch as a pull request to the net-http repository: https://github.com/ruby/net-http/pull/4
-
09:32 PM Bug #9595 (Rejected): Float#to_d inconsistent between 2.0.0 and 2.1.1
- BigDecimal behavior has remained the same since 2.1, and 2.0's excessive precision was actually a bug, fixed in commit:1699396fe502d929ced019dc0dd3463a35fbf6d3.
-
06:35 PM Feature #17288: Optimize __send__ call with a literal method name
- I think `obj.send(:foo)` should be optimized too, to not create a an arbitrary performance difference between `send` and `__send__`.
`send` is also used ~15x used more frequently than `__send__` in gems, so that would be even more valua... -
08:32 AM Feature #17288 (Assigned): Optimize __send__ call with a literal method name
- I made a patch to optimize a `__send__` call with a literal method name. This optimization replaces a `__send__` method call with a `send` instruction. The patch is available in [this pull-request](https://github.com/ruby/ruby/pull/370...
-
06:08 PM Feature #17266: Bundle TypeProf
- Since TypeProf [depends on CRuby bytecodes](https://github.com/ruby/typeprof/blob/master/lib/typeprof/iseq.rb), probably it should be excluded on alternative implementations since it won't work?
Or maybe still ship it but raise a nice e... -
02:10 PM Feature #17266: Bundle TypeProf
- Yes, thanks!
-
11:25 AM Feature #17266 (Closed): Bundle TypeProf
- Applied at commit:c05e41035c01ab38bdb279601a08e17921bcdc8e
- 03:29 PM Revision 915024e3 (git): * 2020-10-28 [ci skip]
-
03:27 PM Revision c1bebbb2 (git): test/ruby/test_rational.rb: Prevent "assigned but unused variable"
-
03:22 PM Bug #17289 (Assigned): Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- @shyouhei I suspect if this is due to 2.7's new method cache. Could you check it out?
```
/opt/ruby/lib/libruby.so.2.7(timew_out_of_timet_range+0x1c) [0x7fc1188c2ef4] time.c:1664
```
```
1664 if (lt(timexv, mulv(INT2FIX(TIME_SCALE)... -
12:35 PM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- Additional Information:
* I used to use v2.6.2 and Segmentation fault does not occur at that time.
* This stacktrace is reproducible. whenever this error occurs the stacktrace is the same.
-
12:29 PM Bug #17289 (Feedback): Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- Segmentation Fault occurred when I run Time#strftime via Time#iso8601 on ruby-2.7.2.
It occurs repeatedly about once a day in our system.
Because it was not possible to make a reproduction case in a simple environment, I share the C Le... -
02:26 PM Revision 8e060754 (git): Revert "Fixed typo"
- This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3.
This "typo" is intentional to test the transposition detection by
did_you_mean. - 02:25 PM Revision dcc231c8 (git): merge revision(s): 07786ed
- test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h
On some environments that uses OpenSSL 1.1.1h, the two tests now fail.
http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z.f... -
02:20 PM Feature #17187 (Assigned): Add connect_timeout to TCPSocket
-
01:59 PM Revision 379a5ca5 (git): Fixed typo
-
12:48 PM Bug #17213: Rails CI against Ruby 3.0.0dev fails likely since a53e2850c572135ed657144bc14e47b29c64fa94
- It also reproduces with the latest `rubylang/ruby:master-debug-nightly-bionic` which generate large log file like assetions. Attached the gzipped log file to this ticket.
* Reproduced with `rubylang/ruby:master-debug-nightly-bionic`
... -
12:35 PM Feature #17281: Remove support for mathn
- I'm +1 to this. Can we remove it without approval from Matz?
-
07:28 AM Bug #17220: Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
- As `getaddrinfo` and `getaddrinfo_a` are not in the async-signal-safe function list in POSIX.1-2001, it can't work in both way.
So the "POSIXLY-correct" answer is "you must not use that method in forked process".
-
07:12 AM Revision 3198e7ab (git): Separate `send` into `public_send` and `__send__`
-
05:42 AM Revision acdb8933 (git): Removed unused environment variable
-
04:25 AM Feature #17284: Shareable Proc
- marcandre (Marc-Andre Lafortune) wrote in #note-13:
> ko1 (Koichi Sasada) wrote in #note-12:
> ...
Is "reassignments" `a = 1`?
Yes. It is checked at `#freeze` timing (if there is assignments to outer variables, raise an error).
> W... -
02:49 AM Feature #17284: Shareable Proc
- ko1 (Koichi Sasada) wrote in #note-12:
> My understanding:
> ...
Indeed. But `freeze` must do special check for reassignments.
What I dislike about `Proc#freeze` is that it does not make intuitive sense to me. A `Proc` is not mutabl... -
01:17 AM Feature #17284: Shareable Proc
- marcandre (Marc-Andre Lafortune) wrote in #note-11:
> This is already possible, (even if the block does not refer to `a`):
> ...
It is true. But the degree is not same. It is easy to freeze them accidentally.
So Matz and other attende...
10/26/2020
-
11:55 PM Revision 135d3690 (git): [DOC] more precise description of "**" in Dir.glob pattern [ci skip]
-
11:31 PM Bug #17220: Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
- I checked the glibc source, and it intentionally keeps the thread alive:
```c
/* If the runlist is empty, then we sleep for a while, waiting for
something to arrive in it. */
if (runp == NULL && optim.gai_idle_time >=... -
09:03 PM Misc #16778: Should we stop vendoring default gems code?
- Sounds great.
-
08:48 PM Misc #16778: Should we stop vendoring default gems code?
- +1000 for this. JRuby is currently the only Ruby implementation that sources the default and bundled gems exclusively from released gems, and as a result we frequently have to chase down rogue changes and unreleased code when we upgrade ...
-
08:44 PM Revision c56fdaec (git): Revert assert for debugging on CI
- This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49.
The bug seems to have been fixed. -
06:33 PM Feature #17287 (Closed): Faster Pathname FileUtils methods
- I have a patch that I would like to merge into Pathname for increased performance. I understand that akr maintains pathname and may not be on GitHub. Here is a link to my patch:
https://github.com/ruby/ruby/pull/3693
Here is the di... -
05:44 PM Feature #17284: Shareable Proc
- ko1 (Koichi Sasada) wrote in #note-8:
> Today's meeting, there are comments:
> ...
This is already possible, (even if the block does not refer to `a`):
```ruby
def foo(&b) b.binding.local_variable_get(:a).freeze; end
a = [1]
fo... -
04:15 PM Feature #17284: Shareable Proc
- > (b) If we can read an outer lvar but it is not frozen/made shareable, I guess that can only mean it is deep-copied?
in dev-meeting, there is same comment: they should copy everything and freeze them instead of marked as frozen and s... -
04:12 PM Feature #17284: Shareable Proc
- I have several question about Proc#detach to understand your idea.
```ruby
x = 1
a = ary = []
pr = Proc.new { ary << x ; x += 1 }.detach
x = ary = nil # no effect on `p`, as binding is detached # ko1: what is `p`? `pr`?
pr.call # =>... -
03:55 PM Feature #17284: Shareable Proc
- Today's meeting, there are comments:
* (c) is too danger to freeze reachable objects from reachable local variables.
```ruby
def foo(&b) b.shareable!; end
a = [1]
foo{ p a }
a << 2 #=> frozen error
```
This example is more worse beca... -
01:26 PM Feature #17284: Shareable Proc
- (a) The method name `isolate` sounds like it will convert the proc to make it isolated, but it seems all it does is raise an error if the proc is not already isolated from the outer scope?
(b) If we can read an outer lvar but it is not ... -
08:07 AM Feature #17284: Shareable Proc
- (c) sounds the most useful and general.
While reading the description, I thought `Proc#deep_freeze` is a good name.
That clearly says it will freeze transitively the closure (stopping at shareable objects).
I think it would be goo... -
05:25 AM Feature #17284: Shareable Proc
- ko1 (Koichi Sasada) wrote in #note-4:
> Thank you for your reply.
Here's a longer reply.
I would like a method to make a Proc independent of the binding it was created in. I'm thinking of `Proc#detach` that would make a snapshot o... -
01:34 AM Feature #17284: Shareable Proc
- Thank you for your reply.
> I'm not sure of the use-cases for a) or b).
Do you think `Ractor.new()` can call (c) instead of current (a)?
In other words, can we accept (1) and (2) in the following example?
```
b = a = []
Ractor.new do
... -
04:45 PM Revision 7ad56fd8 (git): freeze dynamic regexp literals
- Regexp literals are frozen, and also dynamically comppiled Regexp
literals (/#{expr}/) are frozen. -
04:42 PM Bug #17146 (Feedback): Queue operations are allowed after it is frozen
- At last dev-meeting we skipped this issue because it is difficult, but no benefit to change the current behavior.
BTW
> AFAIK no other class undefines #freeze, that seems unfriendly.
`ENV.freeze` raises an error (`freeze': canno... -
04:40 PM Feature #17256: Freeze all Regexp objects
- > ko1 (Koichi Sasada) Could you show the errors from the tests?
Sorry I lost the patch.
Anyway, at last dev-meeting, freezing all Regexp *literals* including dynamically created objects are accepted.
I don't have objection to free... - 04:37 PM Revision f8d264fd (git): * 2020-10-27 [ci skip]
-
04:37 PM Revision 1c6ebe14 (git): freeze Process::Status
- It seems immutable information.
-
04:37 PM Feature #17269: Frozen Process::Status
- This proposal is accepted and I'll merge it to try.
-
04:36 PM Feature #17270: ObjectSpace.each_object should be restricted on multi-Ractors
- This proposal was confirmed.
We need to introduce same filter for some other methods... -
04:36 PM Bug #17268: special global variables which can be accessed from ractors
- The proposal is accepted.
> I wonder if "regular" global variables should be Ractor-local, or behave like constants.
This is rejected at first by Matz (my original proposal is making all $gvars are ractor-local), to avoid confusion.
-
04:34 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
- At last dev-meeting, this proposal is not accepted to introduce it in core because the importance of this feature is not sure.
Maybe I'll introduce as ractor gem to study the API and usefulness of this feature.
-
04:29 PM Feature #17273: shareable_constant_value pragma
- Today's (yesterday's) dev-meeting, there is a comment:
* It is possible to break other library easily:
```ruby
require 'other-lib'
# sharable_constants: true
A = OtherLib::MutableArray # freeze OtherLib::MutableArray accidentally
```... -
04:21 PM Feature #17278: On-demand sharing of constants for Ractor
- I also +1 for Matz because of non-deterministic behavior.
-
03:24 PM Feature #17278: On-demand sharing of constants for Ractor
- The mechanism's _implementation_ may be a little complex but I think _usage_ is quite simple. In the vast majority of cases the developer doesn't need to think about anything; existing constants will just work with ractors. It's like GC ...
-
09:04 AM Feature #17278 (Feedback): On-demand sharing of constants for Ractor
- I understand the benefit of the proposal but the mechanism behind is too complex and can cause unexpected result with concurrency (e.g. race conditions). It's the code (design) smell. We need more time to investigate further.
Matz.
-
03:15 AM Feature #17278: On-demand sharing of constants for Ractor
- Eregon (Benoit Daloze) wrote in #note-5:
> A performance concern is this will make the first `rb_check_frozen()` to any constant need the process-global lock (or a more fine-grained lock, but then it will increase footprint).
> ...
I w... -
03:59 PM Feature #17143: Improve support for warning categories
- matz (Yukihiro Matsumoto) wrote in #note-10:
> I am OK with warning categories. But the proposed categories are too fine-grained, I think. Here's the Python warning categories:
> ...
Here are the Python 3 warning categories, along with... -
07:50 AM Feature #17143: Improve support for warning categories
- I am OK with warning categories. But the proposed categories are too fine-grained, I think. Here's the Python warning categories:
https://docs.python.org/3/library/warnings.html#warning-categories
Matz. -
03:26 PM Feature #17286: `Ractor.new` should accept `move: true`
- I'm also thinking about the same feature, and the problem is, maybe we should choose move or copy on each parameters:
```ruby
Ractor.new io, # want to move
str # want to copy
do |io, str|
io.puts str
end
```
and I have n... -
05:10 AM Feature #17286 (Open): `Ractor.new` should accept `move: true`
- Another surprise when writing my backport is that `Ractor.new` does not accept `move:` keyword argument.
```ruby
Ractor.new(val, move: true) { |data| ... }
# equivalent to
Ractor.new { data = Ractor.receive; ... }.tap { |r| r.send(... -
02:40 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- nobu (Nobuyoshi Nakada) wrote in #note-42:
> `Kernel#send` should be deprecated because of `BasicObject#__send__`.
I think that's not reasonable.
There seem to be ~424649 usages of `.send` in gems, vs only ~28004 of `.__send__` (htt... -
02:18 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Trying to recap the ideas...
0) Use `send`; `Kernel#send` should be deprecated because of `BasicObject#__send__` (amazing nobu!)
1) Use a different name entirely; `accept`, `yield`, `pass`, `call`, `post`, `queue`, `deliver`
2) Use a ... -
01:41 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- duerst (Martin Dürst) wrote in #note-41:
> Send would be the best name, except that that we are not in a vacuum. It is bad practice to have one and the same name for two fundamentally different and colliding functionalities.
Agreed.
... -
09:25 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- ko1 (Koichi Sasada) wrote in #note-37:
> I believe `send` is the best name, so I disagree about it.
Send would be the best name, except that that we are not in a vacuum. It is bad practice to have one and the same name for two fund... -
07:30 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- marcandre (Marc-Andre Lafortune) wrote in #note-38:
> `send` accepts `move: true`, so `ractor.<<(data, move: true)` looks very odd.
Good point.
Maybe a good way to avoid/workaround that issue would be to have `Ractor#move(obj)` (or ... -
05:36 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- ko1 (Koichi Sasada) wrote in #note-37:
> I believe `send` is the best name, so I disagree about it.
I understand that. Please consider that many people find this a really bad name though. What would be the second best name? What does... -
05:33 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-36:
> Currently there is the alias `Ractor#<<`, maybe we should use that consistently instead of `send` in the docs, tests, etc?
> ...
`send` accepts `move: true`, so `ractor.<<(data, move: true)` ... -
01:36 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- marcandre (Marc-Andre Lafortune) wrote in #note-31:
> There might very well be a `SharedArray` class, but I don't see how `Array` could ever become shareable.
Sorry, I think my point was not very clear. Replace "Array" with any class... -
09:02 AM Feature #17145: Ractor-aware `Object#deep_freeze`
- I made a mistake in the previous message (the reply was for another issue). Sorry for confusion.
As far as I undestand, the behavior of `freeze` and `make_shareable` are different. So making `deep_freeze` Ractor-aware does not make se... -
07:58 AM Feature #17145 (Rejected): Ractor-aware `Object#deep_freeze`
- This looks very interesting, but it would introduce quite big incompatibility. I don't want to break existing code.
Matz.
-
07:46 AM Feature #17145: Ractor-aware `Object#deep_freeze`
- marcandre (Marc-Andre Lafortune) wrote in #note-31:
> My understanding is that will never be the case. You can't have 1) fast and 2) concurrent access to mutable data.
Digressing a bit, I would say it's possible ([thread-safe Array](htt... -
05:28 AM Feature #17145: Ractor-aware `Object#deep_freeze`
- Dan0042 (Daniel DeLorme) wrote in #note-30:
> Let's say that in the future Array becomes Ractor-safe (i.e. shareable). Would that mean then that `[].deep_freeze` would no longer freeze the array?
My understanding is that will never b... -
12:15 PM Revision bdd1d17a (git): Allow non-argument endless-def with a space instead of parentheses
-
09:44 AM Feature #17265: Add `Bool` module
- I'm planning to make the semantics of `bool` in RBS (in the next release). It will be an alias of `true | false` and we will add another type for conditionals, something like `type boolish = top`.
So, I feel there is no strong reason ... -
07:55 AM Feature #17265 (Feedback): Add `Bool` module
- RBS side is up to @soutaro etc. I am still against Ruby side. @marcandre stated about communication with other typed systems / data interchange as a benefit, but we are not going to make Ruby (type-wise) compatible with statically typed ...
-
09:43 AM Bug #16518 (Closed): Should we rationalize Rational's numerator automatically? - Applied in changeset commit:git|69837229d74813c807e9d079aaee33aec2c7a4d0.
----------
rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702)
This makes `Rational(BigDecimal(1), 60) == Rational(1, 60... -
03:44 AM Bug #16518 (Assigned): Should we rationalize Rational's numerator automatically?
- I'm working on it at https://github.com/ruby/ruby/pull/3702
- 09:43 AM Revision 69837229 (git): rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702)
- This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`.
[Bug #16518] -
09:00 AM Feature #17260 (Closed): Promote pattern matching to official feature
- Applied in changeset commit:git|52c630da004d9273e8e5fc91c6304e9eed902566.
----------
Assoc pattern matching (#3703)
[Feature #17260] One-line pattern matching using tASSOC
R-assignment is rejected instead. -
09:00 AM Revision 52c630da (git): Assoc pattern matching (#3703)
- [Feature #17260] One-line pattern matching using tASSOC
R-assignment is rejected instead. -
07:52 AM Feature #17171 (Rejected): Why is the visibility of constants not affected by `private`?
- This looks very interesting, but it would introduce quite big incompatibility. I don't want to break existing code.
Matz.
-
07:47 AM Feature #17259 (Closed): Kernel#warn should ignore <internal: entries
- Applied in changeset commit:git|cffdacb15a363321e1c1879aa7d94924acafd1cf.
----------
Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)
* Fixes [Bug #17259] -
05:27 AM Feature #17259: Kernel#warn should ignore <internal: entries
- Accepted.
Matz.
-
07:47 AM Revision cffdacb1 (git): Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)
- * Fixes [Bug #17259]
-
07:47 AM Revision fbb2d30e (git): Add specs that #caller and #caller_locations include core library methods defined in Ruby
-
07:20 AM Revision 3673c3ea (git): Update to ruby/spec@b164536
-
07:06 AM Revision ba24aee2 (git): Remove spec which is too difficult to get working with various compilers
- * The spec means to use an actual system library function, not a wrapper.
-
06:40 AM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
- Accepted as long as it's turned off by default.
Matz.
-
05:00 AM Feature #17187: Add connect_timeout to TCPSocket
- Accepted.
Matz.
-
05:00 AM Feature #17187: Add connect_timeout to TCPSocket
- document?
-
04:45 AM Bug #11202 (Rejected): No warning when a link to an original method body was removed
- I don't think the benefit is worth the complexity.
Matz.
-
04:36 AM Bug #11808: Different behavior between Enumerable#grep and Array#grep
- Sorry we need more time to consider.
-
04:34 AM Bug #13768: SIGCHLD and Thread dead-lock problem
- This issue told us there's false positive in our deadlock detector. So I accept adding `Thread.ignore_deadlock = true`.
Matz, -
04:29 AM Bug #14012 (Rejected): NameError is raised when use class variables in Refinements
- I officially reject this proposal. Class variables are no longer encouraged to use.
Matz.
-
03:15 AM Feature #17285: Less strict `Ractor.select`
- For (0), I'm thinking to introduce `Ractor::Selector` (or similar) to manage the ractors.
```
sel = Rcator::Selector.new
sel.receive(r1) do |msg| ... end
sel.receive(r2) do |msg| ... end
sel.wait # Ractor.select(r1, r2)
```
an... -
02:49 AM Feature #17285 (Open): Less strict `Ractor.select`
- Summary: could we have a way for `Ractor.select` to skip ractors with closed queues and raise only if no ractor with an open queue remains?
Detail:
I [backported `Ractor` for earlier Ruby versions](https://github.com/marcandre/back... -
01:12 AM Feature #17282 (Third Party's Issue): Deprecate Digest::SHA1
- Digest is now a separate project. https://github.com/ruby/digest
P.S. I want "2nd party's issue" status. `ruby/digets` is not a 3rd party. -
12:09 AM Revision 507af754 (git): [DOC] Expanded glob patterns for Dir.glob
- No longer need to get rid of C block comments in builtin ruby
script comments. -
12:05 AM Revision 3cb03a00 (git): Include c_escape.rb in COMPILE_PRELUDE
- template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb.
-
12:01 AM Revision 396e9210 (git): Escape '/*' within block comment too
10/25/2020
-
11:16 PM Revision b6d0b3df (git): Use gcc-specific pragma only on gcc (and the family)
-
10:56 PM Revision ff2276ef (git): Fix bootstrap-test error in previous commit
-
10:39 PM Bug #10845: Subclassing String
- I've added a pull request for making String methods consistently return String instances when called on String subclasses: https://github.com/ruby/ruby/pull/3701
For the reasons @marcandre mentioned, I think this makes more sense. In... - 10:10 PM Revision 9c8f0a34 (git): Use 'shareable' with an 'e' [ci skip]
-
09:30 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Let's say that in the future Array becomes Ractor-safe (i.e. shareable). Would that mean then that `[].deep_freeze` would no longer freeze the array?
-
07:33 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Not only should the default be `skip_shareable: true`, I don't really see the use-case for `skip_shareable: false`. Unless someone comes up with one, the option should probably be removed altogether, or maybe we could start without the o...
-
01:45 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- ko1 (Koichi Sasada) wrote in #note-26:
> So classes/module should be frozen if `[C].deep_freeze`.
I think it's very rare somebody would want that.
Would that freeze the `Array` class too because the class is reachable from the object?
... - 08:45 PM Revision 8376cae2 (git): * 2020-10-26 [ci skip]
- 08:44 PM Revision 5e6f9fd8 (git): Tweak a few Ractor tests that were missing comments [ci skip]
- 08:38 PM Revision ee54075a (git): Remove trailing whitespace [ci skip]
-
08:08 PM Feature #17159: extend `define_method` for Ractor
- How about:
```ruby
define_method(:name, make_shareable: true) { ... }
# equivalent to:
define_method(:name, &Ractor.make_shareable(Proc.new{...}))`
```
With `make_shareable` as making accessed external variables shareable and not reass... -
08:04 PM Feature #17284: Shareable Proc
- I think c) semantics are definitely the most useful.
For API: `Ractor.make_shareable(proc)` (and equivalently `proc.deep_freeze`)
I'm not sure of the use-cases for a) or b). -
07:33 PM Feature #17284: Shareable Proc
- https://github.com/ruby/ruby/pull/3700
for `Ractor.make_shareable(a_proc)` (`a_proc` becomes shareable Proc with (c) shareable! semantics). -
05:04 PM Feature #17284 (Closed): Shareable Proc
- For some reasons, we need to provide a way to make sharable Proc between ractors.
* (1) A block for the `Ractor.new`.
* (2) Send a proc between ractors.
* (3) A block for global callback methods: `define_method` ([Bug #17159]), `Tra... -
01:33 PM Feature #17278: On-demand sharing of constants for Ractor
- Eregon (Benoit Daloze) wrote in #note-5:
> Also, and maybe more clearly, it would require every single Ruby constant read in the main Ractor to check that FL_AUTOSHARE flag, whether or not Ractors are used.
Actually not this one, bas... -
01:21 PM Feature #17278: On-demand sharing of constants for Ractor
- A performance concern is this will make the first access to any constant need the process-global lock (or a more fine-grained lock, but then it will increase footprint).
That's not negligible, especially when considering to reuse JIT'ed... -
01:14 PM Bug #17283: Why does Dir.glob's ** match files in current directory?
- Eregon (Benoit Daloze) wrote in #note-2:
> Interestingly this behavior differs between Bash and Zsh:
Bash **doesn't** support `**`, and it just equals `*`. -
12:25 PM Bug #17283 (Closed): Why does Dir.glob's ** match files in current directory?
- Applied in changeset commit:git|e880d075f847ff17e1bc77301a9ed363fb40525b.
----------
[DOC] refined "**" description in `Dir.glob` [ci skip]
As same as the description for `File.fnmatch`.
[Bug #17283] -
12:23 PM Bug #17283: Why does Dir.glob's ** match files in current directory?
- Interestingly this behavior differs between Bash and Zsh:
```
$ tree
.
├── dir
│ └── subfile
└── foo
$ bash
$ echo **
dir foo
$ echo **/*
dir/subfile
$ zsh -f
$ echo **
dir foo
$ echo **/*
dir dir/subfile foo
```
I think we cannot c... -
01:11 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-36:
> Currently there is the alias `Ractor#<<`, maybe we should use that consistently instead of `send` in the docs, tests, etc?
I believe `send` is the best name, so I disagree about it. -
12:42 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- marcandre (Marc-Andre Lafortune) wrote in #note-35:
> What about `send`? Should we use `yield`? `pass`? `call`?
Currently there is the alias `Ractor#<<`, maybe we should use that consistently instead of `send` in the docs, tests, etc?
(... -
01:07 PM Revision 25a332f5 (git): Fix compilation on MSVC
- * cast scalar value instead of function
* use `rb_pid_t` for the portability -
12:57 PM Feature #17273: shareable_constant_value pragma
- Maybe the pragma should be `# frozen_constants: true`?
"Freezing a constant" is intuitively "deeply-freeze the value", isn't it?
And since we already have `# frozen_string_literal: true` it would make nice connection.
Also, `share... -
12:24 PM Revision e880d075 (git): [DOC] refined "**" description in `Dir.glob` [ci skip]
- As same as the description for `File.fnmatch`.
[Bug #17283] - 10:43 AM Revision 8d22dd8c (git): * 2020-10-25 [ci skip]
-
10:42 AM Revision 99e067ea (git): Try to fix compilation on MSVC
10/24/2020
-
07:57 PM Bug #17283 (Closed): Why does Dir.glob's ** match files in current directory?
- If my current directory has 1 file and 1 dir, and I use `Dir.glob("**/*")` or even just `**`, both the dir and the file would be matched.
I would expect that only the dir will be matched, since the glob starts with `**`, which wants t... -
02:51 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- I took a quick look, the logic to set $~ is here:
https://github.com/ruby/ruby/blob/148961adcd0704d964fce920330a6301b9704c25/re.c#L1608-L1623
It does not seem so expensive, but the region is allocated which xmalloc() which is probabl... -
02:30 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- scivola20 (sciv ola) wrote in #note-5:
> I believe that people who can use `match?` and `match` methods properly, can use this new Regexp option properly.
I disagree, `match?` is clear, I think `=~` suddenly not setting `$~` would be... -
01:34 AM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- I believe that people who can use `match?` and `match` methods properly, can use this new Regexp option properly.
By the way, the total size of ``$` ``, `$&`, `$'` equals to the size of the target string. Therefore a huge amount of St... -
01:53 PM Revision 148961ad (git): Update to ruby/spec@4f59d86
-
01:53 PM Revision 342fbae8 (git): Update to ruby/mspec@b56e7a2
- 01:52 PM Revision 1388257d (git): * 2020-10-24 [ci skip]
-
01:51 PM Revision 71f69954 (git): Tweaks for the ruby/spec workflow
-
05:34 AM Feature #17282: Deprecate Digest::SHA1
- Note that we don't currently even deprecate MD5, and if we were going to deprecate SHA1 due to security issues, we should deprecate MD5 first since it's even worse. I think we should strongly discourage the use of MD5 and SHA1 in the Di...
-
05:06 AM Feature #17282 (Third Party's Issue): Deprecate Digest::SHA1
- In light of the widespread deprecation of SHA1 due to collision risk it poses, should Ruby still expose it without a warning within Digest::SHA1?
[FIPS PUB 180-1](https://csrc.nist.gov/publications/detail/fips/180/1/archive/1995-04-1... -
03:38 AM Misc #17200: DevelopersMeeting20201026Japan
- * [Ticket #17208] Add `Set#compact` and `Set#compact!` methods (koic)
* Is this proposal acceptable? -
12:25 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- We now have `receive`, very good.
What about `send`? Should we use `yield`? `pass`? `call`?