module managerExtensions
perst_hash = HashSet.[string]()
public isPersist(this ti : FixedType) : bool
(ti :> FixedType.Class :: ti.TypeInfo.GetSuperTypes()).Map(_.ToString()).Exists(perst_hash.Contains(_))
// ^ это приведение представляется лишним, однако без него ошибка
error : in argument #2 (tl), needed a list[Nemerle.Compiler.FixedType-], got list[Nemerle.Compiler.FixedType.Class]: Nemerle.Compiler
GetSuperTypes имеет тип результата list[FixedType.Class].
нетрудно заметить, что в итоге "ti :: ti.TypeInfo.GetSuperTypes()" должен быть получен тип list[FixedType] , однако компилятор отказывается. на упрощенных примерах проблема не наблюдается
def c = [Var.A(2.0)]
mutable g : Var
def d = g :: c //компиляция ок
оформить как исью?