<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/set.rb, branch v3_0_4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Import set 1.0.1</title>
<updated>2020-12-22T12:41:44+00:00</updated>
<author>
<name>Akinori MUSHA</name>
<email>knu@idaemons.org</email>
</author>
<published>2020-12-22T12:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=96b881679390271eb2234060ea7eed77a997d707'/>
<id>96b881679390271eb2234060ea7eed77a997d707</id>
<content type='text'>
- Eliminate warnings
- Convert rdoc to markdown
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Eliminate warnings
- Convert rdoc to markdown
</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>Support obj.clone(freeze: true) for freezing clone</title>
<updated>2020-03-22T16:30:07+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2019-09-23T23:03:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4f7b435c955792af780fe9e94f98d3dde839e056'/>
<id>4f7b435c955792af780fe9e94f98d3dde839e056</id>
<content type='text'>
This freezes the clone even if the receiver is not frozen.  It
is only for consistency with freeze: false not freezing the clone
even if the receiver is frozen.

Because Object#clone is now partially implemented in Ruby and
not fully implemented in C, freeze: nil must be supported to
provide the default behavior of only freezing the clone if the
receiver is frozen.

This requires modifying delegate and set, to set freeze: nil
instead of freeze: true as the keyword parameter for
initialize_clone.  Those are the two libraries in stdlib that
override initialize_clone.

Implements [Feature #16175]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This freezes the clone even if the receiver is not frozen.  It
is only for consistency with freeze: false not freezing the clone
even if the receiver is frozen.

Because Object#clone is now partially implemented in Ruby and
not fully implemented in C, freeze: nil must be supported to
provide the default behavior of only freezing the clone if the
receiver is frozen.

This requires modifying delegate and set, to set freeze: nil
instead of freeze: true as the keyword parameter for
initialize_clone.  Those are the two libraries in stdlib that
override initialize_clone.

Implements [Feature #16175]
</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>
<entry>
<title>speed up set intersect</title>
<updated>2019-12-31T11:52:41+00:00</updated>
<author>
<name>Oleg Zubchenko</name>
<email>RedGreenBlueDiamond@gmail.com</email>
</author>
<published>2018-11-03T12:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4ce28b58cbf3f3b5ab0bcd3fa4479d4f6d427158'/>
<id>4ce28b58cbf3f3b5ab0bcd3fa4479d4f6d427158</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecate taint/trust and related methods, and make the methods no-ops</title>
<updated>2019-11-17T23:00:25+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2019-09-25T03:59:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ffd0820ab317542f8780aac475da590a4bdbc7a8'/>
<id>ffd0820ab317542f8780aac475da590a4bdbc7a8</id>
<content type='text'>
This removes the related tests, and puts the related specs behind
version guards.  This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the related tests, and puts the related specs behind
version guards.  This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
</pre>
</div>
</content>
</entry>
</feed>
