Переписывал код на Nemerle, попалась конструкция delegate { ... }.
В Nemerle нет такой конструкции, и поэтому нужно указывать все аргументы.
C#
class Program
{
static void F0(Action x) {}
static void F1(Action<object> x) {}
static void F2(Action<object, object> x){}
static void Main()
{
F0(delegate { Console.WriteLine("A"); });
F1(delegate { Console.WriteLine("A"); });
F2(delegate { Console.WriteLine("A"); });
}
}
Nemerle:
module M
{
F0(x : Action) : void {}
F1(x : Action[object]) : void {}
F2(x : Action[object, object]) : void {}
public Main() : void
{
F0(fun() { Console.WriteLine("A") });
F1(fun(_) { Console.WriteLine("A") });
F2(fun(_,_) { Console.WriteLine("A") });
}
}