Merge pull request #463 from strawd/concurrent-requests
[mono.git] / mcs / tests / gtest-616.cs
1 using System;
2
3 struct S : IDisposable
4 {
5         public void Dispose ()
6         {
7         }
8 }
9
10 class A<T> where T : IDisposable
11 {
12         public virtual bool Test<U> (U u) where U : T
13         {
14                 using (u) {
15                         return false;
16                 }
17         }
18 }
19
20 class B : A<S>
21 {
22         public override bool Test<U> (U u)
23         {
24                 using (u) {
25                         return true;
26                 }
27         }
28
29         public static int Main ()
30         {
31                 var b = new B ();
32                 if (!b.Test (new S ()))
33                         return 1;
34
35                 return 0;
36         }
37 }