Интересная зависимость от порядка аргументов
От: nikov США http://www.linkedin.com/in/nikov
Дата: 11.09.09 13:19
Оценка:
Такой код компилируется:
module Program
{
  Main() : void
  {
    Foo(Bar2, Bar1);
  }
  
  Foo[S](_x : void -> S, _y : void -> S) : void { }
  
  Bar1() : string { "" }
  Bar2() : object { "" }
}


а такой — нет:

module Program
{
  Main() : void
  {
    Foo(Bar1, Bar2);
  }
  
  Foo[S](_x : void -> S, _y : void -> S) : void { }
  
  Bar1() : string { "" }
  Bar2() : object { "" }
}

Error: in argument #2 (_y) of Program.Foo.[string], needed a void -> string, got void -> System.Object: the types string and System.Object are not compatible [simple unify]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.