[Регрессия] Nemerle не приводит ламбды в делегаты
От: Аноним  
Дата: 22.04.10 15:38
Оценка:
Не знаю, сохранился ли в новых версиях беты следующий баг.

using System;
using System.Console;
using Nemerle.Utility;

[Record] class GEventArgs[T] { [Accessor] _value : T }
delegate GEventHandler[T](sender : object, ea : GEventArgs[T]) : void;
delegate StringEventHandler(sender : object, ea : GEventArgs[string]) : void;

module Program
{
    event Foo : GEventHandler[string];
    event Bar : StringEventHandler;
    
    public Main() : void
    {
        Foo += (_, ea) => { WriteLine(ea.Value) };
        Bar += (_, ea) => { WriteLine(ea.Value) };
    }
}


Вторую анонимную функцию компилятор неявно преобразовывает в делегат. Первую, с генериком — в бете не хочет, при этом в декабрьском CTP всё работало нормально.

Если сохранился, то я могу запостить на баг-трекер.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.