Баг: generics и наследование
От: MatFiz Россия  
Дата: 20.06.07 02:23
Оценка:
Нашел баг в компиляторе.
Код:


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

module Program
{
    class C['T]
    {
        public this()
        {
            M();
        }
        
        protected virtual M(): void
        {
            WriteLine("Generic C");
        }
    }
    
    class Cint : C[int]
    {
        protected override M(): void
        {
            WriteLine("Int C");
        }
    }
    
    Main() : void
    {
        _ = Cint();  // TypeLoadException
    }
}


Получаем исключение

Необработанное исключение: System.TypeLoadException: Тип "Cint" из сборки "out, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" попытался переопределить метод "M", но он не реализует этот метод и не наследует его.
в Program.Main()

хотя в принципе должны просто получить экземпляр класса Cint.

Если баг воспроизведется, подскажите, куда багрепортить.
How are YOU doin'?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.