Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scala/scala3-example-project can't run with -coverage-out #16502

Closed
ckipp01 opened this issue Dec 12, 2022 · 1 comment · Fixed by #18498
Closed

scala/scala3-example-project can't run with -coverage-out #16502

ckipp01 opened this issue Dec 12, 2022 · 1 comment · Fixed by #18498
Assignees
Labels
area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html area:typer itype:bug itype:crash Spree Suitable for a future Spree

Comments

@ckipp01
Copy link
Member

ckipp01 commented Dec 12, 2022

Compiler version

3.2.2-RC1

Minimized code

You can use the scala/scala3-example-project to illustrate this:

Output (click arrow to expand)

sbt:scala3-example-project> compile
[info] compiling 3 Scala sources to /Users/ckipp/Documents/scala-workspace/scala3-example-project/target/scala-3.2.2-RC1/classes ...
exception while typing {
  scala.runtime.coverage.Invoker.invoked(18, "/tmp/coverage")
  ContextFunctions.parse.sumStrings("3", "4")
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing val $5$: ContextFunctions.parse.Parseable[Int] =
  {
    scala.runtime.coverage.Invoker.invoked(18, "/tmp/coverage")
    ContextFunctions.parse.sumStrings("3", "4")
  } of class class dotty.tools.dotc.ast.Trees$ValDef # -1
exception while typing {
  val $5$: ContextFunctions.parse.Parseable[Int] =
    {
      scala.runtime.coverage.Invoker.invoked(18, "/tmp/coverage")
      ContextFunctions.parse.sumStrings("3", "4")
    }
  val $6$: GivenInstances.StringParser[Int] =
    GivenInstances.StringParser.intParser
  scala.runtime.coverage.Invoker.invoked(17, "/tmp/coverage")
  $5$.apply($6$)
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing val x$1: util.Try[Int] =
  {
    val $5$: ContextFunctions.parse.Parseable[Int] =
      {
        scala.runtime.coverage.Invoker.invoked(18, "/tmp/coverage")
        ContextFunctions.parse.sumStrings("3", "4")
      }
    val $6$: GivenInstances.StringParser[Int] =
      GivenInstances.StringParser.intParser
    scala.runtime.coverage.Invoker.invoked(17, "/tmp/coverage")
    $5$.apply($6$)
  } of class class dotty.tools.dotc.ast.Trees$ValDef # -1
exception while typing {
  val x$1: util.Try[Int] =
    {
      val $5$: ContextFunctions.parse.Parseable[Int] =
        {
          scala.runtime.coverage.Invoker.invoked(18, "/tmp/coverage")
          ContextFunctions.parse.sumStrings("3", "4")
        }
      val $6$: GivenInstances.StringParser[Int] =
        GivenInstances.StringParser.intParser
      scala.runtime.coverage.Invoker.invoked(17, "/tmp/coverage")
      $5$.apply($6$)
    }
  scala.runtime.coverage.Invoker.invoked(16, "/tmp/coverage")
  println(x$1)
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing [cannot display due to ImportType(Select(Ident(ExecutionContext),Implicits)) (of class dotty.tools.dotc.core.Types$ImportType), raw string = Block(List(Import(Select(Ident(ExecutionContext),Implicits),List(ImportSelector(Ident(global),EmptyTree,EmptyTree))), Block(List(ValDef($3$,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Apply(Select(Apply(Select(Ident(context),asyncSum),List(Literal(Constant(3)), Literal(Constant(4)))),apply),List(Ident(global)))), ValDef(executor$1,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(9)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($3$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(12)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$1)))), Block(List(ValDef($4$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Apply(Apply(Select(Ident(context),asyncMult),List(Literal(Constant(3)), Literal(Constant(4)))),List(Ident(global)))), ValDef(executor$2,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(13)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($4$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(15)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$2)))), Block(List(ValDef(x$1,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($5$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(18)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(4)))))), ValDef($6$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(17)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($5$),apply),List(Ident($6$))))), Apply(Ident(invoked),List(Literal(Constant(16)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$1))))),Block(List(ValDef(x$2,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($7$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(21)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(a)))))), ValDef($8$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(20)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($7$),apply),List(Ident($8$))))), Apply(Ident(invoked),List(Literal(Constant(19)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$2)))))] of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing [cannot display due to ImportType(Select(Ident(ExecutionContext),Implicits)) (of class dotty.tools.dotc.core.Types$ImportType), raw string = Block(List(Apply(Ident(invoked),List(Literal(Constant(22)), Literal(Constant(/tmp/coverage))))),Block(List(Import(Select(Ident(ExecutionContext),Implicits),List(ImportSelector(Ident(global),EmptyTree,EmptyTree))), Block(List(ValDef($3$,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Apply(Select(Apply(Select(Ident(context),asyncSum),List(Literal(Constant(3)), Literal(Constant(4)))),apply),List(Ident(global)))), ValDef(executor$1,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(9)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($3$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(12)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$1)))), Block(List(ValDef($4$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Apply(Apply(Select(Ident(context),asyncMult),List(Literal(Constant(3)), Literal(Constant(4)))),List(Ident(global)))), ValDef(executor$2,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(13)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($4$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(15)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$2)))), Block(List(ValDef(x$1,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($5$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(18)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(4)))))), ValDef($6$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(17)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($5$),apply),List(Ident($6$))))), Apply(Ident(invoked),List(Literal(Constant(16)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$1))))),Block(List(ValDef(x$2,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($7$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(21)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(a)))))), ValDef($8$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(20)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($7$),apply),List(Ident($8$))))), Apply(Ident(invoked),List(Literal(Constant(19)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$2))))))] of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing [cannot display due to ImportType(Select(Ident(ExecutionContext),Implicits)) (of class dotty.tools.dotc.core.Types$ImportType), raw string = DefDef(test,List(List()),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Unit)],Block(List(Apply(Ident(invoked),List(Literal(Constant(22)), Literal(Constant(/tmp/coverage))))),Block(List(Import(Select(Ident(ExecutionContext),Implicits),List(ImportSelector(Ident(global),EmptyTree,EmptyTree))), Block(List(ValDef($3$,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Apply(Select(Apply(Select(Ident(context),asyncSum),List(Literal(Constant(3)), Literal(Constant(4)))),apply),List(Ident(global)))), ValDef(executor$1,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(9)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($3$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(12)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$1)))), Block(List(ValDef($4$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Apply(Apply(Select(Ident(context),asyncMult),List(Literal(Constant(3)), Literal(Constant(4)))),List(Ident(global)))), ValDef(executor$2,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(13)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($4$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(15)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$2)))), Block(List(ValDef(x$1,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($5$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(18)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(4)))))), ValDef($6$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(17)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($5$),apply),List(Ident($6$))))), Apply(Ident(invoked),List(Literal(Constant(16)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$1))))),Block(List(ValDef(x$2,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($7$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(21)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(a)))))), ValDef($8$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(20)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($7$),apply),List(Ident($8$))))), Apply(Ident(invoked),List(Literal(Constant(19)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$2)))))))] of class class dotty.tools.dotc.ast.Trees$DefDef # -1
exception while typing [cannot display due to ImportType(Select(Ident(ExecutionContext),Implicits)) (of class dotty.tools.dotc.core.Types$ImportType), raw string = TypeDef(ContextFunctions$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object ContextFunctions)))))), ValDef(context,TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)]),<init>),List())), TypeDef(context$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),object context)))))), TypeDef(Contextual,TypeTree[HKTypeLambda(List(T), List(TypeBounds(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Nothing),TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any))), AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction1),List(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext), TypeParamRef(T))))]), DefDef(asyncSum,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)),type Contextual),List(AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))))],Block(List(DefDef($anonfun,List(List(ValDef(evidence$1,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext)],EmptyTree))),TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(1)), Literal(Constant(/tmp/coverage))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(0)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident(Future),apply),List(TypeTree[TypeVar(TypeParamRef(T) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)],Apply(Select(Ident(x),+),List(Ident(y))))),Closure(List(),Ident($anonfun),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction0),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))])))),List(Ident(evidence$1))))))),Closure(List(),Ident($anonfun),EmptyTree))), DefDef(asyncMult,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree)), List(ValDef(ctx,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(3)), Literal(Constant(/tmp/coverage))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(2)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident(Future),apply),List(TypeTree[TypeVar(TypeParamRef(T) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)],Apply(Select(Ident(x),*),List(Ident(y))))),Closure(List(),Ident($anonfun),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction0),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))])))),List(Ident(ctx))))))))), ValDef(parse,TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)]),<init>),List())), TypeDef(parse$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),object parse)))))), TypeDef(Parseable,TypeTree[HKTypeLambda(List(T), List(TypeBounds(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Nothing),TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any))), AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction1),List(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeParamRef(T))), AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeParamRef(T))))))]), DefDef(sumStrings,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(DefDef($anonfun,List(List(ValDef(evidence$2,TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],EmptyTree))),TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(8)), Literal(Constant(/tmp/coverage))))),Block(List(ValDef(parser,TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(evidence$2)), ValDef(tryA,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(4)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parser),parse),List(Ident(x))))), ValDef(tryB,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(5)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parser),parse),List(Ident(y)))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(6)), Literal(Constant(/tmp/coverage))))),Apply(TypeApply(Select(Ident(tryA),flatMap),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List(ValDef(a,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class util)),class Try),List(TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))))],Block(List(Apply(Ident(invoked),List(Literal(Constant(7)), Literal(Constant(/tmp/coverage))))),Apply(TypeApply(Select(Ident(tryB),map),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List(ValDef(b,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))],Apply(Select(Ident(a),+),List(Ident(b))))),Closure(List(),Ident($anonfun),EmptyTree))))))),Closure(List(),Ident($anonfun),EmptyTree))))))))),Closure(List(),Ident($anonfun),EmptyTree)))))), DefDef(test,List(List()),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Unit)],Block(List(Apply(Ident(invoked),List(Literal(Constant(22)), Literal(Constant(/tmp/coverage))))),Block(List(Import(Select(Ident(ExecutionContext),Implicits),List(ImportSelector(Ident(global),EmptyTree,EmptyTree))), Block(List(ValDef($3$,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Apply(Select(Apply(Select(Ident(context),asyncSum),List(Literal(Constant(3)), Literal(Constant(4)))),apply),List(Ident(global)))), ValDef(executor$1,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(9)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($3$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(12)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$1)))), Block(List(ValDef($4$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Apply(Apply(Select(Ident(context),asyncMult),List(Literal(Constant(3)), Literal(Constant(4)))),List(Ident(global)))), ValDef(executor$2,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(13)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($4$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(15)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$2)))), Block(List(ValDef(x$1,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($5$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(18)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(4)))))), ValDef($6$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(17)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($5$),apply),List(Ident($6$))))), Apply(Ident(invoked),List(Literal(Constant(16)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$1))))),Block(List(ValDef(x$2,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($7$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(21)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(a)))))), ValDef($8$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(20)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($7$),apply),List(Ident($8$))))), Apply(Ident(invoked),List(Literal(Constant(19)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$2))))))))))] of class class dotty.tools.dotc.ast.Trees$TypeDef # -1
exception while typing [cannot display due to ImportType(Select(Ident(scala),concurrent)) (of class dotty.tools.dotc.core.Types$ImportType), raw string = PackageDef(Ident(<empty>),List(Import(Select(Ident(scala),concurrent),List(ImportSelector(Ident(ExecutionContext),EmptyTree,EmptyTree), ImportSelector(Ident(Future),EmptyTree,EmptyTree))), Import(Select(Ident(scala),util),List(ImportSelector(Ident(Try),EmptyTree,EmptyTree))), ValDef(ContextFunctions,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)]),<init>),List())), TypeDef(ContextFunctions$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object ContextFunctions)))))), ValDef(context,TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)]),<init>),List())), TypeDef(context$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),object context)))))), TypeDef(Contextual,TypeTree[HKTypeLambda(List(T), List(TypeBounds(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Nothing),TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any))), AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction1),List(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext), TypeParamRef(T))))]), DefDef(asyncSum,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class context$)),type Contextual),List(AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))))],Block(List(DefDef($anonfun,List(List(ValDef(evidence$1,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext)],EmptyTree))),TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(1)), Literal(Constant(/tmp/coverage))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(0)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident(Future),apply),List(TypeTree[TypeVar(TypeParamRef(T) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)],Apply(Select(Ident(x),+),List(Ident(y))))),Closure(List(),Ident($anonfun),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction0),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))])))),List(Ident(evidence$1))))))),Closure(List(),Ident($anonfun),EmptyTree))), DefDef(asyncMult,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree)), List(ValDef(ctx,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait ExecutionContext)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(3)), Literal(Constant(/tmp/coverage))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(2)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident(Future),apply),List(TypeTree[TypeVar(TypeParamRef(T) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)],Apply(Select(Ident(x),*),List(Ident(y))))),Closure(List(),Ident($anonfun),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction0),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))])))),List(Ident(ctx))))))))), ValDef(parse,TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)]),<init>),List())), TypeDef(parse$,Template(DefDef(<init>,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class Object)]),<init>),List())),ValDef(_,EmptyTree,EmptyTree),List(DefDef(writeReplace,List(List()),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),type AnyRef)],Apply(Select(New(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class runtime)),class ModuleSerializationProxy)]),<init>),List(Literal(Constant(TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),object parse)))))), TypeDef(Parseable,TypeTree[HKTypeLambda(List(T), List(TypeBounds(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Nothing),TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any))), AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait ContextFunction1),List(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeParamRef(T))), AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeParamRef(T))))))]), DefDef(sumStrings,List(List(ValDef(x,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String)],EmptyTree), ValDef(y,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(DefDef($anonfun,List(List(ValDef(evidence$2,TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],EmptyTree))),TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(8)), Literal(Constant(/tmp/coverage))))),Block(List(ValDef(parser,TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <empty>)),object GivenInstances),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(evidence$2)), ValDef(tryA,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(4)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parser),parse),List(Ident(x))))), ValDef(tryB,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(5)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parser),parse),List(Ident(y)))))),Block(List(Apply(Ident(invoked),List(Literal(Constant(6)), Literal(Constant(/tmp/coverage))))),Apply(TypeApply(Select(Ident(tryA),flatMap),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List(ValDef(a,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class util)),class Try),List(TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))))],Block(List(Apply(Ident(invoked),List(Literal(Constant(7)), Literal(Constant(/tmp/coverage))))),Apply(TypeApply(Select(Ident(tryB),map),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))])),List(Block(List(DefDef($anonfun,List(List(ValDef(b,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int))],Apply(Select(Ident(a),+),List(Ident(b))))),Closure(List(),Ident($anonfun),EmptyTree))))))),Closure(List(),Ident($anonfun),EmptyTree))))))))),Closure(List(),Ident($anonfun),EmptyTree)))))), DefDef(test,List(List()),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Unit)],Block(List(Apply(Ident(invoked),List(Literal(Constant(22)), Literal(Constant(/tmp/coverage))))),Block(List(Import(Select(Ident(ExecutionContext),Implicits),List(ImportSelector(Ident(global),EmptyTree,EmptyTree))), Block(List(ValDef($3$,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object concurrent),trait Future),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Apply(Select(Apply(Select(Ident(context),asyncSum),List(Literal(Constant(3)), Literal(Constant(4)))),apply),List(Ident(global)))), ValDef(executor$1,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(9)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($3$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(12)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$1)))), Block(List(ValDef($4$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait Future),List(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int)))],Apply(Apply(Select(Ident(context),asyncMult),List(Literal(Constant(3)), Literal(Constant(4)))),List(Ident(global)))), ValDef(executor$2,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class concurrent)),trait ExecutionContext)],Ident(global)), Apply(Ident(invoked),List(Literal(Constant(13)), Literal(Constant(/tmp/coverage))))),Apply(Apply(TypeApply(Select(Ident($4$),foreach),List(TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))])),List(Block(List(DefDef($anonfun,List(List(ValDef(x,TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any)],EmptyTree))),TypeTree[TypeVar(TypeParamRef(U) -> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Unit))],Block(List(Apply(Ident(invoked),List(Literal(Constant(15)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x)))))),Closure(List(),Ident($anonfun),EmptyTree)))),List(Ident(executor$2)))), Block(List(ValDef(x$1,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($5$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(18)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(4)))))), ValDef($6$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(17)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($5$),apply),List(Ident($6$))))), Apply(Ident(invoked),List(Literal(Constant(16)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$1))))),Block(List(ValDef(x$2,TypeTree[AppliedType(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object util),class Try),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(ValDef($7$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class ContextFunctions$)),module class parse$)),type Parseable),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Block(List(Apply(Ident(invoked),List(Literal(Constant(21)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident(parse),sumStrings),List(Literal(Constant(3)), Literal(Constant(a)))))), ValDef($8$,TypeTree[AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class GivenInstances$)),trait StringParser),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)))],Ident(intParser)), Apply(Ident(invoked),List(Literal(Constant(20)), Literal(Constant(/tmp/coverage))))),Apply(Select(Ident($7$),apply),List(Ident($8$))))), Apply(Ident(invoked),List(Literal(Constant(19)), Literal(Constant(/tmp/coverage))))),Apply(Ident(println),List(Ident(x$2))))))))))))] of class class dotty.tools.dotc.ast.Trees$PackageDef # -1
java.lang.AssertionError: assertion failed: bad adapt for ContextFunctions.parse.sumStrings("3", "4"): (x$0: GivenInstances.StringParser): scala.util.Try while running erasure on /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/ContextFunctions.scala
[info] exception occurred while compiling /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/ContextFunctions.scala, /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/GivenInstances.scala, /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/Main.scala
java.lang.AssertionError: assertion failed: bad adapt for ContextFunctions.parse.sumStrings("3", "4"): (x$0: GivenInstances.StringParser): scala.util.Try while compiling /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/ContextFunctions.scala, /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/GivenInstances.scala, /Users/ckipp/Documents/scala-workspace/scala3-example-project/src/main/scala/Main.scala
[error] ## Exception when compiling 3 sources to /Users/ckipp/Documents/scala-workspace/scala3-example-project/target/scala-3.2.2-RC1/classes
[error] java.lang.AssertionError: assertion failed: bad adapt for ContextFunctions.parse.sumStrings("3", "4"): (x$0: GivenInstances.StringParser): scala.util.Try
[error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
[error] dotty.tools.dotc.transform.Erasure$Boxing$.adaptToType(Erasure.scala:389)
[error] dotty.tools.dotc.transform.Erasure$Typer.adapt(Erasure.scala:1061)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1069)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2903)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2300)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedValDef(Erasure.scala:897)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2868)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2957)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3051)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3101)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1063)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1067)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2903)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2300)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedValDef(Erasure.scala:897)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2868)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2957)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3051)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3101)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1063)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1067)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2903)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3078)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3101)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1063)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1067)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2903)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1069)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2903)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.typer.Typer.$anonfun$51(Typer.scala:2356)
[error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:249)
[error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2356)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedDefDef(Erasure.scala:944)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2871)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2957)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3051)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3101)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2532)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1032)
[error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2883)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2887)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2957)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3051)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3101)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2659)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2928)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2958)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3025)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3029)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3145)
[error] dotty.tools.dotc.transform.Erasure.run(Erasure.scala:144)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:316)
[error] scala.collection.immutable.List.map(List.scala:246)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:320)
[error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:238)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
[error] dotty.tools.dotc.Run.runPhases$1(Run.scala:249)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:257)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:266)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:266)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:190)
[error] dotty.tools.dotc.Run.compile(Run.scala:174)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:35)
[error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88)
[error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:179)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:177)
[error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:463)
[error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
[error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:418)
[error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506)
[error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:405)
[error] sbt.internal.inc.Incremental$.apply(Incremental.scala:171)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2363)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2313)
[error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:30)
[error] sbt.internal.io.Retry$.apply(Retry.scala:46)
[error] sbt.internal.io.Retry$.apply(Retry.scala:28)
[error] sbt.internal.io.Retry$.apply(Retry.scala:23)
[error] sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:30)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2311)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] sbt.Execute.work(Execute.scala:291)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error] java.base/java.lang.Thread.run(Thread.java:833)```
</details>
@ckipp01 ckipp01 added itype:bug itype:crash stat:needs triage Every issue needs to have an "area" and "itype" label labels Dec 12, 2022
@WojciechMazur WojciechMazur added area:typer area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html and removed stat:needs triage Every issue needs to have an "area" and "itype" label labels Dec 12, 2022
@WojciechMazur
Copy link
Contributor

WojciechMazur commented Dec 12, 2022

Can be minimized to following snippet:
Still needs to be compiled with -coverage-out:/tmp/coverage

import scala.concurrent.{ExecutionContext, Future}

object ContextFunctions:

  object context:
    type Contextual[T] = ExecutionContext ?=> T
    def asyncSum(x: Int, y: Int): Contextual[Future[Int]] = Future(x + y)

@main def Test(): Unit =
  import ContextFunctions.context
  import ExecutionContext.Implicits.global
  val fails = context.asyncSum(3, 4)

@Kordyjan Kordyjan added this to the Future versions milestone Jan 13, 2023
@TheElectronWill TheElectronWill added the Spree Suitable for a future Spree label Jan 24, 2023
KacperFKorban referenced this issue in dotty-staging/dotty Sep 1, 2023
@KacperFKorban KacperFKorban self-assigned this Sep 1, 2023
KacperFKorban referenced this issue in dotty-staging/dotty Sep 1, 2023
KacperFKorban referenced this issue in dotty-staging/dotty Sep 1, 2023
KacperFKorban referenced this issue in dotty-staging/dotty Sep 1, 2023
Kordyjan referenced this issue Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html area:typer itype:bug itype:crash Spree Suitable for a future Spree
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants