Skip to content

Instantly share code, notes, and snippets.

@psisoyev
Created May 25, 2020 15:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save psisoyev/c93a9d3a3778d05912bf8e121a8c8452 to your computer and use it in GitHub Desktop.
Save psisoyev/c93a9d3a3778d05912bf8e121a8c8452 to your computer and use it in GitHub Desktop.
import $ivy.{
`org.typelevel::cats-effect:2.1.3`
}
import cats.effect.{ContextShift, IO, Timer}
import cats.implicits._
import scala.concurrent.CancellationException
import scala.concurrent.ExecutionContext.global
implicit val cs: ContextShift[IO] = IO.contextShift(global)
implicit val timer: Timer[IO] = IO.timer(global)
def DoStuff(str: => String): IO[Unit] = IO(println(s"Doing $str"))
val result = for {
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
_ <- DoStuff("hi")
} yield ()
result.unsafeRunSync()
@psisoyev
Copy link
Author

[nix-shell:~/projects/scripts]$ amm ./myscript.sc
Compiling /Users/psisojevs/projects/scripts/myscript.sc
java.lang.StackOverflowError
	at scala.reflect.internal.SymbolTable.isSubArgs(SymbolTable.scala:28)
	at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:471)
	at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
	at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:346)
	at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:304)
	at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:266)
	at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment