読者です 読者をやめる 読者になる 読者になる

sbt console で scalacOptions を指定する

これでOK

% sbt
> set scalacOptions ++=Seq("-Xprint:parser")
[info] Defining *:scalacOptions
[info] The new value will be used by compile:scalacOptions
[info] Reapplying settings...
[info] Set current project
> set scalacOptions ++=Seq("-Xlog-implicit-conversions")
[info] Defining *:scalacOptions
[info] The new value will be used by compile:scalacOptions
[info] Reapplying settings...
[info] Set current project
> console

...

scala> for {
     |   x <- List(1,2,3)
     |   y <- Some(1)
     | } yield {
     |   x + y
     | }
[[syntax trees at end of                    parser]] // <console>
package $line3 {
  object $read extends scala.AnyRef {
    def <init>() = {
      super.<init>();
      ()
    };
    object $iw extends scala.AnyRef {
      def <init>() = {
        super.<init>();
        ()
      };
      object $iw extends scala.AnyRef {
        def <init>() = {
          super.<init>();
          ()
        };
        val res0 = List(1, 2, 3).flatMap(((x) => Some(1).map(((y) => x.$plus(y)))))
      }
    }
  }
}

<console>:10: inferred view from Option[Int] to scala.collection.GenTraversableOnce[?] = scala.this.Option.option2Iterable[Int]:(xo: Option[Int])Iterable[Int]
                y <- Some(1)
                  ^
[[syntax trees at end of                    parser]] // <console>
package $line3 {
  object $eval extends scala.AnyRef {
    def <init>() = {
      super.<init>();
      ()
    };
    lazy val $result = $line3.$read.$iw.$iw.res0;
    val $print: String = {
      $read.$iw.$iw;
      "".$plus("res0: List[Int] = ").$plus(scala.runtime.ScalaRunTime.replStringOf($line3.$read.$iw.$iw.res0, 1000))
    }
  }
}

res0: List[Int] = List(2, 3, 4)