Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / gtest-411.cs
1 using System;
2
3 static class Maybe
4 {
5         public static Maybe<T> C<T> (T value)
6         {
7                 return null;
8         }
9 }
10
11 sealed class Maybe<T>
12 {
13         public Maybe (T value)
14         {
15         }
16 }
17
18 static class Extensions {
19         public static R Match<T,R>(this T self, params Func<T,Maybe<R>>[] matchers)
20         {
21                 return default (R);
22         }
23 }
24
25 class Test {
26         public static void Main ()
27         {
28                 Extensions.Match ("a", s => Maybe.C(s));
29                 Extensions.Match ("a", s => Maybe.C(s), s => Maybe.C("a"));
30         }
31 }