Баг + фича
От: SergASh  
Дата: 27.08.07 15:05
Оценка:
Привет всем!

Обнаружилось, что вот такой код
public class Test1[Q]
  where Q : struct
{
  public mutable q : Q?;
}

не компилируется с ошибкой
typing constraint on T not satisfied, upon instantiation of System.Nullable: System.Object is not a subtype of System.ValueType [simple require]

А вот такой компилируется, хотя инстанцировать это шаблон невозможно
public class A {}
public class B {}

public class Test[P]
  where P :  A, B
{
  public mutable t_ : P;
}

Первое, понятно, баг. А про второе не уверен — рефлектор, например, радостно показывает ограничение where P : A, B. Ildasm тоже. То есть .NET такое позволяет, но в чём смысл неясно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.