2017-07-03 34 views
1

我正在使用自定義Predef-Yno-predef標誌。它基本上是SlamData's one的副本。拼合scala.immutable.Seq與-Yno-predef標誌

當我試圖壓平嵌套不變Seq館藏珍品我收到錯誤:

No implicit view available from my.Predef.Seq[String] => scala.collection.GenTraversableOnce[String]. 

如果我把import scala.Predef._它會再次編譯。我試圖調查scala.Predefscala程序包對象,但是當我試圖複製TraversableOnce's,TraversableSeq的定義時,它並沒有幫助。

有人知道vanilla predef的哪一部分負責產生這種隱式?

回答

4

您正在尋找Predef.$conforms

找出方法是在命令行上運行scala -Xprint:typer -e 'Seq(Seq(1)).flatten'。 它將打印整個語法樹,解決所有含義。

+0

預覽語法樹的好方法:) –

0

一些挖後,我發現,我缺少的是:

type <:<[-From, +To] = scala.Predef.<:<[From, To] 
implicit def $conforms[A]: A <:< A = scala.Predef.$conforms[A] 

顯然,它需要同伴對象中所有類型的類派生內使用隱含的證據。