fork download
  1. import scala.language.higherKinds
  2. // Scala 2.10.3
  3. trait Holds1[A]
  4. trait Holds2[A,B]
  5. trait Fn[F[_]]
  6. object Fn {
  7. implicit def fn[F[_]] = new Fn[F] {}
  8.  
  9. implicitly[Fn[Holds1]] // 1: OK
  10. new Fn[({ type λ[a] = Holds2[Unit,a]})#λ] {} // 2: OK
  11.  
  12. type Holds2_[a] = Holds2[Unit,a]
  13. implicitly[Fn[Holds2_]] // 3: OK
  14.  
  15. // 4: compile error
  16. implicitly[Fn[({ type λ[a] = Holds2[Unit,a]})#λ]]
  17. }
  18.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:16: error: could not find implicit value for parameter e: Fn[[a]Holds2[Unit,a]]
  implicitly[Fn[({ type ?[a] = Holds2[Unit,a]})#?]]
            ^
one error found
spoj: The program compiled successfully, but Main.class was not found.
      Class Main should contain method: def main(args: Array[String]).
stdout
Standard output is empty