Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / test-async-13.cs
index 3363d7f4b110d0f21faa7373cdf25ef53640eb5e..33279ff09595988f1308bea6f370a134fa8349b4 100644 (file)
@@ -8,10 +8,12 @@ using System.Runtime.CompilerServices;
 struct S
 {
        public int Value;
+       public S2 s2;
        
        public S (int a1, string a2)
        {
                Value = a1;
+               s2 = new S2 ();
        }
        
        public void SetValue (int value)
@@ -32,6 +34,11 @@ struct S
        }
 }
 
+struct S2
+{
+       public int Value;
+}
+
 enum E
 {
        E_1 = 1
@@ -270,6 +277,21 @@ class Tester : Base
                return 0;
        }
 
+       async Task<bool> ArrayAccessTest_10 ()
+       {
+               var b = new bool [1] { true };
+               
+               var r = b [await Task.Factory.StartNew (() => 0)];
+               return r;
+       }
+
+       async Task<bool> ArrayAccessTest_11 ()
+       {
+               var a = new S [1];
+               a [await Task.Factory.StartNew (() => 0)].s2.Value += 5;
+               return a [await Task.Factory.StartNew(() => 0)].s2.Value == 5;
+       }
+
        async Task<int> AssignTest_1 ()
        {
                field_int = await Task.Factory.StartNew (() => 0);