2017-07-03 10 views
1

Predef-Yno-predefというフラグを付けてカスタムを使用しています。基本的にはSlamData's oneのコピーです。-Yno-predefフラグでscala.immutable.Seqを平坦化

私はエラーが表示されるネストされた不変のSeqのコレクションを平らにしてみてください:

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

私はimport scala.Predef._を置けば、それは再びコンパイルします。私はscala.Predefscalaパッケージオブジェクトを調べようとしましたが、TraversableOnceのコピーをしようとしたときに、TraversableまたはSeqの定義は役に立ちませんでした。

誰かがこの暗黙的な生成を担当するvanilla predefの部分を知っていますか?

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

どうやらそれはコンパニオンオブジェクト内のすべてのこれらの型クラスの派生の内部で使用される暗黙的な証拠のために必要とされています。私は、私が行方不明になったことだったことが分かってきたいくつかの掘削後

答えて

4

あなたはPredef.$conformsを探しています。

これを理解する方法は、コマンドラインでscala -Xprint:typer -e 'Seq(Seq(1)).flatten'を実行することです。 すべての暗黙的な問題が解決された状態で、構文ツリー全体が出力されます。

+0

構文ツリーをプレビューするといいトリック:) –

0

関連する問題