aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-02-25 02:31:03 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-02-25 02:31:03 +0000
commitf3781e934be165c2f5135a249ba4abd44cc00b30 (patch)
tree98a82c20d67f9dc961827c91a09d4600496e4d53
parent6d6da7621a3e2d08ddad7af5955a735a3b6b9b5b (diff)
downloadruby-f3781e934be165c2f5135a249ba4abd44cc00b30.tar.gz
NEWS: document String#-@ change
* test/ruby/test_string.rb (test_uplus_minus): test deduplication [ruby-core:79747] [Feature #13077] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--NEWS5
-rw-r--r--test/ruby/test_string.rb2
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 33268b8762..2a0413f006 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,11 @@ with all sufficient information, see the ChangeLog file or Redmine
* Thread#fetch [Feature #13009]
+* String
+
+ * String#-@ deduplicates unfrozen strings. Already-frozen
+ strings remain unchanged for compatibility. [Feature #13077]
+
=== Stdlib updates (outstanding ones only)
=== Compatibility issues (excluding feature bug fixes)
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb
index d5166a82bc..da8bd5f05a 100644
--- a/test/ruby/test_string.rb
+++ b/test/ruby/test_string.rb
@@ -2537,6 +2537,8 @@ CODE
assert_not_equal(str.object_id, (+str).object_id)
assert_equal(str.object_id, (-str).object_id)
+ bar = %w(b a r).join('')
+ assert_same(str, -bar, "uminus deduplicates [Feature #13077]")
end
def test_ord