Чтение книги Scala by Example, и есть этот пример, когда Мартин объясняет границы типов на странице 54:
trait Set[A <: Ordered[A]] {
def incl(x: A): Set[A]
def contains(x: A): Boolean
}
и
trait Set[A <% Ordered[A]] ...
далее на странице 55. Он также говорит, что <: / <% - единственное изменение, необходимое для свойства Set, чтобы продемонстрировать возможности ограничения типа.
Однако, когда я повторяю пример со своим собственным кодом, IDE жалуется, что у трейтов может НЕ быть границ представления, а только границы типов. Помогает изменение ключевого слова trait на абстрактный класс или изменение представления, привязанного к привязанному типу. Это ошибка в книге?