Какие новые функции (или будут добавлены) добавлены в Scaladoc в Scala 2.10?

Среди всех неполных списков функций, входящих в Scala 2.10, есть различные упоминания об улучшениях в Scaladoc. Но неясно, какие из них есть, и какие из них действительно происходят - например, в одном из списков улучшений говорится "исправления для Scaladoc" со ссылками на различные запросы на pull, некоторые из которых были отклонены.

Может ли кто-нибудь подвести итог тому, что действительно изменилось между Scala 2.9 и 2.10 вехой 4, и, возможно, указать, что еще запланировано для самого 2.10?

Кроме того, они, наконец, решат проблему неспособности ссылаться на методы? Например. усеянный по всему моему коду У меня есть такие вещи:

/**
 * Reverse the encoding computed using `encode_ngram`.
 */
def decode_ngram(ngram: String): Iterable[String] = {
  DistDocument.decode_ngram_for_counts_field(ngram)
}

где я хочу ссылаться на другой метод в том же классе, но AFAIK просто не может этого сделать. ИМО это должно быть что-то очевидное, как [[encode_ngram]] - то есть, я определенно не должен давать абсолютный класс (который заставит все сломаться, как только я вытащу класс и вставлю его где-то в другом месте), и я не должен необходимо указать типы параметров, если само имя метода недвусмысленно (т.е. не полиморфно).

Ответ 1

Появится несколько новых функций, а также множество исправлений, но пока нет окончательного списка всех исправлений. Из более заметных новых возможностей:

  • Теперь неявно добавленные участники будут видны. Хорошим примером является просмотр scala.Array, где в Scaladoc теперь видны такие методы, как map, которые вы предположили, что у вас есть.
  • Автоматически сгенерированные диаграммы наследования SVG, для взгляда птицы на отношения между классами/чертами/объектами на уровне пакета, а затем также на уровне отдельных классов и т.д. Например, см. диаграммы Scaladoc на уровне уровня пакета (нажмите "Иерархия контента" ), а также на уровне класса.
  • Метод-привязка в некоторой ограниченной форме должен идти в 2.10 (но не в ночное время). (На самом деле это не совсем тривиально реализовать в своей полной форме из-за практических вещей, таких как перегрузка, как вы отметили.)
  • Улучшенные варианты использования Элемент с прецедентом больше не будет сгенерирован дважды, и теперь они немного понятнее и проще, чем раньше.
  • (менее заметный) Горячие клавиши для навигации Scaladoc добавлены, они объясняются здесь и здесь

Для более исчерпывающего списка исправлений, может быть хорошей идеей написать в scala -internals - есть хороший шанс, что кто-то скомпилирует список всех основных исправлений за последний год для вас там.