<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/test_set.rb, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/set] Get rid of use of `Gem::Version`</title>
<updated>2022-07-14T08:13:52+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-07-08T13:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8b64e8f2ed5833570bd1f46683d2b96c7c98413a'/>
<id>8b64e8f2ed5833570bd1f46683d2b96c7c98413a</id>
<content type='text'>
When retrying in ruby's test, it seems possible that `Gem` is not
loaded.

```
  1) Error:
TC_Set_Builtin#test_to_set:
NameError: uninitialized constant TC_Set_Builtin::Gem
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:844:in `should_omit?'
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:869:in `test_to_set'

  2) Error:
TC_Set_Builtin#test_Set:
NameError: uninitialized constant TC_Set_Builtin::Gem
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:844:in `should_omit?'
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:849:in
    `test_Set'
```

This is by `Gem::Version` only, just compare as array of integers
instead.

https://github.com/ruby/set/commit/cde0a4bbc7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When retrying in ruby's test, it seems possible that `Gem` is not
loaded.

```
  1) Error:
TC_Set_Builtin#test_to_set:
NameError: uninitialized constant TC_Set_Builtin::Gem
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:844:in `should_omit?'
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:869:in `test_to_set'

  2) Error:
TC_Set_Builtin#test_Set:
NameError: uninitialized constant TC_Set_Builtin::Gem
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:844:in `should_omit?'
    /export/home/chkbuild/chkbuild-gcc/tmp/build/20220708T070011Z/ruby/test/test_set.rb:849:in
    `test_Set'
```

This is by `Gem::Version` only, just compare as array of integers
instead.

https://github.com/ruby/set/commit/cde0a4bbc7
</pre>
</div>
</content>
</entry>
<entry>
<title>Make Set a builtin feature [Feature #16989]</title>
<updated>2022-02-18T02:56:24+00:00</updated>
<author>
<name>Akinori MUSHA</name>
<email>knu@idaemons.org</email>
</author>
<published>2022-02-17T09:02:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dd3501bb9580951623a9aa7c2f86f7c98f9d6b9c'/>
<id>dd3501bb9580951623a9aa7c2f86f7c98f9d6b9c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/set] Allow Set#intersect? and #disjoint? to accept array argument</title>
<updated>2021-07-29T05:18:10+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2021-06-15T18:08:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=571dafdc7f57af067706fbc318a64778f4fc218a'/>
<id>571dafdc7f57af067706fbc318a64778f4fc218a</id>
<content type='text'>
Implements [Feature #17838]

https://github.com/ruby/set/commit/d9b389bafa
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements [Feature #17838]

https://github.com/ruby/set/commit/d9b389bafa
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid rehashing in Hash#replace/dup/initialize_copy [Bug #16996]</title>
<updated>2021-03-18T11:34:40+00:00</updated>
<author>
<name>Marc-Andre Lafortune</name>
<email>github@marc-andre.ca</email>
</author>
<published>2021-03-16T02:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0ef2923c2b9afb76b3a1cebc56ebabc71c9a2ba8'/>
<id>0ef2923c2b9afb76b3a1cebc56ebabc71c9a2ba8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Import set 1.0.0</title>
<updated>2020-12-22T03:20:21+00:00</updated>
<author>
<name>Akinori MUSHA</name>
<email>knu@idaemons.org</email>
</author>
<published>2020-12-22T03:20:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3fa4bd82928983cf5f6711c130711502397e05e2'/>
<id>3fa4bd82928983cf5f6711c130711502397e05e2</id>
<content type='text'>
- SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#&lt;=&gt; is added.

https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#&lt;=&gt; is added.

https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/set] Add `Set#&lt;=&gt;`</title>
<updated>2020-12-04T10:24:22+00:00</updated>
<author>
<name>Marc-Andre Lafortune</name>
<email>github@marc-andre.ca</email>
</author>
<published>2020-10-02T03:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1804c3368cf4a94791fafa9701f79a2e6f76d5d8'/>
<id>1804c3368cf4a94791fafa9701f79a2e6f76d5d8</id>
<content type='text'>
https://github.com/ruby/set/commit/447974a374
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/set/commit/447974a374
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/set] Remove SortedSet implementations</title>
<updated>2020-12-04T10:23:59+00:00</updated>
<author>
<name>Akinori MUSHA</name>
<email>knu@idaemons.org</email>
</author>
<published>2020-09-20T13:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a3db08d7b6ff119223f77e3df00b4f6deac971e2'/>
<id>a3db08d7b6ff119223f77e3df00b4f6deac971e2</id>
<content type='text'>
It required RBTree to perform decently and the external dependency was
not suitable for a standard library.  The pure ruby fallback
implementation was originally meant to be an example of how to write a
subclass of Set, and its poor performance was not suitable for use in
production.

