• Авторизация


Наткнулся на баг компилятора в Orcas Beta 30-11-2007 21:31 к комментариям - к полной версии - понравилось!


В релизе правда уже нет ;) Тем не менее вот код для воспроизведения бага:
    1 using System.Diagnostics;
    2 
    3 namespace dimzon.CompilerTest
    4 {
    5     public interface i1
    6     {
    7         void a();
    8     }
    9 
   10     public class c1: i1
   11     {
   12         public void a()
   13         {
   14             Trace.WriteLine(this + " a()");
   15         }
   16     }
   17 
   18     public class c2: i1
   19     {
   20         public void a()
   21         {
   22             Trace.WriteLine(this + " a()");
   23         }
   24     }
   25 
   26     public abstract class c3
   27     {
   28         private void test_method(string str, i1[] arr, int no)
   29         {
   30             Trace.WriteLine(this + " 1 " + str + " " + arr.Length + " " + no);
   31         }
   32 
   33         protected void test_method(string str, params i1[] arr)
   34         {
   35             Trace.WriteLine(this + " 2");
   36             test_method(str, arr, 0);
   37         }
   38     }
   39 
   40     public class c4: c3
   41     {
   42         public void my_test()
   43         {
   44             c1 o1 = new c1();
   45             c2 o2 = new c2();
   46             test_method("just_a_test", o1, o2);
   47         }
   48     }
   49 }

при компиляции неправильно ресолвится оверлоадинг и компилятор пытается вызвать метод из строки 28 а не из строки 33, в результате чего обламывается на private...
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Наткнулся на баг компилятора в Orcas Beta | dimzon541 - Поток не замутненного разумом сознания... | Лента друзей dimzon541 / Полная версия Добавить в друзья Страницы: раньше»