a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
31 lines
455 B
C#
31 lines
455 B
C#
public interface SomeInterface
|
|
{
|
|
int Foo { get; set; }
|
|
}
|
|
|
|
public struct SomeStruct : SomeInterface
|
|
{
|
|
int x;
|
|
public int Foo {
|
|
get { return x; }
|
|
set { x = value; }
|
|
}
|
|
}
|
|
|
|
public class Test
|
|
{
|
|
public static void Fun<T> (T t)
|
|
where T : SomeInterface
|
|
{
|
|
if (++t.Foo != 1)
|
|
throw new System.Exception ("not 1");
|
|
if (t.Foo != 1)
|
|
throw new System.Exception ("didn't update 't'");
|
|
}
|
|
|
|
public static void Main()
|
|
{
|
|
Fun (new SomeStruct ());
|
|
}
|
|
}
|