}
}
+interface IFoo<TOne,TTwo>
+{
+}
+
class Test
{
static Func<T[]> For<T> (List<T> list)
};
}
+ static Func<Type> TypeOf<T> (T t)
+ {
+ T l = t;
+ return () => {
+ l = t;
+ var e = typeof (Disposable <T>);
+ e = typeof (Disposable <>);
+ e = typeof (IFoo <,>);
+ return typeof (T);
+ };
+ }
+
static Func<T> Do<T> (T t)
{
T l = t;
var t10 = ArrayMultiMutate (new string [][] { new string [] { "a", "b", "c" }, new string [] { "1", "2", "3" }, new string [] { "A", "B", "C" }});
if (t10 () [2] [2] != null)
return 10;
+
+ var t11 = TypeOf ("b");
+ if (t11 () != typeof (string))
+ return 11;
Console.WriteLine ("OK");
return 0;
<size>26</size>
</method>
<method name="Int32 Main()">
- <size>431</size>
+ <size>468</size>
</method>
</type>
<type name="Test+<For>c__AnonStorey0`1[T]">
<size>23</size>
</method>
</type>
- <type name="Test+<Do>c__AnonStorey2`1[T]">
- <method name="Void .ctor()">
- <size>7</size>
+ <type name="Test">
+ <method name="Void ArrayMutate[T](T[])">
+ <size>27</size>
</method>
- <method name="T <>m__2()">
- <size>28</size>
+ <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
+ <size>26</size>
+ </method>
+ <method name="System.Func`1[System.Type] TypeOf[T](T)">
+ <size>38</size>
</method>
</type>
- <type name="Test+<Lock>c__AnonStorey3`1[T]">
+ <type name="Test+<TypeOf>c__AnonStorey2`1[T]">
+ <method name="System.Type <>m__2()">
+ <size>56</size>
+ </method>
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Do>c__AnonStorey3`1[T]">
<method name="T <>m__3()">
- <size>65</size>
+ <size>28</size>
</method>
- </type>
- <type name="Test+<Catch>c__AnonStorey4`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Lock>c__AnonStorey4`1[T]">
<method name="T <>m__4()">
- <size>48</size>
+ <size>65</size>
</method>
- </type>
- <type name="Test+<Finally>c__AnonStorey5`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Catch>c__AnonStorey5`1[T]">
<method name="T <>m__5()">
- <size>50</size>
+ <size>48</size>
</method>
- </type>
- <type name="Test+<Using>c__AnonStorey6`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Finally>c__AnonStorey6`1[T]">
<method name="T <>m__6()">
+ <size>50</size>
+ </method>
+ <method name="Void .ctor()">
<size>7</size>
</method>
</type>
- <type name="Test+<Switch>c__AnonStorey7`1[T]">
+ <type name="Test+<Using>c__AnonStorey7`1[T]">
+ <method name="T <>m__7()">
+ <size>7</size>
+ </method>
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="T <>m__7()">
+ </type>
+ <type name="Test+<Switch>c__AnonStorey8`1[T]">
+ <method name="T <>m__8()">
<size>35</size>
</method>
- </type>
- <type name="Test+<ForForeach>c__AnonStorey8`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="System.Collections.Generic.List`1[T] <>m__8()">
- <size>56</size>
- </method>
</type>
- <type name="Test">
- <method name="Void ArrayMutate[T](T[])">
- <size>27</size>
+ <type name="Test+<ForForeach>c__AnonStorey9`1[T]">
+ <method name="System.Collections.Generic.List`1[T] <>m__9()">
+ <size>56</size>
</method>
- </type>
- <type name="Test+<ArrayMutate>c__AnonStorey9`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="Void <>m__9(Int32)">
- <size>36</size>
- </method>
</type>
- <type name="Test">
- <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
- <size>26</size>
+ <type name="Test+<ArrayMutate>c__AnonStoreyA`1[T]">
+ <method name="Void <>m__A(Int32)">
+ <size>36</size>
</method>
- </type>
- <type name="Test+<ArrayMultiMutate>c__AnonStoreyA`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="T[][] <>m__A()">
+ </type>
+ <type name="Test+<ArrayMultiMutate>c__AnonStoreyB`1[T]">
+ <method name="T[][] <>m__B()">
<size>48</size>
</method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
</type>
</test>
<test name="gtest-anon-25.cs">