I decided it should be distributed as an external library instead of
bundling it with Set.

https://github.com/ruby/set/commit/dfcc8e568b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It required RBTree to perform decently and the external dependency was
not suitable for a standard library.  The pure ruby fallback
implementation was originally meant to be an example of how to write a
subclass of Set, and its poor performance was not suitable for use in
production.

I decided it should be distributed as an external library instead of
bundling it with Set.

https://github.com/ruby/set/commit/dfcc8e568b
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/set] Resurrect support for Ruby 2.x</title>
<updated>2020-12-04T10:23:35+00:00</updated>
<author>
<name>Akinori MUSHA</name>
<email>knu@idaemons.org</email>
</author>
<published>2020-09-20T14:23:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=46fc8d78a5d23d3c9a24e1bcc3c5cde4bce888de'/>
<id>46fc8d78a5d23d3c9a24e1bcc3c5cde4bce888de</id>
<content type='text'>
In Ruby 2.x, initialize_copy does not take a freeze option.

https://github.com/ruby/set/commit/3da6c309df
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Ruby 2.x, initialize_copy does not take a freeze option.

https://github.com/ruby/set/commit/3da6c309df
</pre>
</div>
</content>
</entry>
<entry>
<title>Make mutating the result of SortedSet#to_a not affect the set</title>
<updated>2020-06-11T21:02:00+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2019-10-27T23:03:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a6cf2f3d22a78aeae9d7f36cc78a195deb686705'/>
<id>a6cf2f3d22a78aeae9d7f36cc78a195deb686705</id>
<content type='text'>
Fixes [Bug #15834]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes [Bug #15834]
</pre>
</div>
</content>
</entry>
<entry>
<title>Call initialize_clone with freeze: false if clone called with freeze: false</title>
<updated>2020-01-04T04:13:09+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2019-08-26T04:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=04eb7c7e462d1fcbab9efc7022c1b43636ab878a'/>
<id>04eb7c7e462d1fcbab9efc7022c1b43636ab878a</id>
<content type='text'>
This makes it possible to initialize_clone to correctly not freeze
internal state if the freeze: false keyword is passed to clone.

If clone is called with freeze: true or no keyword, do not pass
a second argument to initialize_clone to keep backwards
compatibility.

This makes it so that external libraries that override
initialize_clone but do not support the freeze keyword will fail
with ArgumentError if passing freeze: false to clone.  I think that
is better than the current behavior, which succeeds but results in
an unfrozen object with frozen internals.

Fix related issues in set and delegate in stdlib.

Fixes [Bug #14266]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it possible to initialize_clone to correctly not freeze
internal state if the freeze: false keyword is passed to clone.

If clone is called with freeze: true or no keyword, do not pass
a second argument to initialize_clone to keep backwards
compatibility.

This makes it so that external libraries that override
initialize_clone but do not support the freeze keyword will fail
with ArgumentError if passing freeze: false to clone.  I think that
is better than the current behavior, which succeeds but results in
an unfrozen object with frozen internals.

Fix related issues in set and delegate in stdlib.

Fixes [Bug #14266]
</pre>
</div>
</content>
</entry>
</feed>
