diff options
Diffstat (limited to 'tests/src/JIT/Generics/Instantiation/delegates/Delegate028.cs')
-rw-r--r-- | tests/src/JIT/Generics/Instantiation/delegates/Delegate028.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/src/JIT/Generics/Instantiation/delegates/Delegate028.cs b/tests/src/JIT/Generics/Instantiation/delegates/Delegate028.cs new file mode 100644 index 0000000000..5f6e862ecb --- /dev/null +++ b/tests/src/JIT/Generics/Instantiation/delegates/Delegate028.cs @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Threading; + +internal delegate T GenDelegate<T>(T p1, out T p2); + +internal class Foo<T> +{ + static public T Function<U>(U i, out U j) + { + j = i; + return (T)(Object)i; + } +} + +internal class Test +{ + public static int Main() + { + int i, j; + GenDelegate<int> MyDelegate = new GenDelegate<int>(Foo<int>.Function<int>); + i = MyDelegate(10, out j); + + if ((i != 10) || (j != 10)) + { + Console.WriteLine("Failed Sync Invokation"); + return 1; + } + + Console.WriteLine("Test Passes"); + return 100; + } +} + |