Jo Shields 181b81b4a4 Imported Upstream version 3.12.0
Former-commit-id: cf92446697332992ec36726e78eb8703e1f259d7
2015-01-13 10:44:36 +00:00

41 lines
478 B
C#

using System;
struct S
{
}
class C
{
public static int ConversionCalled;
public static implicit operator S (C c)
{
++ConversionCalled;
return new S ();
}
}
class Program
{
static C field;
static int Main ()
{
C c = new C ();
var x = c ?? new S ();
if (C.ConversionCalled != 1)
return 1;
c = null;
x = c ?? new S ();
if (C.ConversionCalled != 1)
return 2;
x = field ?? new S ();
if (C.ConversionCalled != 1)
return 3;
return 0;
}
}