The following code failes:
using System;
class Test {
public static void Main(String[] args) {
long iTest = 1;
System.Threading.Interlocked.Increment(ref iTest);
}
}
With the following error:
(process:7397): ** WARNING **: unhandled exception System.InvalidCastException: "Cannot cast from source type to destination type"
in Mono.CSharp.Argument:Emit ()
in Mono.CSharp.Invocation:EmitArguments ()
in Mono.CSharp.Invocation:EmitCall ()
in Mono.CSharp.Invocation:Emit ()
in Mono.CSharp.Invocation:EmitStatement ()
in Mono.CSharp.StatementExpression:Emit ()
in Mono.CSharp.Block:Emit ()
in Mono.CSharp.EmitContext:EmitTopBlock ()
in Mono.CSharp.Method:Emit ()
in Mono.CSharp.TypeContainer:Emit ()
in Mono.CSharp.RootContext:EmitCode ()
in Mono.CSharp.Driver:MainDriver ()
in Mono.CSharp.Driver:Main ()
I did think that it was my icalls but they are removed (lates corlib and mcs)
Any hints?
If I make a new class with two static methods with the same signatures it works....
- Patrik
