blob: a9b2c70bd53d2a9fccd62705d9d03516c7471f85 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package mill.eval
sealed trait Result[+T]
object Result{
implicit def create[T](t: => T): Result[T] = {
try Success(t)
catch { case e: Throwable => Exception(e, new java.lang.Exception().getStackTrace) }
}
case class Success[T](value: T) extends Result[T]
case object Skipped extends Result[Nothing]
sealed trait Failing extends Result[Nothing]
case class Failure(msg: String) extends Failing
case class Exception(throwable: Throwable, outerStack: Seq[StackTraceElement]) extends Failing
}
|