sam.saffron / gmail.com wrote:
> But this seems to break the test/ruby/test_string.rb cause
> there is some edge case we are missing here. 

I didn't see a failure in test_string.rb, but got one rubyspec failure:

```
1)
String#-@ is an identity function if the string is frozen FAILED
Expected "this string is frozen"
 to be identical to "this string is frozen"

$srcdir/ruby/spec/ruby/core/string/uminus_spec.rb:38:in `block (4 levels) in <top (required)>'
$srcdir/ruby/spec/ruby/core/string/uminus_spec.rb:4:in `block in <top (required)>'
$srcdir/ruby/spec/ruby/core/string/uminus_spec.rb:3:in `<top (required)>'

I guess this requires a change to rubyspec:

diff --git a/spec/ruby/core/string/uminus_spec.rb b/spec/ruby/core/string/uminus_spec.rb
index f18e6b1234..9474666e30 100644
--- a/spec/ruby/core/string/uminus_spec.rb
+++ b/spec/ruby/core/string/uminus_spec.rb
@@ -35,11 +35,9 @@
       it "is an identity function if the string is frozen" do
         dynamic = %w(this string is frozen).join(' ').freeze
 
-        (-dynamic).should equal(dynamic)
-
         dynamic.should_not equal("this string is frozen".freeze)
-        (-dynamic).should_not equal("this string is frozen".freeze)
-        (-dynamic).should_not equal(-"this string is frozen".freeze)
+        (-dynamic).should equal("this string is frozen".freeze)
+        (-dynamic).should equal(-"this string is frozen".freeze)
       end
     end
   end
```


Disclaimer: I am not knowledgeable in *spec DSL/API so I'm just deleted
characters until the test passed :>

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>