Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@@ -0,0 +1,55 @@
using System;
interface IFoo<T>
{
T Call ();
}
class C1
{
public void Foo<T> (IFoo<T> t) where T : class
{
t?.Call ();
var x = t?.Call ();
}
public void Foo2<T> (IFoo<T> t)
{
t?.Call ();
}
}
class C2<T> where T : class
{
C2<T> i;
T field;
public void Foo ()
{
var x = i?.field;
}
}
class Program
{
static void Test<T>(Func<T> func) where T : struct
{
var r = func?.Invoke ();
}
static void Test2<T>(Func<T> func)
{
func?.Invoke ();
}
static void Main()
{
new C1 ().Foo<Program> (null);
new C1 ().Foo2<Program> (null);
new C2<string> ().Foo ();
Test (() => 1);
Test (() => 2);
}
}