Open vasily-kirichenko opened 8 years ago
Думаю, что для решения этой проблемы нужно под рихтовать типизацию частичного применения. Откровенно говоря заниматься этим сейчас не хочется. Если интересно, можешь сам попробовать. Копать надо здесь: https://github.com/rsdn/nemerle/blob/master/ncc/typing/Typer.n#L2079
| <[ _ :> $_ ]>
| <[ _ : $_ ]>
| <[ _ . $_ ]> =>
TypeExpr (PartialApplication (expression), expected)
Надо перехватывать случай:
| <[ _ . ]>
но при этом еще может быть проблема с силой связывания, так как такой код - это уже унарный оператор, а у них свои правила связывания.
Так вот надо перехватить этот случай. Добиться, чтобы управление в него приходило. И переписать код так чтобы генерировался фэйковый пустой идентификатор с правильным Location. А там уже комплит должен автоматом заработать.
Иными словами, код _.
не переписывается в лямбду и о полноценном коплите говорить уже не рпиходится. Нужно добиться, чтобы переписывался и после .
должен идти "пустой" идентификатор.