Scala “a”是什么&书信电报;精细化>&引用;通过TypeTag获得的类型?

Scala “a”是什么&书信电报;精细化>&引用;通过TypeTag获得的类型?,scala,reflection,implicits,Scala,Reflection,Implicits,我有一个方法: import scala.reflect.runtime.universe.{TypeTag,typeOf} def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString) 大多数情况下,调用时,print[MyClass]会打印MyClass,但有时它会打印 我正在处理一个相当复杂的系统(多个相互连接的jar,100K行代码),我似乎无法确定是什么决定了这是一种行为还是另一种行为。但是如果我知道的意思,或

我有一个方法:

import scala.reflect.runtime.universe.{TypeTag,typeOf}

def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)
大多数情况下,调用时,
print[MyClass]
会打印
MyClass
,但有时它会打印


我正在处理一个相当复杂的系统(多个相互连接的jar,100K行代码),我似乎无法确定是什么决定了这是一种行为还是另一种行为。但是如果我知道
的意思,或者知道是什么触发了它,也许我可以?

改进可以解释为匿名类类型。例如

import scala.reflect.runtime.universe.{TypeTag,typeOf}

def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)

class C
trait T

print[C with T]

type A = C with T

print[A]

在这两种情况下,输出都是

改进可以解释为匿名类类型。例如

import scala.reflect.runtime.universe.{TypeTag,typeOf}

def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)

class C
trait T

print[C with T]

type A = C with T

print[A]
在这两种情况下,输出都是