Странное поведение вариантов.
module Some
{
type Boo=int;
variant Foo
{
|A
|B
};
};
func():void
{
def a=Some.Boo(); //Ошибка компиляции - тип не виден. Все верно.
def b=Some.Foo(); //Ошибка компиляции - тип не виден. Все верно.
def c=Hashtable.[Some.Foo, int](); //Ошибка компиляции - тип не виден. Все верно.
(!) def d=Hashtable.[Some.Foo.A, int](); //Компилируется нормально. При входе в функцию возникает исключение в конструкторе таблицы.
}
Здравствуйте, Ka3a4oK, Вы писали:
H>>Это проблема не с вариантами, видимо где-то недостаточно строго проверяется видимость типов при инстанцировании полиморфных типов.
KK>Это известный баг или создать новый тикет?
Не припоминаю такого бага, но тикет создай, объединить если что всегда можно.