Не удалось найти неявное значение для параметра, определенного в сопутствующем объекте

В приведенном ниже примере класса минимального типа scala 2.12.6 / sbt 1.2.1 жалуется could not find implicit value for parameter tc: tryout.Tryout.TypeClassTrait[Int]. Если я раскомментирую строку println, она компилируется. Я ожидал, что это сработает без println, потому что я импортирую все из сопутствующего объекта.

Это ошибка или особенность? (Кстати: установка опции scalac -Xlog-implicits ничего полезного не дала.)

trait Tryout {
  import Tryout._
//  println(IntTypeClass) // uncomment this line to make compile work
  show(3)                 // compile fails here
}
object Tryout {
  trait TypeClassTrait[T] {
    def show(t: T): Unit
  }
  implicit object IntTypeClass extends TypeClassTrait[Int] {
    override def show(t: Int): Unit = println(t)
  }
  def show[T](t: T)(implicit tc: TypeClassTrait[T]): Unit = tc.show(t)
}

person Georg    schedule 28.08.2018    source источник
comment
См. stackoverflow.com / questions / 20380800 /, stackoverflow.com/questions/12777513/ и заголовок stackoverflow.com/questions/32438750/. Наверное, и многие другие тоже.   -  person Alexey Romanov    schedule 28.08.2018
comment
Я согласен, это своего рода дублирование. TL; DR: объявите черту после объекта, и все будет хорошо.   -  person C4stor    schedule 28.08.2018
comment
Возможный дубликат Scala неявный механизм разрешения зависит от порядка объявления?   -  person C4stor    schedule 28.08.2018
comment
@AlexeyRomanov благодарит за ссылки - в частности, вторая, ведущая к ошибке компилятора Scala, поучительна. Если вы отправите это как ответ, я приму его. (Спасибо и C4stor, но Алексей оказался быстрее :))   -  person Georg    schedule 28.08.2018
comment
@Georg Мы не указываем на дубликаты, чтобы дублировать ответы, если на вопрос уже дан ответ, больше не нужно :)   -  person Alexey Romanov    schedule 28.08.2018