Какова была причина ограничить объединение неявных параметров и границ вида / контекста? - PullRequest
8 голосов
/ 27 июля 2011

Один из последних коммитов для мастера Scala снимает ограничение на объединение границ контекста / вида с неявными параметрами. Это большое улучшение, которое уменьшает количество шаблонов, но какова была причина того, что мы сделали такое ограничение раньше, и какие последствия мы можем ожидать сейчас?

1 Ответ

5 голосов
/ 27 июля 2011

Контекст и границы просмотра добавляют неявные параметры. Так что если вы напишите:

def f[T : Manifest](l: List[T])(implicit ord: Ordering[T]) 

На самом деле вместо одного передаются два неявных параметра. Разрешение такого синтаксиса, безусловно, приведет к некоторой путанице в будущем. Поскольку неявное использование параметров становится все более распространенным, из-за классов типов полезно сделать что-то подобное, описанное выше.

...