Scala 2.11.5 falha do compilador com aliases e manifestos de tipo

Parece que passar um alias para um tipo parametrizado de caractere curinga para uma função que tenta obter um resultado implícitoManifest para o tipo travará o compilador Scala 2.11.5.

O seguinte pode ser colado no 2.11.5 REPL para reproduzir a falha:

class C[T]
def f[T](implicit m: Manifest[T]) = 0

type CAlias = C[_]
val x = f[CAlias]

A saída do travamento é muito detalhada, mas contém esta informação:

scala.reflect.internal.FatalError:
  ?MethodType?
     while compiling: <console>
        during phase: globalPhase=erasure, enteringPhase=posterasure
     library version: version 2.11.5
    compiler version: version 2.11.5
  reconstructed args:

  last tree to typer: type $iw
       tree position: line 9 of <console>
            tree tpe: <notype>
              symbol: object $iw
   symbol definition: class $iw extends Object (a ModuleClassSymbol)
      symbol package: $line10
       symbol owners: object $iw -> object $iw -> object $read
           call site: object $iw in package $line10

Existem várias condições para esta falha. O tipoC deve ser parametrizado. O alias deve usar um curinga (C[_]) A chamada deve usar um alias de tipo, apenas chamandof[C[_]] funciona bem.

No meu programa, o caso é muito mais complexo, e a única solução que encontrei é fazer com que o método não aceite umManifest, mas basta dar umaClass parâmetro, que é feio.

Estou fazendo algo errado? Alguma sugestão para uma melhor solução alternativa? Eu não vi um bug no rastreador de erros do Scala; portanto, se isso parecer legítimo, vou adiante e denunciá-lo.

questionAnswers(1)

yourAnswerToTheQuestion