проблема с выводом типа
От: _Claus_  
Дата: 04.01.12 20:54
Оценка:
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    //компиляция ок



оформить как исью?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.