In mcs and gmcs:
[mono.git] / mcs / errors / cs1655.cs
diff --git a/mcs/errors/cs1655.cs b/mcs/errors/cs1655.cs
new file mode 100644 (file)
index 0000000..7f653da
--- /dev/null
@@ -0,0 +1,25 @@
+// cs1655.cs: Cannot pass members of `q' as ref or out arguments because it is a `foreach iteration variable'
+// Line: 23
+
+using System.Collections;
+
+struct P {
+       public int x;
+}
+
+struct Q {
+       public P p;
+}
+
+class Test {
+       static void bar (out int x) { x = 0; }
+       static IEnumerable foo () { return null; }
+
+       static void Main ()
+       {
+               IEnumerable f = foo ();
+               if (f != null)
+                       foreach (Q q in f)
+                               bar (out q.p.x);
+       }
+}