При
def fn[T: ClassTag](...)
должен быть доступен неявный ClassTag [T].Как они доступны?Есть ли где-нибудь список ClassTags?Я вижу, что implicit val c: ClassTag[Any]
не будет сокращать его, поскольку ClassTag не является вариативным.И как ClassTags доступны для пользовательских классов?Например, в
import scala.reflect.ClassTag
class A
def fn[T: ClassTag](e: T) = Array.fill[T](1)(e)
fn(new A())
откуда берется ClassTag [A]?Этот код компилируется, а я его не определяю.
Поиск имплицитов в Predef и пакете отражения в исходном коде мне не помог.