svn path=/trunk/mcs/; revision=89101
-// cs1612-2.cs: Cannot modify the return value of `X.P' because it is not a variable
+// CS1612: Cannot modify a value type return value of `X.P'. Consider storing the value in a temporary variable
// Line: 9
using System;
-// cs1612-3.cs: Cannot modify the return value of `bar.this[...]' because it is not a variable
+// CS1612: Cannot modify a value type return value of `bar.this[int]'. Consider storing the value in a temporary variable
// Line: 19
struct foo {
-// cs1612-4.cs: Cannot modify the return value of `X.P' because it is not a variable
+// CS1612: Cannot modify a value type return value of `X.P'. Consider storing the value in a temporary variable
// Line: 9
using System;
-// cs1612-5.cs: Cannot modify the return value of `bar.this[...]' because it is not a variable
+// CS1612: Cannot modify a value type return value of `bar.this[int]'. Consider storing the value in a temporary variable
// Line: 19
struct foo {
--- /dev/null
+// CS1612: Cannot modify a value type return value of `Test.v'. Consider storing the value in a temporary variable
+// Line: 28
+
+public struct V
+{
+ public int this [int i] {
+ set {
+ }
+ }
+
+ public int x;
+}
+
+class Test
+{
+ V m_value;
+
+ public V v { get { return m_value; } }
+
+ public Test ()
+ {
+ m_value = new V ();
+ }
+
+ public static void Main ()
+ {
+ Test t = new Test ();
+ t.v [0] = 9;
+ }
+}
-// cs1612.cs: Cannot modify the return value of `X.P' because it is not a variable
+// CS1612: Cannot modify a value type return value of `X.P'. Consider storing the value in a temporary variable
// Line: 9
using System;