Activity
From 08/28/2020 to 09/03/2020
09/03/2020
-
11:35 PM Feature #16990: Sets: operators compatibility with Array
- Eregon (Benoit Daloze) wrote in #note-6:
> I don't expect Array "set" operations to magically know about the Set representation.
I would like to expect it 😆
> ...
Yes
> And then that makes the return type inconsistent with `set... -
11:29 PM Feature #16990: Sets: operators compatibility with Array
- knu (Akinori MUSHA) wrote in #note-4:
> We can probably define Set#to_ary if it's OK, and Array#+ will be able to deal with a set. Let us think about the downsides...
While this may be a good thing, and at least make them interopera... -
02:00 PM Feature #16990: Sets: operators compatibility with Array
- Because Array and Set are fundamentally different, I think ensuring both operands have the same type, explicitly or internally, is completely reasonable.
I don't expect Array "set" operations to magically know about the Set representati... -
08:50 AM Feature #16990: Sets: operators compatibility with Array
- As for the result type, I think Array operators should return arrays. Otherwise `array += set` would turn the variable `array` to a Set and that would be a surprise.
-
08:47 AM Feature #16990: Sets: operators compatibility with Array
- We can probably define Set#to_ary if it's OK, and Array#+ will be able to deal with a set. Let us think about the downsides...
-
12:09 AM Feature #16990: Sets: operators compatibility with Array
- Eregon (Benoit Daloze) wrote in #note-2:
> Isn't `[1].to_set + Set[2]` a good workaround here?
Did you mean only for `+`, or for all operators? Take `-` for example... `ary.to_set - set` the `to_set` is wasteful, and I don't want to ... -
11:09 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- ko1 (Koichi Sasada) wrote in #note-28:
Thanks for all your replies!
> ```ruby
> ...
Surprising to me, I think unintended, I filed #17146.
> I believe `Ractor#send` is best name because it sends an message.
"Sending a message... -
08:26 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- marcandre (Marc-Andre Lafortune) wrote in #note-24:
> I find `Ractor` very promising 🎉
Thanks, I hope so.
> ...
I introduced `shareable` flag into objects (`FL_SHAREABLE` in C level).
Once the interpreter found it is immutable, this fl... -
08:18 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-23:
> Here is a problematic case on `master` sharing mutable state via `define_method`:
Exactly. `define_method` is also the big issue...
The Proc object referred from defined method is not isolated... -
08:14 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- I don't care about the name `recv` and `receive`.
Eregon (Benoit Daloze) wrote in #note-19:
> @ko1, @matz Which one(s) do you like in this list?
I believe `Ractor#send` is best name because it sends an message.
It is conflicts wi... -
08:04 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- > I feel Ractor#send mutates the Ractor's state and frozen Ractor shouldn't accept any messages.
However, I don't against to freeze Ractors.
```ruby
q = Queue.new
q.freeze
q << 1
```
is working (I'm not sure it is intentional)... -
08:01 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-18:
> @ko1 Can you review these potential performance overheads of adding Ractors? (and so potential regressions for code not using Ractors)
> ...
Yes. I didn't think it is huge cost.
BUT
`... -
07:46 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Sorry I missed your question.
Eregon (Benoit Daloze) wrote in #note-8:
> Instance variables on modules should probably be consistent with constants.
> ...
I think we can expect "Constants" are defined at once at the beginning of cod... -
06:50 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- I find `Ractor` very promising 🎉
The impact is severily limited without support for user-based immutable types. Is that planned for 3.0?
I'm curious what is the technical difficulty. I mean, can't existing builtin `freeze` check fo... -
02:43 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- @mame Regarding OptCarrot, I think having `deep_freeze` would be a great help.
But I wonder, maybe `Object.deep_freeze` would work to freeze all constants very succintly?
Some constants expect to be mutable, so I guess it doesn't work ... -
02:32 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- joanbm (Joan Blackmoore) wrote in #note-20:
I'll disregard your offensive comment, I tried to summarize the poll as good as I can.
This is my interpretation of the poll, and everyone can interpret as they want.
Of course it's a poll... -
12:11 PM Feature #17100 (Closed): Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Applied in changeset commit:git|79df14c04b452411b9d17e26a398e491bca1a811.
----------
Introduce Ractor mechanism for parallel execution
This commit introduces Ractor mechanism to run Ruby program in
parallel. See doc/ractor.md for more ... -
10:53 PM Bug #17146 (Closed): Queue operations are allowed after it is frozen
- ```
[1] pry(main)> q = Queue.new
=> #<Thread::Queue:0x000056263683aee8>
[2] pry(main)> q.freeze
=> #<Thread::Queue:0x000056263683aee8>
[3] pry(main)> q << 1
=> #<Thread::Queue:0x000056263683aee8>
[4] pry(main)> q.pop
=> 1
[5] pr... -
09:44 PM Feature #16989: Sets: need ♥️
- matz (Yukihiro Matsumoto) wrote in #note-17:
> I agree with some of your proposals (#16990, #16991, #16993, #16995). I want @knu to work on this. If I missed something, he will tell us.
Thank you for reviewing these :-)
> ...
Righ... -
09:44 PM Feature #16989: Sets: need ♥️
- knu (Akinori MUSHA) wrote in #note-18:
> OK, I think it's good for us now to diverge from the original philosophy of Set when I first wrote it and pursue the performance and integrity with other parts of Ruby. There are many parts in S... -
07:48 AM Feature #16989: Sets: need ♥️
- OK, I think it's good for us now to diverge from the original philosophy of Set when I first wrote it and pursue the performance and integrity with other parts of Ruby. There are many parts in Set where I avoided optimization in order t...
-
01:14 AM Feature #16989: Sets: need ♥️
- I agree with some of your proposals (#16990, #16991, #16993, #16995). I want @knu to work on this. If I missed something, he will tell us.
I strongly disagree with #16994. There's no evidence we need frozen sets of strings or symbols ... -
09:41 PM Revision d4585e74 (git): Avoid potential for rb_raise() while crashing
- rb_obj_raw_info is called while printing out crash messages and
sometimes called during garbage collection. Calling rb_raise() in these
situations is undesirable because it can start executing ensure blocks. -
08:44 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- > I think these objects should stop the propagation. The name make_shareable_via_ractor_by_deep_freezing_what_is_necessary would be more accurate but too long 😆
> ...
For Ractor, it is very clear. Another candidate is `to_shareable`?
... -
07:39 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- ko1 (Koichi Sasada) wrote in #note-4:
> One concern about the name "freeze" is, what happens on shareable objects on Ractors.
> ...
I think these objects should stop the propagation. The name `make_shareable_via_ractor_by_deep_freezing_w... -
07:34 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Eregon (Benoit Daloze) wrote in #note-3:
> A dynamic call to `freeze` causes extra calls
Yes
> ...
That won't add any noticeable overhead
> Is there a compelling reason to call a user-defined `freeze` for every value?
Yes. S... -
07:27 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Maybe we should have a method that ensure an object graph is shareable?
Not sure what a good name for that would be (shareable is hard to spell).
So that would noop for special shareable objects like you say, and freeze the rest.
Note... -
07:20 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- One concern about the name "freeze" is, what happens on shareable objects on Ractors.
For example, Ractor objects are shareable and they don't need to freeze to send beyond Ractor boundary.
I also want to introduce Mutable but sharea... -
07:06 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- A dynamic call to `freeze` causes extra calls, and needs checks that it was indeed frozen.
So for efficiency I think it would be better to mark as frozen internally without a call to `freeze` on every value.
Also a leaf `freeze` call... -
06:42 PM Feature #17145 (Rejected): Ractor-aware `Object#deep_freeze`
- I'd like to propose `Object#deep_freeze`:
Freezes recursively the contents of the receiver (by calling `deep_freeze`) and
then the receiver itself (by calling `freeze`).
Values that are shareable via `Ractor` (e.g. classes) are neve... -
07:29 PM Misc #17138: DevelopersMeeting20200925Japan
- * [Feature #17143] Improve support for warning categories (jeremyevans0)
* Warning.warn :category keyword support was approved last developer meeting.
* I would like to add Kernel#warn :category keyword for Ruby-level warnings, and... -
09:24 AM Misc #17138: DevelopersMeeting20200925Japan
- * [Bug #17144] Tempfile.open { ... } does not unlink the file (eregon)
* OK to keep the change and make Tempfile.open(&block) finally intuitive? Some usages might need updating but it seems very few.
* `SomeClass.open { ... }` shou... - 07:09 PM Revision e0a749c0 (git): * 2020-09-04 [ci skip]
-
07:07 PM Revision 3f922f3b (git): don't use toplevel return
- Toplevel return is supported after Ruby 2.4, so don't use it
for older BASERUBY. -
06:56 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- Dan0042 (Daniel DeLorme) wrote in #note-6:
> -1 for breaking compatibility with no deprecation, just for the sake of perceived consistency.
Not "the sake of perceived consistency".
It's leaking a resource (a file on the disk) outsid... -
03:46 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- > `Tempfile.open{ }` returns nil
I apologize for this brain fart. `Tempfile.open{ }` returns the result of the block. So it's entirely likely that someone would use
`tmp = Tempfile.open{ |f| f.write(data); f }`
instead of
`tmp = Tempf... -
03:15 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- If we could allow incompatible changes of Tempfile in 3.0 or later, it is a good chance to reimplement it as a subclass of File without delegate.rb.
#7148 -
03:14 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- -1 for breaking compatibility with no deprecation, just for the sake of perceived consistency.
But then again it's important to note that `Tempfile.open{ }` returns nil, so the only way to cause an incompatibility is if the blocks "le... -
01:44 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- It seems hard to deprecate here without changing behavior. Any idea?
OTOH, when an usage relied on the file to still exist it should be quite clear what happens (the file will not be there, so an exception).
It took me seconds to find ... -
01:15 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- One idea: creating tmpfile library and
Tmpfile.open calls Tempfile.create.
This also resolves an inconsistency between tempfile.rb and tmpdir.rb.
For this consistency, File.tmpfile may be better than Tmpfile.open
because it is simi... -
12:58 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- I sympathize with this issue.
I wish Tempfile.open had worked like Tempfile.create from the beginning.
But changing it is incompatible.
It is not our (current) practice that introducing an incompatible change without prior notice.
... -
09:32 AM Bug #17144: Tempfile.open { ... } does not unlink the file
- Out of these 2 usages that relied on the file to still exist, 1 was incorrect:
https://github.com/ruby/ruby/blob/e8c3872555fc85640505974e6b1c39d315572689/lib/reline/line_editor.rb#L2085-L2087
The GC can trigger anywhere between these 3 l... -
09:21 AM Bug #17144 (Closed): Tempfile.open { ... } does not unlink the file
- ```
ruby -rtempfile -e 'Tempfile.open("txt") { |f| $path = f.path }; p File.exist?($path)'
true
```
but it should be `false`.
This means even after the block finishes to execute the file still exists on a disk
And this might or n... -
04:37 PM Feature #17140: Merge Enumerable#grep(_v) with Enumerable#select/reject
- I imagine that `Set['and', 'the', 'of']` was meant.
-
07:01 AM Feature #17140: Merge Enumerable#grep(_v) with Enumerable#select/reject
- I guess I understand the first example. Just to make sure:
```
[-3, 4, 0, 8.5, 20, 5].select(1..10) #=> [4, 8.5, 5]
```
But for the second example, I don't understand `{ 'and', 'the', 'of' }`. Is that supposed to be an array, or ... -
02:57 PM Feature #17016: Enumerable#accumulate
- Dan0042 (Daniel DeLorme) wrote in #note-33:
> ... what about `#cumulative` ?
Oh that's interesting! I had leapt straight to verbs since that tends to be the pattern for methods that transform enumerables, but the examples of `[1,2,3... -
02:26 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- ko1 (Koichi Sasada) wrote in #note-21:
> I found that freezing interpolated strings are help for Ractor programming with constants.
Right, anything deeply frozen is helpful for Ractor.
But interpolated Strings are probably not that comm... -
12:29 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- I found that freezing interpolated strings are help for Ractor programming with constants.
```ruby
class C
i = 10
STR = "foo#{i}"
end
```
-
02:08 PM Feature #16992: Sets: officially ordered
- +1 from me. Hash if officially ordered.
Making Set unordered would likely break many things.
In practice I would think many Set usages already assume it ordered.
Similar to what I said in https://bugs.ruby-lang.org/issues/15281#note-9... -
02:03 PM Feature #16994: Sets: shorthand for frozen sets of symbols / strings
- Dan0042 (Daniel DeLorme) wrote in #note-3:
> I just thought of something...
> ...
That already works on TruffleRuby (and for more than this specific case), it needs a JIT, inlining (also through builtins like #include?) and escape anal... -
03:03 AM Feature #16994: Sets: shorthand for frozen sets of symbols / strings
- I just thought of something...
In the same way that `"str".freeze` is optimized to be deduplicated, `%w[a b].include?(obj)` could be optimized so it becomes equivalent to `obj == -"a" || obj == -"b"`, or something around those lines. Th... -
12:11 PM Revision b52513e2 (git): skip Ractor tests on Compiler tests
- This implementation has memory corruption errors so and
it causes BUG on rare occasions. This commit skips
suspect tests on Github actions Compiler tests. -
12:11 PM Revision 79df14c0 (git): Introduce Ractor mechanism for parallel execution
- This commit introduces Ractor mechanism to run Ruby program in
parallel. See doc/ractor.md for more details about Ractor.
See ticket [Feature #17100] to see the implementation details
and discussions.
[Feature #17100]
This commit does ... -
09:51 AM Revision eeb5325d (git): Hoisted out warn_deprecated
-
08:54 AM Revision 705b908f (git): Fix a typo [ci skip]
-
07:49 AM Revision 7b9ef667 (git): Don't call to_s in const_set
- Follow up for 5e16857315bf55307c5fc887ca6f03bfa0630a93. Calling a method
in the middle of const_set adds a way that it would fail. It also makes
it inconsistent with declaring a constant using `::`, which doesn't call
`to_s`. -
06:14 AM Revision 50b18e81 (git): configure: detect that there is no g++
- AC_PROG_CXX checks for several C++ compilers INCLUDING g++. When none
of them were found it sets the CXX variable to be g++. This doesn't
make any sense. Absense of g++ has already been made sure.
Because we don't want insanity (that... -
03:30 AM Feature #17122 (Closed): Add category to Warning#warn
- https://github.com/ruby/ruby/pull/3505 has been merged. Thank you Eileen!
-
03:06 AM Feature #16786: Light-weight scheduler for improved concurrency.
- Since this thread became long and complex, it was hard for me to grasp the latest proposal. Correct me if I missed something.
# How to create `async I/O fiber`
I tentatively call fibers with context switching on I/O operations `asy... -
01:32 AM Feature #16986: Anonymous Struct literal
- One more point: I haven't seen much examples of similar features in other languages. The only suggestion I saw was that of a similarity to Python tuples. But tuples are much closer to Arrays than to Structs or hashes. The easiest descrip...
-
12:04 AM Feature #17143 (Open): Improve support for warning categories
- Support was recently added for Warning.warn to accept a `category` keyword. However, the initial implementation was limited to having `rb_warn_deprecated` and `rb_warn_deprecated_to_remove` use the `:deprecated` value for the `category`...
09/02/2020
-
11:45 PM Revision 3fb25562 (git): add lldb functions for getting the heap page / heap page body
-
11:45 PM Revision 933035d3 (git): support T_MATCH in lldb
-
09:54 PM Revision 0b81a484 (git): Initialize new T_OBJECT as ROBJECT_EMBED
- Previously, when an object is first initialized, ROBJECT_EMBED isn't
set. This means that for brand new objects, ROBJECT_NUMIV(obj) is 0 and
ROBJECT_IV_INDEX_TBL(obj) is NULL.
Previously, this combination meant that the inline cache wou... -
09:15 PM Feature #16989: Sets: need ♥️
- Eregon (Benoit Daloze) wrote in #note-14:
> Also, does moving Set to core mean rewriting it to C?
> ...
I'm not sure, but `Set` is quite small, most of the processing uses `Hash`...
> Only moving Set but not SortedSet in core would ... -
09:01 PM Feature #16989: Sets: need ♥️
- Dan0042 (Daniel DeLorme) wrote in #note-13:
> I don't get that part. If you have a literal like `{ x, y, z }` then x/y/z can be any type of object. There's no restriction. But I agree `Set[]` is short and good enough.
Right, I was th... -
09:00 PM Feature #16989: Sets: need ♥️
- Also, does moving Set to core mean rewriting it to C?
I think that would be suboptimal, because every implementation would have to maintain its own native implementation then (or reuse the C extension).
It would also hurt readability.
... -
02:45 PM Feature #16989: Sets: need ♥️
- > which would anyway restrict the type of keys
I don't get that part. If you have a literal like `{ x, y, z }` then x/y/z can be any type of object. There's no restriction. But I agree `Set[]` is short and good enough. -
01:44 PM Feature #16989: Sets: need ♥️
- Eregon (Benoit Daloze) wrote in #note-11:
> IMHO there is no need for a literal Set notation (which would anyway restrict the type of keys, etc).
I agree. `Set[...]` works very well already for constructing sets at runtime out of any... -
09:52 AM Feature #16989: Sets: need ♥️
- IMHO there is no need for a literal Set notation (which would anyway restrict the type of keys, etc).
> Some of the upcoming feature requests would be easier (or only possible) to implement were Sets builtin.
@marcandre Which featu... -
08:59 PM Feature #16990: Sets: operators compatibility with Array
- Isn't `[1].to_set + Set[2]` a good workaround here?
-
08:46 PM Bug #9815: attr_reader doesn't warn on a uninitialized instance variable
- What was the rationale here to have different behavior?
Which C function is used by `attr_reader` seems an implementation detail. -
08:33 PM Feature #15628: init_inetsock_internal should fallback to IPv4 if IPv6 is unreachable
- Hi!
Any feedback about this? We're considering implementing "Happy Eyeballs" in rubygems by monkeypatching `TCPSocket.new`, in order to fix longstanding issues with `gem install` timing out on ipv6-capable clients. But it would feel m... -
07:44 PM Revision eada6350 (git): Add category to `rb_warn_deprecated`
- PR https://github.com/ruby/ruby/pull/3418 added a category to
`rb_warn_deprecated_to_remove` but not to `rb_warn_deprecated`. This
adds the same code to `rb_warn_deprecated` so that those warnings also
get a category.
This change also a... -
07:33 PM Bug #14437 (Closed): Integer == doesn't work with coerce since 2.4 (and != since 1.9). Should it?
- taw (Tomasz Wegrzanowski) wrote in #note-2:
> Looking at the code fix_equal(x,y) when y was of non-core class used to call num_equal,(x,y) which then did reverse call for y==x,
> ...
The `Integer#==` method is documented to only return... -
07:21 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- @Eregon (Benoit Daloze) https://bugs.ruby-lang.org/issues/17100#note-19
> Re naming of receiving a message, here is the poll I made:
> ...
Can you just cease your manipulative behaviour, based on faulty generalization resoning in this ... -
07:02 PM Revision 54fb8fb6 (git): Comply with guide for method doc: array.c (#3506)
- Methods:
any?
all?
one?
none?
sum
shuffle!
shuffle
sample -
05:45 PM Bug #17139 (Closed): [doc] StringScanner#matched_size seems to be byte-oriented but that is not documented
- Applied in changeset commit:git|d9b8411a7be4c9e300b75bc374f29e6965ab3040.
----------
Document that StringScanner#matched_size returns size in bytes [ci skip]
Fixes [Bug #17139] -
05:41 PM Revision d9b8411a (git): Document that StringScanner#matched_size returns size in bytes [ci skip]
- Fixes [Bug #17139]
-
05:38 PM Bug #15417 (Closed): Pathname case insensitive comparison
- Applied in changeset commit:git|cc5b7ed1dccc6a5cffa5c52778c6db8794722404.
----------
Document limitation of Pathname#relative_path_from [ci skip]
This method is explicitly documented to not access the filesystem,
and the only way to ge... -
05:32 PM Bug #15417: Pathname case insensitive comparison
- I don't think this is fixable. SAME_PATHS is only used in `relative_path_from`, which is explicitly documented to not access the filesystem. I'll update the documentation for `relative_path_from` to explain the issue.
- 05:38 PM Revision 0938bad0 (git): * 2020-09-03 [ci skip]
-
05:34 PM Revision cc5b7ed1 (git): Document limitation of Pathname#relative_path_from [ci skip]
- This method is explicitly documented to not access the filesystem,
and the only way to get the correct behavior for a case where the
filesystem's case sensitivity differs from the operating system
default would be to access the filesyste... -
05:21 PM Feature #16986: Anonymous Struct literal
- I'm also unconvinced of a good use case and why creating a `MyResult = Struct.new(:some_value, :name)` is really something that should be "saved".
-
12:17 PM Feature #16986: Anonymous Struct literal
- mame (Yusuke Endoh) wrote in #note-38:
> So, external input like JSON data is not the target of this proposal. Rather, this proposal is just a variant of Struct, which allows to omit the definition line: `Foo = Struct.new(...)`.
I... -
05:03 PM Misc #17137: Cooperation on maintaining official docker ruby images
- I _believe_ official images also want to be minimal and they are not explicitly designed for Rails. So in my opinion, many of the patches you have made to make your images thinner would probably be accepted upstream and benefit a larger ...
-
02:24 PM Misc #17137: Cooperation on maintaining official docker ruby images
- There were three reasons why I started rubylang/ruby as separated from Docker's official ruby.
The first reason is that my personal reason. I needed a simplest pure ruby image. This image should be in the state after `make install` ... -
03:35 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- Eregon (Benoit Daloze) wrote in #note-22:
> FWIW I noticed that using `attr_reader` does not warn if the @ivar is not set:
> ...
I don't want to define private methods for all of the instance variables in use just to work around verbos... -
02:57 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- FWIW I noticed that using `attr_reader` does not warn if the @ivar is not set:
```
$ ruby -w -e 'class T; def foo; @foo; end; end; t=T.new; p t.foo'
-e:1: warning: instance variable @foo not initialized
nil
$ ruby -w -e 'class T; attr_r... -
02:18 PM Feature #15236: add support for hash shorthand
- For all interested in this feature, I've added support for it in the latest Ruby Next (Ruby transpiler) release (https://github.com/ruby-next/ruby-next/releases/tag/v0.10.0), so it should be easier to give it a try and share opinions.
-
02:15 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- https://github.com/nobu/ruby/tree/unfrozen-literal
-
02:05 PM Bug #17142 (Open): Ruby fails to build in AIX
- Ruby fails to build in AIX in 64bit mode.
This commit https://github.com/ruby/ruby/commit/f47c38245ff6976c5d1fc27a79f239bba00fc333 essentially broke the 64bit build.
The asm code is not applicable for AIX it seems. Probably we need... -
01:40 PM Feature #17122: Add category to Warning#warn
- PR for `rb_warn_deprecated` opened here: https://github.com/ruby/ruby/pull/3505
-
12:17 PM Feature #17122: Add category to Warning#warn
- > Could you add the same logic not only to rb_warn_deprecated_to_remove but also to rb_warn_deprecated? Thanks.
Yup, I will send a PR! -
06:36 AM Feature #17122 (Assigned): Add category to Warning#warn
- Hi @eileencodes
mame (Yusuke Endoh) wrote in #note-8:
> In addition: your PR changed only `rb_warn_deprecated_to_remove` but not `rb_warn_deprecated`. Is there any reason?
Could you add the same logic not only to `rb_warn_depreca... -
12:16 AM Feature #17122 (Closed): Add category to Warning#warn
- Merged at https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/6e8ec9ab6da228ade70fe7d0dd16540d8f859f00
-
06:14 AM Misc #17050 (Closed): profiler gem
- Okay, I look forward to your profiler.
-
04:30 AM Revision 93b78abd (git): new_dstr: hoisted out from literal_concat and evstr2dstr
-
04:30 AM Revision 63213304 (git): Removed trailing spaces [ci skip]
-
04:05 AM Bug #14895 (Closed): Inconsistent constant names when using const_set on a singleton class - Applied in changeset commit:git|5e16857315bf55307c5fc887ca6f03bfa0630a93.
----------
Fix constant names set using const_set on a singleton class
Fixes [Bug #14895] - 04:05 AM Revision 5e168573 (git): Fix constant names set using const_set on a singleton class
- Fixes [Bug #14895]
-
02:03 AM Revision 11922b5e (git): Fix error message for wb unprotected objects count
- This error is about wb unprotected objects, not old objects.
-
02:02 AM Revision 4c3f0597 (git): Remove the pc argument of vm_trace()
- This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.
-
01:22 AM Bug #17141 (Closed): Crash when parsing malformed input
- I can confirm this crash in Ruby 2.7.1, 2.7.0, and the ruby_2_7 branch. It is not present in master.
Here's the backtrace on ruby_2_7 branch:
```
0x00000a3c357f2d7c in CALLER_REMOVE_EMPTY_KW_SPLAT (cfp=0xa3ba636ef90, calling=0x7f... - 01:02 AM Revision 94b54b03 (git): Reapply "Special case Range#max for integer beginning and Float::Infinity end" (tests)
- Reverted in e080a4cdee
-
12:56 AM Misc #17138: DevelopersMeeting20200925Japan
- * [Feature #16994] Shorthand syntax for static frozen sets of string/symbols (e.g. `%ws{hello world}`) (marcandre)
* Rest of my "Set program", especially: insure interoperability with `Array` (e.g so `array & set` works and is efficient) -
12:40 AM Feature #11927: Return value for `Module#include` and `Module#prepend`
- It would help to:
1) have an example of use case
2) discuss why `B.include M unless B < M` is not equivalent / sufficient
09/01/2020
-
11:16 PM Revision 6e8ec9ab (git): Support passing a category to `Warning.warn`
- This change adds a `category` kwarg to make it easier to monkey patch
`Warning.warn`. Warnings already have a category, but that warning isn't
exposed. This implements a way to get the category so that warnings with
a specific category, ... -
09:07 PM Bug #16787: [patch] allow Dir.home to work for non-login procs when $HOME not set
- Just noting that I rebased (and re-tested) the Ruby 2.7 backport PR ([PR 3293](https://github.com/ruby/ruby/pull/3293)) on top of the latest changes in the 'ruby-2_7' branch. The rebasing did not result in any material changes to the 2.7...
-
08:10 PM Bug #17141 (Closed): Crash when parsing malformed input
- Calling "ruby crash_small.rb" crashes ruby - see attached crash log
-
07:52 PM Feature #17140 (Open): Merge Enumerable#grep(_v) with Enumerable#select/reject
- In recent versions of Ruby we've gotten new behavior of some Enumerable methods like any?, all?, none?, one?, and others to support a single argument pattern that responds to `===`. This is very powerful, and very useful.
Currently En... -
07:35 PM Feature #17122: Add category to Warning#warn
- I've addressed the backwards compatibility on the PR (https://github.com/ruby/ruby/pull/3418) and added an entry to NEWS.md. Let me know if there are other changes <3
-
06:18 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- mame (Yusuke Endoh) wrote in #note-18:
> I found `"foo#{ "foo" }"` frozen because it is optimized to `"foofoo"` at the parser. What do you think?
I guess that's semantically correct (besides the frozen status), since interpolation d... -
03:39 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- Eregon (Benoit Daloze) wrote in #note-17:
> I'll try to make a PR for this change: https://github.com/ruby/ruby/pull/3488
Thanks, I've given it a try.
I found `"foo#{ "foo" }"` frozen because it is optimized to `"foofoo"` at the p... -
05:53 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- I reverted the changes in this pull request, and updated the Range#max documentation to explain the behavior (commit:de10a1f3583adeeffd7f8bcf8f276e0a626ffa0c).
-
02:49 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- matz (Yukihiro Matsumoto) wrote in #note-24:
> `Range` class methods are classified in two. The ones that behave like `Enumerable` methods (defined by `#each`), and the others that behave like region (defined by the both ends).
> ...
O... -
05:13 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- `Range` class methods are classified in two. The ones that behave like `Enumerable` methods (defined by `#each`), and the others that behave like region (defined by the both ends).
I think `#min` and `#max` should belong to the latter. ... -
05:52 PM Revision de10a1f3 (git): Update documentation for Range#max
-
05:52 PM Revision 4db4faef (git): Revert "Fix Range#{max,minmax} for range with integer beginning and non-integer end"
- This reverts commit 8900a25581822759daca528d46a75e0b743fc22e.
-
05:52 PM Revision e080a4cd (git): Revert "Special case Range#max for integer beginning and Float::Infinity end"
- This reverts commit 05bf811c2839628aaef3d565daedb28be80d47ef.
-
05:49 PM Revision 94430d00 (git): Comply with guide for method doc: array.c (#3499)
- Methods considered:
count
flatten!
flatten
cycle
permutation
combination
repeated_permutation
repeated_combination
product
take
take_while
drop
drop_while - 04:46 PM Revision 9d4c5147 (git): * 2020-09-02 [ci skip]
-
04:41 PM Revision 41cf17be (git): Fixed argument types
-
04:41 PM Revision f6822e4e (git): Format with proper conversion specifiers instead of casts
-
04:31 PM Bug #17139 (Closed): [doc] StringScanner#matched_size seems to be byte-oriented but that is not documented
- StringScanner#matched_size seems to be byte oriented. But that is not documented. Better be documented to avoid confusion.
[1] pry(main)> ss = StringScanner.new([1024].pack("U*"))
[3] pry(main)> ss.skip_until(/./)
[4] pry(main)> ss.... -
03:56 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- At the last dev meeting, @matz said he did not like the callback API, and decided to postpone discussion on this.
-
03:48 PM Misc #17138 (Closed): DevelopersMeeting20200925Japan
- # The next dev meeting
**Date: 2020/09/25 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20200925Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
03:47 PM Misc #17041 (Closed): DevelopersMeeting20200831Japan
-
03:01 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- Fixed dangling participle.
-
02:20 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- marcandre (Marc-Andre Lafortune) wrote in #note-7:
> So I suggest I'll commit your patch, unless there's an objection.
I have no objection, so if you consider the current behavior a bug, please commit the patch (assuming it doesn't c... -
04:50 AM Bug #14895 (Open): Inconsistent constant names when using const_set on a singleton class
- jeremyevans0 (Jeremy Evans) wrote in #note-6:
> Output:
> ...
... and it shows the name 'A' and 'C'. That's much better!
> If you like that idea, please submit a feature request for it (or switch this to a feature request and reope... -
02:16 PM Bug #15178 (Closed): Wrong paramaters passing to pthread_setname_np(3)
- Applied in changeset commit:git|be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd.
----------
Fix pthread_setname_np arguments on NetBSD
The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order in... -
02:16 PM Revision be9dbe1c (git): Fix pthread_setname_np arguments on NetBSD
- The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order instead of just fixing the quote escaping.
From Takahiro Kambe.
Fixes [Bug #15178] -
12:18 PM Revision 6b432009 (git): Fix syncing bundler man pages
- `rm_rf` does not support globbing, so not all files get deleted.
-
10:03 AM Revision 8d1de315 (git): Use RSTRING_LENINT for overflow check
-
10:01 AM Revision 21ad4075 (git): Don't read past the end of the Ruby string
- Ruby strings don't always have a null terminator, so we can't use
it as a regular C string. By reading only the first len bytes of
the Ruby string, we won't read past the end of the Ruby string. -
08:06 AM Feature #15752 (Closed): A dedicated module for experimental features
- As far as I understand, you want a place to separate features that do not only belong to `CRuby`, right?
But for example, we started `RubyVM::AbstractSyntaxTree` as a `CRuby` specific feature, it was natural for us to place it under `Ru... -
05:42 AM Revision fbf79f1c (git): Use the previous winflexbison3
- winflexbison3 v2.5.23.20200829 seems to install nothing.
-
04:23 AM Bug #15417: Pathname case insensitive comparison
- The arguments are path components but not paths, can't stat.
-
02:21 AM Revision cceba235 (git): minitest is working fine with Ruby 3
-
02:21 AM Revision e00eba1c (git): xmlrpc has been removed from the bundled gems
-
02:21 AM Revision a3d90f1b (git): bump version to minitest-5.14.2
-
02:21 AM Revision 37715937 (git): Revert the workaround of minitest and hoe
- 86737c509cd49cfe4509a65d300d390da0f07be6
3e1aea461320094e634ab32ca0b13dd43b69d8b0 -
02:05 AM Revision b01d852c (git): congigure.ac: favour gcc on Linux
- Requested by Naruse.
08/31/2020
-
10:32 PM Bug #14895 (Closed): Inconsistent constant names when using const_set on a singleton class
- marcandre (Marc-Andre Lafortune) wrote in #note-5:
> This looks like a bug to me.
> ...
Ruby 2.7 changed the behavior so that `a` and `c` are treated identically, but that `c` is like `a`:
```
a # #<Module:0x00000b0bda620368>
b #... -
09:38 PM Bug #14997 (Closed): Socket connect timeout exceeds the timeout value for
- I believe this timeout issue is now solved by the Socket.tcp :resolv_timeout option, introduced in commit:6382f5cc91ac9e36776bc854632d9a1237250da7.
-
09:33 PM Bug #15038 (Closed): Appveyor MinGW - bundled gems missing?
- Both AppVeyor CI jobs now show the bundled gems, so hopefully this can be closed:
https://ci.appveyor.com/project/ruby/ruby/builds/34951403/job/xodf8ma94pv35c33?fullLog=true#L3025
https://ci.appveyor.com/project/ruby/ruby/builds/3495... -
09:25 PM Revision 50736f12 (git): Comply with guide for method doc: array.c (#3489)
- Methods considered:
&
intersection
|
union
max
min
minmax
uniq!
uniq
compact!
compact -
09:22 PM Bug #15178: Wrong paramaters passing to pthread_setname_np(3)
- I agree with your analysis. Looking at the NetBSD man page for pthread_setname_np (https://netbsd.gw.com/cgi-bin/man-cgi?pthread_setname_np++NetBSD-current), the format string is clearly the 2nd argument and not the third. The only rea...
-
09:14 PM Revision a137874e (git): add RUBY_DEBUG=ci envval for GH actions
- RUBY_DEBUG=ci envval shows more information on rb_bug().
-
09:13 PM Bug #15417: Pathname case insensitive comparison
- ioquatix (Samuel Williams) wrote:
> Unless string match exactly, we should leave it to file system to determine if the path is equivalent or not (e.g. in the case of `Pathname#relative_path_from`). Trying to be too clever might cause fu... -
08:23 PM Bug #15276 (Closed): URI.join behaviour is unintuitive
-
08:22 PM Bug #15209 (Closed): r64925 order-only-prerequisites - make targets - breaking change
- r64925 was reverted shortly after this in commit:3757515501347685bfbd9ef11bc03e93c66d1dc9, so this can be closed.
-
08:17 PM Bug #15313 (Closed): [PATCH] Let debuggers know when a tail call happens
- As tailcall optimization was removed in commit:241dced625f9ba8a4071954579778a0940e75179, I think this can be closed.
-
07:53 PM Revision e744d407 (git): Comply with guide for method doc: array.c (#3484)
- Methods:
+
concat
*
assoc
rassoc
==
eql?
hash
include?
<=>
-
difference -
07:52 PM Misc #17137 (Assigned): Cooperation on maintaining official docker ruby images
- It was pointed out to me at https://github.com/docker-library/ruby/issues/323 that the ruby-core team has started maintaining their own docker images at https://github.com/ruby/ruby-docker-images, and that the base Dockerfiles were initi...
-
07:43 PM Feature #14394: Class.descendants
- More like:
```ruby
class A
end
x = Class.new(A)
y = x.new
```
~~How does the GC handle such classes?
Will they get GC'd when there isn't any reference to them anymore?~~
I checked such classes will get GC'd when there isn't any refe... -
06:50 PM Feature #14394: Class.descendants
- +1 for this feature from me.
@hanmac: if you are referring to singleton classes, they should be excluded:
```ruby
s = +'hello'
def s.force_singleton_class
42
end
s.singleton_class < String # => true
String.descendants.include?(s.sing... -
10:46 AM Feature #14394: Class.descendants
- Hanmac (Hans Mackowiak) wrote in #note-10:
> if it would add them, how about adding a parameter to this function exclude/include them? (exclude them as default?)
I think the user can filter easily based on whatever condition they wan... -
09:02 AM Feature #14394: Class.descendants
- @fatkodima
how does `rb_class_foreach_subclass` handle anonymous classes?
if it would add them, how about adding a parameter to this function exclude/include them? (exclude them as default?) -
07:28 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- I'll try to make a PR for this change: https://github.com/ruby/ruby/pull/3488
-
08:50 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- OK. Persuaded. Make them unfrozen.
Matz.
-
07:08 PM Bug #15576 (Closed): Wrong error message from some class methods of `Dir`
- 06:16 PM Revision 18bcfe71 (git): * 2020-09-01 [ci skip]
-
06:16 PM Revision 1f4c507a (git): Comply with guide for method doc: array.c (#3477)
- Methods considered:
delete_at
slice!
reject!
reject
delete_if
zip
transpose
replace
clear
fill -
03:22 PM Feature #17122: Add category to Warning#warn
- > OK. Accepted. But we might need to add arity check before calling warning callback for compatibility's sake.
Great, very exciting! I will work on implementing an arity check / fixing the incompatibility and fix the failing tests on ... -
06:06 AM Feature #17122: Add category to Warning#warn
- OK. Accepted. But we might need to add arity check before calling `warning` callback for compatibility's sake.
Matz.
-
02:04 AM Feature #17122: Add category to Warning#warn
- akr (Akira Tanaka) wrote in #note-13:
> But Ruby don't have "ignorable" argument that
> ...
Maeda-sensei (@maeda) told me that Common Lisp has allow-other-keys which suppress keyword argument checking at function call.
http://www.... -
01:14 PM Feature #15547 (Closed): deprecate iterator?
- Applied in changeset commit:git|2e80c8347e27f8ecedab56bab105d69efa35cbea.
----------
Deprecate iterator? method
[Feature #15547] [Fix GH-2071] -
07:47 AM Feature #15547: deprecate iterator?
- I agree.
Matz.
-
01:14 PM Revision 2e80c834 (git): Deprecate iterator? method
- [Feature #15547] [Fix GH-2071]
- 12:57 PM Revision c23c880f (git): [ruby/strscan] Bump version
- https://github.com/ruby/strscan/commit/df90d541fa
-
12:57 PM Revision c76508b8 (git): [ruby/strscan] Replaced examples using $KCODE with encodings
- `$KCODE` has been deprecated and not effective since years ago.
https://github.com/ruby/strscan/commit/7c4dbd4cb3 -
11:49 AM Revision 01f28405 (git): Update version to 3.0.0 in NEWS.md
-
11:31 AM Bug #17132: vcs.rb doesn't detect git submodules as vcs
- >As I have never used git submodule, I can't get what "target thats inside a submodule" means.
> ...
It means that the target eg. the srcdir is in a git submodule.
It set it up like this:
``` shell
git init
git submodule add https... -
11:30 AM Revision 53ba9fb7 (git): Prohibit setter method names in endless method definition
- https://bugs.ruby-lang.org/issues/16746#note-26
-
10:23 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Re naming of receiving a message, here is the poll I made:
https://twitter.com/eregontp/status/1299284528578596864
126 votes, 83.3% Ractor.receive, 16.7% Ractor.recv.
I think the result can hardly be clearer.
I see it as naming it `Rac... -
09:51 AM Revision 86737c50 (git): Removed minitest and hoe because they didn't support Ruby 3 yet
-
09:10 AM Feature #17125 (Closed): Remove Thread.exclusive
- Applied in changeset commit:git|b674fc9ca2498d55c7e4f91592279eb985b8bea1.
----------
Thread.exclusive: delete
Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8.
[Feature #17125][ruby-core:99636] -
09:02 AM Feature #17125: Remove Thread.exclusive
- OK. Let's remove them.
Matz. -
09:08 AM Revision b674fc9c (git): Thread.exclusive: delete
- Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8.
[Feature #17125][ruby-core:99636] -
09:00 AM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
- It is intentional since 1.6.0. But I am OK with making `m2` raise `LocalJumpError`.
Ask @ko1 about migration.
Matz.
-
08:48 AM Feature #17103: Add a :since option to ObjectSpace.dump_all
- OK. Accepted.
Matz.
-
08:45 AM Revision eb9342d3 (git): The deprecation of enumerators with block has been withdrawn
- https://bugs.ruby-lang.org/issues/6670#change-75907
-
08:45 AM Revision 0eec4ae8 (git): Get rid of using Socket.gethostbyname
-
08:22 AM Feature #14844: Future of RubyVM::AST?
- I am OK with move the class from `RubyVM::AbstractSyntaxTree`. We have to decide the new name for it (`RubyAST`?).
In addition, the structure of the abstract syntax tree may be slightly changed from time to time (by refactoring or synta... -
08:20 AM Feature #16746: Endless method definition
- https://github.com/ruby/ruby/pull/3479
-
08:19 AM Feature #16746: Endless method definition
- In the previous dev-meeting, matz said that it should be prohibited to define setter method with endless definition.
```ruby
# prohibited
def foo=(x) = @x = x
```
There are two reasons:
1. This code is very confusing and it i... -
08:18 AM Revision 3e1aea46 (git): Temporary removed minitest from bundled gems.
- It requires Ruby 2.x.
https://github.com/seattlerb/minitest/blob/master/Rakefile#L14 -
07:53 AM Revision 34c20c99 (git): [DOC] Fixed wording [ci skip]
-
07:53 AM Revision f588caa7 (git): [DOC] Indent a code block in NEWS [ci skip]
-
07:48 AM Feature #17039: Remove Time#succ
- Let us remove it.
Matz.
-
07:38 AM Revision 21c62fb6 (git): Version number bumped to 3.0.0 from 2.8.0 (tentative).
- We have decided to go forward to 3.0 this year.
-
07:36 AM Feature #17136: Remove special behavior from $KCODE
- We waited enough long time. Let us remove it.
Matz.
-
06:36 AM Feature #17136 (Closed): Remove special behavior from $KCODE
- `$SAFE` is now a normal global variable with no special behavior.
I think `$KCODE`'s special behavior is also no longer needed.
Warnings since 1.9.
```
% docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=ruby-1.4 ./all-ruby... -
05:36 AM Feature #16345 (Closed): Don't emit deprecation warnings by default.
- I agree with @marcandre for making migration slow(er). We should wait for a few versions after emitting opt-in warnings before removing the feature.
But it doesn't affect the discussion of stopping forced (default-on) warnings. I vote... -
01:15 AM Feature #17135 (Assigned): Improve performance of Integer#size method
- The patch looks good to me. HOWEVER, let me -1 this.
Integer#size HAS to be as fast as what is proposed here, without any extra hustle like this.
@ko1 any idea what is preventing it from running smoothly?
08/30/2020
-
11:28 PM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
- I have implemented an `offset` parameter for `Array#index` - https://github.com/ruby/ruby/pull/3448
Will adjust to more methods if asked. - 03:34 PM Revision 9b88851c (git): * 2020-08-31 [ci skip]
-
03:34 PM Revision 585a659b (git): Comply with guide for method doc: array.c (#3475)
- Methods considered:
bsearch
bsearch_index
sort_by!
collect
collect!
values_at
select
select!
keep_if
delete -
01:10 PM Feature #17135 (Closed): Improve performance of Integer#size method
- `Integer#size` seems to show improved performance when written in ruby.
benchmark:
```yml
prelude: |
n = 42
benchmark:
size: |
n.size
loop_count: 20000000
```
result:
```bash
sh@MyComputer:~/rubydev/build$ mak... -
11:26 AM Feature #13683: Add strict Enumerable#single
- matz (Yukihiro Matsumoto) wrote in #note-10:
> Hmm, I don't like the name `single`.
matz (Yukihiro Matsumoto) wrote in #note-17:
> ...
Could you explain why?
I think `single` as in "return a single element or error out" is the best... -
10:46 AM Feature #16986: Anonymous Struct literal
- ko1 (Koichi Sasada) wrote in #note-34:
> how about `%struct{a: 1, b: 2}` (and `%value{...}` if needed)?
> ...
Is `%struct"a: 1, b: 2"` same? -
09:54 AM Feature #15547: deprecate iterator?
- I've forgotten this.
Updated https://github.com/ruby/ruby/pull/2071 -
07:07 AM Revision 9eda6547 (git): KNOWNBUGS.rb: use-after-poison since b9007b6c548f91e88fd3f2ffa23de740431fa969
08/29/2020
-
08:16 PM Revision 726f2e59 (git): Comply with guide for method doc: array.c (#3474)
- Methods considered:
length
empty?
join
inspect
to_a
to_h
to_ary
reverse!
reverse
rotate!
rotate
sort!
sort - 05:15 PM Revision a8f11df3 (git): * 2020-08-30 [ci skip]
-
05:15 PM Revision f0ad5594 (git): Comply with guide for method doc: array.c (#3473)
- Methods considered:
at
first
last
fetch
index
rindex
[]
insert
each
each_index
reverse_each -
05:03 PM Feature #11927: Return value for `Module#include` and `Module#prepend`
- I would like to have this. Please, reconsider this feature.
-
05:01 PM Feature #5628: Module#basename
- Used this numerous times.
I like this suggestion:
regularfry (Alex Young) wrote in #note-4:
> .name( false )
> ...
What ruby-core think on this? -
04:02 PM Bug #17132 (Feedback): vcs.rb doesn't detect git submodules as vcs
- As I have never used git submodule, I can't get what "target thats inside a submodule" means.
Could you explain how you set up it?
`.git` file/directory doesn't exist in submodule? -
01:38 PM Feature #17099: Remove boolean argument and warning from Module#attr
Anyone has opinion?-
12:42 PM Feature #13683: Add strict Enumerable#single
- Hmmm, just now I realized there's a simple idiom that's roughly equivalent to `one`/`single`
```ruby
[1,2].inject{break} #=> nil
[1,2].inject{raise} #=> error
[1].inject{break} #=> 1
[1].inject{raise} #=> 1
[].inject{break} #=> n... -
12:29 PM Feature #13683: Add strict Enumerable#single
- Dan0042 (Daniel DeLorme) wrote in #note-25:
> I really think the block form should be like find/select
> ...
...
> continue searching [...] that alters the fundamental behavior too much imho.
I think you are right.
But the word "one",... -
11:11 AM Feature #13683: Add strict Enumerable#single
- > If collection is empty and a block was given, returns the block's return value:
I really think the block form should be like find/select
```ruby
[1,2,3].one{ _1.even? } #=> 2
[1,2,3,4].one{ _1.even? } #=> error
[1,... -
04:23 AM Feature #13683: Add strict Enumerable#single
- Having `Enumerable#find` take an optional keyword argument, say `exception:`, would make more sense, be useful, and have more generality.
```ruby
[1].find(exception: true){true} # => 1
[1, 2, 3].find(exception: true){true} # >> Error
[]... -
12:42 PM Bug #17131: Time.at(time) != time in certain cases
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> a spec that shows that defining to_r without to_int is expected to raise an error
> ...
All clear, thanks a lot. I'll handle the usages to adhere to this protocol. -
11:41 AM Feature #17016: Enumerable#accumulate
- `#accumulate` is good, but since [this question](https://stackoverflow.com/q/1475808) linked in the OP was asking for the "cumulative sum" ... what about `#cumulative` ?
```ruby
[1,2,3].cumulative.sum #=> [1,3,6]
[1,2,3]... -
10:49 AM Revision d7492a0b (git): Revert changes to rdoc & rubygems regarding Tempfile.open(&block)
- * They likely want to support older Ruby/tempfile versions
* Reverts part of e8c3872555fc85640505974e6b1c39d315572689 -
10:30 AM Revision 3beecafc (git): Fix usages of Tempfile.open(&block) that expected the file to still be there after the block
-
10:23 AM Revision e8c38725 (git): Simplify Tempfile.open calls with a block as they now unlink the file automatically
-
10:11 AM Revision ff323b2a (git): Adapt specs for the new Tempfile.open with block behavior
-
10:05 AM Revision fa21985a (git): Sync with ruby/tempfile@aa9ea12d94a905161cbd79af1ad9ab427f250f4e
-
10:00 AM Revision a11b9ca0 (git): Some fixes in NEWS.md
-
09:58 AM Revision 1199f1a4 (git): Fix warnings related to new Socket.gethostby* deprecations
-
09:51 AM Revision 232d6c40 (git): Use a constant instead of a global variable in sync_default_gems.rb
-
08:18 AM Revision 6d946665 (git): Show deprecation warning on Socket.gethostbyname and Socket.gethostbyaddr
-
07:10 AM Revision 56dd578d (git): IO.copy_stream: handle EOPNOTSUP instead of ENOTSUP
-
06:56 AM Feature #9420 (Closed): warn and puts should be atomic
- For now, warn and puts already use writev if available.
-
06:41 AM Feature #16965 (Closed): io.c: Unsupported copy_file_range() not detected properly on certain kernels
- Applied in changeset commit:git|93df3010482ad52e5ada2e416c996005da956e1e.
----------
IO.copy_stream: handle ENOTSUP on copy_file_range(2)
fallback to other methods on ENOTSUP.
some RedHat kernels may return ENOTSUP on an NFS mount.
[Fe... -
06:38 AM Revision 93df3010 (git): IO.copy_stream: handle ENOTSUP on copy_file_range(2)
- fallback to other methods on ENOTSUP.
some RedHat kernels may return ENOTSUP on an NFS mount.
[Feature #16965] -
05:26 AM Feature #17134 (Open): Add resolv_timeout to TCPSocket
- Add resolve_timeout to TCPSocket.new.
It makes DNS timeout customizable in the same way as Socket.tcp.
https://github.com/ruby/ruby/pull/3472 -
03:31 AM Revision c2011d1a (git): Fix a typo [ci skip]
08/28/2020
-
11:12 PM Bug #15570 (Closed): rb_int2big signature change #14036 breaks VIM on 32b arches
- This was fixed in vim (https://github.com/vim/vim/commit/63d1fea8141c3dfb36aeb9de60e5f1f90450acff), so I think this can be closed, as changing it back would rebreak vim.
-
11:07 PM Feature #14394: Class.descendants
- I opened a PR - https://github.com/ruby/ruby/pull/3471
-
12:51 AM Feature #14394: Class.descendants
- Implementation wise MRI already have `rb_class_foreach_subclass()`. It can be rather trivial to wrap that C function.
-
10:38 PM Bug #16622 (Closed): mswin build was failed with the current master branch #3121
-
10:35 PM Bug #16679 (Feedback): Test of Ruby fails under multiple OS user userland installations
- From the error you are receiving, it is trying to write to a read-only file, and that is raising an error. The same tests don't usually raise an error, so this is probably specific to your environment. Is it possible for you to come up...
-
09:49 PM Bug #16774 (Closed): Don't require sub-word atomics
- This was committed at commit:abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2
-
09:39 PM Bug #16974: frozen string issue in lib/reline/ansi.rb on ruby-2.7.1
- The current pull request for this is at https://github.com/ruby/reline/pull/122
-
09:35 PM Bug #16983: RubyVM::AbstractSyntaxTree.of(method) returns meaningless node if the method is defined in eval
- I'm not sure if this is a bug, but it does seem like a fundamental and significant limitation with the design of RubyVM::AbstractSyntaxTree.of. RubyVM::AbstractSyntaxTree.of reparses the file the method is defined in and cannot handle a...
-
09:14 PM Feature #13683: Add strict Enumerable#single
- If we introduce `one`, it would be nice to support regexp; maybe use `===` for matching when given an argument?
```ruby
%w[hello world].one(/ll/) # => 'hello'
```
-
08:19 PM Feature #13683: Add strict Enumerable#single
- I have opened a PR - https://github.com/ruby/ruby/pull/3470
```
# Returns one and only one item. Raises an error if there are none or more than one.
[99].one #=> 99
[].one #=> RuntimeError: collection is emp... -
07:56 PM Bug #17015 (Closed): RubyVM::AbstractSyntaxTree.parse has the same result on `proc { |a| }` and `proc { |a,| }`
- The pull request was merged at commit:ff5e66034006a875125581114cce19d46843b32a
-
07:56 PM Revision 45c40f56 (git): Comply with guide for method doc: array.c (#3469)
- Methods:
- freeze
- try_convert
- new
- \<<
- push
- pop
- shift
- unshift
- [] -
06:39 PM Revision 4a5dd970 (git): Add alias treatment to method_documentation.rdoc (#3468)
- * Add alias treatment to method_documentation.rdoc
- 06:28 PM Revision 3ffef9a0 (git): * 2020-08-29 [ci skip]
-
06:26 PM Bug #17102: openssl/buffering.rb:182: [BUG] Segmentation fault at 0x00001fa0fd774000
- The crash appears to be due to memory corruption. Unfortunately, since it isn't reproducible, I don't think there is anything we can do to try to debug it.
-
06:26 PM Revision b49307c7 (git): Update to ruby/spec@335eb9b
-
06:26 PM Revision 3dd63108 (git): Update to ruby/mspec@53a6e3e
-
06:19 PM Bug #17129 (Closed): bundle install `eventmachine` and `sassc` fails since 914b2208ab3eddec478cdc3e079e6c30d0f0892c
-
06:01 PM Bug #17131 (Closed): Time.at(time) != time in certain cases
- @nobu committed a spec that shows that defining to_r without to_int is expected to raise an error (commit:7e1fddba4a609cb7bf4a696eccd892e68753bb21). I think that is sufficient to handle this issue. If you would like additional document...
-
04:44 PM Feature #15547: deprecate iterator?
- +1, @nobu could you commit it?
-
04:43 PM Feature #17133 (Closed): Add deprecate warning Kernel#iterator?
-
10:58 AM Feature #17133: Add deprecate warning Kernel#iterator?
- Sorry, this ticket was duplicate.
ref: https://bugs.ruby-lang.org/issues/15547 -
10:49 AM Feature #17133 (Closed): Add deprecate warning Kernel#iterator?
- `Kernel#iterator?` was mildly deprecate sicne`1.8.6`, as far as I checked [ruby-doc](https://ruby-doc.org/core-1.8.6/Kernel.html#method-i-iterator-3F).
I think it better, to deprecated warn added(or delete `Kernel#iterator?`).
pull... -
03:30 PM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
- I'm surprised at the performance difference on MRI though. Just allocating the MatchData shouldn't be so expensive. Maybe `Regexp#match?` has additional optimizations?
-
03:01 PM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
- This is something that a JIT with inlining and escape analysis can optimize and always be correct.
Static analysis doesn't cut it for Ruby.
On TruffleRuby (master + a fix I'll merge soon) for the benchmark above:
https://gist.github.com... -
01:03 PM Revision 1c138327 (git): Try to fix compile error on windows
- https://github.com/ruby/ruby/runs/1041040167?check_suite_focus=true#step:11:177
```
compiling ../src/re.c
re.c
../src/re.c(317): error C2057: expected constant expression
../src/re.c(317): error C2466: cannot allocate an array of constan... -
11:17 AM Feature #14476: Adding same_all? for checking whether all items in an Array are same
- I hope this new feature never makes it.
`enum.each_cons(2).all? { _1 == _2 }` is simply superior and more versatile.
Moreover, I'm not convinced that the frequency of this use warrants a new feature, especially that good alternativ... -
10:47 AM Revision 7e1fddba (git): States Time.at expects rational-like argument to respond to #to_int
- https://bugs.ruby-lang.org/issues/17131
-
10:42 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- @ko1 Can you review these potential performance overheads of adding Ractors? (and so potential regressions for code not using Ractors)
From https://github.com/ko1/ruby/blob/ractor_parallel/doc/ractor.md#language-changes-to-isolate-uns... -
10:10 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- mame (Yusuke Endoh) wrote in #note-15:
> Here is my counterproposal: When a Ractor attempts to read a constant that has an unsharable object, the object should be "deeply copied" and cached.
Reading a constant to me is always expected t... -
10:00 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- matz (Yukihiro Matsumoto) wrote in #note-14:
> We have left some naming issues. My current ideas are:
> ...
I think many people can agree the C socket API has terrible naming, I think we should not blindly follow those mistakes for new n... -
07:19 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- I basically like Ractors, but I'd like to discuss how to share constants.
Currently, a Ractor cannot read any constant if it has an unsharable object.
```
C = [[1, 2], [3, 4]]
Ractor.new do
p C #=> can not access non-sharable ... -
05:49 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- OK, I accept the Ractor concept. Go ahead and merge.
We have left some naming issues. My current ideas are:
* I vote for `recv` mostly because of the past familiality to UNIX naming convention
* I also want `recvfrom` a la UDP com... -
10:29 AM Revision 75c4e9b7 (git): Named the magic number for regexp option buffer size
- In `rb_enc_reg_error_desc`, no longer kcode option is added.
-
10:01 AM Bug #17132 (Feedback): vcs.rb doesn't detect git submodules as vcs
- Mostly a followup of #12239 as this was already about a similar use case.
When I run make-snapshot with a srcdir as target thats inside a submodule it doesn't detect it as vcs.
My command line and the output:
`~/dev/sailfish/jolla/p... -
02:54 AM Feature #17122: Add category to Warning#warn
- I feel the original proposal, adding a category keyword argument, is natural.
Although it is incompatible, arity check (or parameter check),
checking the arity of Warning.warn and don't give actual arguments more than the arity,
can pre... -
02:05 AM Revision 1f09c436 (git): [ruby/reline] Move width calculator methods to Reline::Unicode
- https://github.com/ruby/reline/commit/f348ecd9f5
-
02:05 AM Revision cdd7d410 (git): [ruby/reline] fix cursor_pos regexp match
- https://github.com/ruby/reline/commit/1dd80ef188
-
02:05 AM Revision 88829270 (git): [ruby/irb] Discard newlines at end of file
- https://github.com/ruby/irb/commit/0b2773d91d