Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

20 lines
408 B
C#

using System;
using System.Threading;
class Impl<T> where T : class
{
public static object CompareExchangeImpl (TypedReference tr, object value, object comparand)
{
return Interlocked.CompareExchange (ref __refvalue(tr, T), (T) value, (T) comparand);
}
}
class X
{
public static void Main ()
{
var obj = "obj";
var tr = __makeref (obj);
Impl<string>.CompareExchangeImpl (tr, "foo", null);
}
}