edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;C462814
File: RubyTests.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;C462814  (server)    6/11/2008 3:48 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;RemoveLC
@@ -207,7 +207,8 @@
 
                 Scenario_UninitializedVars1,
                 Scenario_UninitializedVars2,
-
+                InstanceVariables1,
+                InstanceVariables2,
                 RubyHosting1,
 
                 Scenario_RubyConsole1,
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MiscTests.cs;C438696
File: MiscTests.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MiscTests.cs;C438696  (server)    6/11/2008 3:48 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MiscTests.cs;RemoveLC
@@ -77,7 +77,62 @@
             });
         }
 
+        // Fixnum doesn't have identity in Ruby
+        public void InstanceVariables1() {
+            AssertOutput(delegate() {
+                CompilerTest(@"
+class Fixnum
+  def foo= a
+    @x = a
+  end
+  def foo
+    @x
+  end
+end
 
+a = 1
+b = 1
+c = 2
+
+a.foo = 1
+b.foo = 2
+c.foo = 3
+puts a.foo, b.foo, c.foo
+");
+            },
+            @"
+2
+2
+3");
+        }
+
+        // Float has an identity in Ruby
+        public void InstanceVariables2() {
+            AssertOutput(delegate() {
+                CompilerTest(@"
+class Float
+  def foo= a
+    @x = a
+  end
+  def foo
+    @x
+  end
+end
+
+a = 1.0
+b = 1.0
+
+a.foo = 1
+b.foo = 2
+puts a.foo, b.foo
+");
+            },
+            @"
+1
+2");
+        }
+
+
         public void Scenario_RubyParams1() {
             AssertOutput(delegate() {
                 CompilerTest(@"
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/Proc.cs;C447029
File: Proc.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/Proc.cs;C447029  (server)    6/11/2008 6:40 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/Proc.cs;RemoveLC
@@ -91,10 +91,6 @@
 
         #region IDynamicObject Members
 
-        public LanguageContext/*!*/ LanguageContext {
-            get { return RubyContext._Default; }
-        }
-
         public RuleBuilder<T>/*!*/ GetRule<T>(DynamicAction/*!*/ action, CodeContext/*!*/ context, object[]/*!*/ args) where T : class {
             switch (action.Kind) {
                 case DynamicActionKind.Call:
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/BlockParam.cs;C443395
File: BlockParam.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/BlockParam.cs;C443395  (server)    6/11/2008 6:40 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/BlockParam.cs;RemoveLC
@@ -178,10 +178,6 @@
 
         #region IDynamicObject Members
 
-        public LanguageContext/*!*/ LanguageContext {
-            get { return _proc.LanguageContext; }
-        }
-
         public RuleBuilder<T> GetRule<T>(DynamicAction/*!*/ action, CodeContext/*!*/ context, object[]/*!*/ args) where T : class {
             switch (action.Kind) {
                 case DynamicActionKind.Call:
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Converter.cs;C456760
File: Converter.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Converter.cs;C456760  (server)    6/11/2008 6:42 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Converter.cs;RemoveLC
@@ -728,7 +728,7 @@
 
         public static object ConvertToDelegate(object value, Type to) {
             if (value == null) return null;
-            return BinderOps.GetDelegate(RubyContext.DefaultContext.EmptyContext, value, to);
+            return BinderOps.GetDelegate(RubyContext._Default.EmptyContext, value, to);
         }
 
 
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C458825
File: RubyContext.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C458825  (server)    6/11/2008 6:41 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;RemoveLC
@@ -73,12 +73,7 @@
             }
         }
 
-        public static RubyContext DefaultContext {
-            get {
-                return _Default;
-            }
-        }
-
+        // TODO: remove
         public static ActionBinder RubyBinder {
             get {
                 return _Default.Binder;
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C462814
File: RubyOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C462814  (server)    6/11/2008 6:40 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;RemoveLC
@@ -955,11 +955,6 @@
             return RubyBinder.SetRule(rule, action, callerContext, args) ? rule : null;
         }
 
-        // emitted: (IDO implementation for Ruby classes)
-        public static LanguageContext/*!*/ GetLanguageContext() {
-            return RubyContext._Default;
-        }
-
         // emitted: (rules)
         public static bool CheckVersionAndRuntime(CodeContext/*!*/ context, object/*!*/ expectedLanguageContext, RubyModule/*!*/ module, int expectedVersion) {
             return context.LanguageContext == expectedLanguageContext && module.Version == expectedVersion;
===================================================================
