profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/gzoller/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

gzoller/docker-exp 16

Experiments with Docker and Scala

gzoller/dotty-reflection 15

Runtime-Like Reflection for Dotty

gzoller/html5-boilerplate 2

Professional front-end template. So much goodness baked in by default

gzoller/sbt-mongo-plugin 2

SBT plugin for mongo test fixtures (populate test database)

gzoller/akka-base 1

Base Docker images w/Portster for internal access to external ports (for akka dual-binding)

gzoller/Experiments 1

Lab of various R&D snippets

gzoller/gitflow-packager 1

Align sbt-built artifacts with appropriate branch using git-flow branching strategy.

gzoller/LateKafka 1

Late-commit Kafka integration for Akka Streams

gzoller/Metal 1

Bare Metal

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

OK, I see I confused matching on any, which arbitrarily narrows to a subset of values, and an ADT, which narrows to those subtypes. I'm not normally confused on that score, but I was just looking at how uncheckable type args work, namely, when can you accept Seq(42) match { case _: List[Int] } because the type args align. Similarly, here we allow arbitrary outer because it is a runtime check.

som-snytt

comment created time in 39 minutes

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

I mean, the whole point of pattern matching is that there might be information you can find at runtime that is unknown at compile-time, so the compiler should only prevent you from writing a pattern match if it's certain that it will in fact never match (implemented by https://github.com/lampepfl/dotty/blob/515cb9f01c609f59e2dd305107596066b0e1f580/compiler/src/dotty/tools/dotc/typer/Typer.scala#L3868-L3872). I do agree that we should have some kind of warning here by default, probably by enabling exhaustivity checking for unsealed selectors by default, but that requires some more discussion: https://github.com/scala/scala/pull/9299#issuecomment-721244511

som-snytt

comment created time in an hour

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

This is totally wrong. You have to warn at compile time, basta. There are lots of type checks that wouldn't happen to fail at runtime, but that doesn't mean you don't issue the type check at compile time. I shouldn't match D from arbitrary C, right?

import PartialFunction.cond

class C {
  class D(val n: Int) { override def equals(other: Any) = cond(other) { case that: D => that.n == n } }
  val d: D = new D(42)
}

object Test extends App {
  val c1, c2 = new C
  val x = new c1.D(42) { override def toString = "dope" }
  x match {
    case c1.d =>
  }
  x match {
    case c2.d =>  // fail here
  }
  c1.d match {
    case c2.d =>
  }
  assert(c1.d == c2.d)
}

where this is why REPL needs :javap

➜  snips javap -private -verbose '/tmp/C$$anon$1.class'
  public final java.lang.Object applyOrElse(java.lang.Object, scala.Function1);
    descriptor: (Ljava/lang/Object;Lscala/Function1;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=5, args_size=3
         0: aload_1
         1: astore_3
         2: aload_3
         3: instanceof    #10                 // class C$D
         6: ifeq          58
         9: aload_3
        10: checkcast     #10                 // class C$D
        13: invokevirtual #36                 // Method C$D.C$D$$$outer:()LC;
        16: aload_0
        17: getfield      #27                 // Field $outer:LC$D;
        20: invokevirtual #36                 // Method C$D.C$D$$$outer:()LC;
        23: if_acmpne     58      // <- outer check
        26: aload_3
        27: checkcast     #10                 // class C$D
        30: astore        4
        32: aload         4
        34: invokevirtual #47                 // Method C$D.n:()I
        37: aload_0
        38: getfield      #27                 // Field $outer:LC$D;
        41: invokevirtual #47                 // Method C$D.n:()I
        44: if_icmpne     51
        47: iconst_1
        48: goto          52
        51: iconst_0
        52: invokestatic  #53                 // Method scala/runtime/BoxesRunTime.boxToBoolean:(Z)Ljava/lang/Boolean;
        55: goto          68
        58: aload_2
        59: aload_1
        60: invokeinterface #59,  2           // InterfaceMethod scala/Function1.apply:(Ljava/lang/Object;)Ljava/lang/Object;
        65: goto          68
        68: areturn
som-snytt

comment created time in an hour

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

Surprised TIL D is not effectively sealed. Very surprised there is no warning at all. Willing to entertain which warning is appropriate.

som-snytt

comment created time in 2 hours

issue closedlampepfl/dotty

No compile time avoidance of mismatched outers

Compiler version

3 dawg

Minimized code

➜  snips cat outerly.scala

import PartialFunction.cond

class C {
  class D(val n: Int) { override def equals(other: Any) = cond(other) { case that: D => that.n == n } }
  val d: D = new D(42)
}

object Test extends App {
  val c1, c2 = new C
  assert(c1.d == c2.d)
  c1.d match {
    case c2.d =>
  }
}

Output

➜  snips scala outerly.scala
Exception in thread "main" java.lang.AssertionError: assertion failed
        at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11)
        at Test$.<clinit>(outerly.scala:11)
        at Test.main(outerly.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at dotty.tools.scripting.ScriptingDriver.compileAndRun(ScriptingDriver.scala:39)
        at dotty.tools.scripting.Main$.main(Main.scala:39)
        at dotty.tools.scripting.Main.main(Main.scala)
➜  snips sdk use scala 2.13.6

Using scala version 2.13.6 in this shell.
➜  snips scala outerly.scala
outerly.scala:13: error: type mismatch;
 found   : Main.c2.D
 required: Main.c1.D
    case c2.d =>
            ^

Expectation

I kind of prefer the compile-time error to runtime.

closed time in 3 hours

som-snytt

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

Ah thank you, I forgot about the need for sealed, we also get a warning with -Ycheck-all-patmat so I think we can close this as working as intended (although it's yet another reason why we should consider enabling-Ycheck-all-patmat by default).

som-snytt

comment created time in 3 hours

Pull request review commentlampepfl/dotty

Allowing local variables to be initialized with non-hot values in initialization checker

 class Semantic {   }    /** Evaluate a list of expressions */-  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[List[Result]] =-    exprs.map { expr => eval(expr, thisV, klass) }+  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[(List[Result], Env)] = exprs match {+    case Nil => (Nil, env)+    case h :: t => h match {+      case v: ValDef => {+        val res = eval(h, thisV, klass)+        val newEnv = +          if res.value.promote("Try early promotion", h).isEmpty then Env(Map(v.symbol -> Hot)) else Env(Map(v.symbol -> res.value))+        withEnv(env.union(newEnv)) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+      case _ => {+        val res = eval(h, thisV, klass)+        withEnv(env) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+    }+  }

We don't need to update env. The idea is to evaluate its initializer when the variable is accessed -- and it's automatically cached.

EnzeXing

comment created time in 3 hours

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

should emit an exhaustivity warning since there's no guarantee that the case matches the selector. @liufengyun how does the exhaustivity checker deals with prefixes currently?

The check reason at the level of types, so prefixes are handled as part of the type system. In child instantiation, we do prefix inference for child classes (in TypeOps.instantiateToSubtype).

If we add sealed to class D, the compiler reports an expected warning:

-- [E029] Pattern Match Exhaustivity Warning: examples/hello.scala:8:7 ---------
8 |    c1.d match {
  |    ^^^^
  |    match may not be exhaustive.
  |
  |    It would fail on pattern case: _: c1.D
som-snytt

comment created time in 3 hours

issue commentlampepfl/dotty

Hello world! is hardcoded in scala3-repl

Hi @jacobus, I am not able to reproduce your problem using both scala3-repl and repl from latest dotty master.

Do you have any other files in the directory where Hello.scala is defined?

jacobus

comment created time in 3 hours

issue openedlampepfl/dotty

Hello world! is hardcoded in scala3-repl

Compiler version

CLI Input

scala3-repl --version

CLI Output

Scala code runner version 3.0.0 -- Copyright 2002-2021, LAMP/EPFL

Minimized code

Hello.scala file content:

@main def hello = println("Hello, Mars!!")

Scala Repl

scala3-repl --version Scala code runner version 3.0.0 -- Copyright 2002-2021, LAMP/EPFL scala3-repl scala> :load Hello.scala def hello: Unit scala> hello Hello, world! scala>

Expectation

Hello, Mars!! should be printed, not hello world.

created time in 4 hours

issue commentlampepfl/dotty

No compile time avoidance of mismatched outers

Scala 2 is too conservative and prevent code that would work fine at runtime from compiling:

class C {
  class D
  val d: D = new D
}

object Test extends App {
  def foo(c1: C, c2: C): Unit = {
    c1.d match {
      case c2.d => // OK in Scala 3, type mismatch in Scala 2
    }
  }

  val c = new C
  foo(c, c)
}

On the other hand, the pattern match:

  c1.d match {
    case c2.d =>
  }

should emit an exhaustivity warning since there's no guarantee that the case matches the selector. @liufengyun how does the exhaustivity checker deals with prefixes currently?

som-snytt

comment created time in 5 hours

issue commentlampepfl/dotty

Blocks are top level in REPL (Scala 2 repl will assign the block to a variable)

@som-snytt That would be great! @smarter Yeah we talk alot about that you e.g in REPL can re-define the same name many times without compilation error but the seem to grok quickly that this exception is convenient... I'll have to live with "fixed in ammonite" ideals :) But nice with paste. I'll redo my exercises on name space in REPL and open an object Locally: instead or even just a new hand-rolled def local = val invisibleOutside = 42 etc to show the name space thing. So there are workarounds of course. (But I still like regularity, buyt convenience is nice as well)

bjornregnell

comment created time in 5 hours

issue openedlampepfl/dotty

No compile time avoidance of mismatched outers

Compiler version

3 dawg

Minimized code

➜  snips cat outerly.scala

import PartialFunction.cond

class C {
  class D(val n: Int) { override def equals(other: Any) = cond(other) { case that: D => that.n == n } }
  val d: D = new D(42)
}

object Test extends App {
  val c1, c2 = new C
  assert(c1.d == c2.d)
  c1.d match {
    case c2.d =>
  }
}

Output

➜  snips scala outerly.scala
Exception in thread "main" java.lang.AssertionError: assertion failed
        at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11)
        at Test$.<clinit>(outerly.scala:11)
        at Test.main(outerly.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at dotty.tools.scripting.ScriptingDriver.compileAndRun(ScriptingDriver.scala:39)
        at dotty.tools.scripting.Main$.main(Main.scala:39)
        at dotty.tools.scripting.Main.main(Main.scala)
➜  snips sdk use scala 2.13.6

Using scala version 2.13.6 in this shell.
➜  snips scala outerly.scala
outerly.scala:13: error: type mismatch;
 found   : Main.c2.D
 required: Main.c1.D
    case c2.d =>
            ^

Expectation

I kind of prefer the compile-time error to runtime.

created time in 5 hours

Pull request review commentlampepfl/dotty

Allowing local variables to be initialized with non-hot values in initialization checker

 class Semantic {   }    /** Evaluate a list of expressions */-  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[List[Result]] =-    exprs.map { expr => eval(expr, thisV, klass) }+  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[(List[Result], Env)] = exprs match {+    case Nil => (Nil, env)+    case h :: t => h match {+      case v: ValDef => {+        val res = eval(h, thisV, klass)+        val newEnv = +          if res.value.promote("Try early promotion", h).isEmpty then Env(Map(v.symbol -> Hot)) else Env(Map(v.symbol -> res.value))+        withEnv(env.union(newEnv)) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+      case _ => {+        val res = eval(h, thisV, klass)+        withEnv(env) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+    }+  }

You mean move the updating env part to the use site of variables?

EnzeXing

comment created time in 6 hours

issue commentlampepfl/dotty

Compiler hangs during compilation

Thanks smarter for looking into this. Great to hear that new version already fixed this.

chrislailee

comment created time in 6 hours

issue closedlampepfl/dotty

Compiler hangs during compilation

Refer to second issue described in Issue 12876.

When compile under sbt, it reports a number of errors. The last of which is the following. Then the console hangs at compile incremental with the timer keeps ticking:

[error] 457 | } yield passwordOk
[error] | ^
[error] |Could not find an instance of FlatMap for cats.Id.
[error] |I found:
[error] |
[error] | cats.Invariant.catsStdCommutativeMonadForTuple11[A0, A1, A2, A3, A4, A5, A6, A7
[error] | ,
[error] | A8, A9]
[error] |
[error] |But method catsStdCommutativeMonadForTuple11 in trait NTupleMonadInstances1 does not match type cats.FlatMap[cats.Id].
[error] -- [E008] Not Found Error: xxx.scala:48:25
[error] 48 | import scala.reflect.runtime.universe
[error] | ^^^^^^^^^^^^^^^^^^^^^
[error] | value runtime is not a member of reflect

| => root / Compile / compileIncremental 457s

Please refer to Issue 12876 for stack traces of the compiler process when hang occurs.

closed time in 6 hours

chrislailee

issue commentlampepfl/dotty

Compiler hangs during compilation

Thanks for the reproduction. Interestingly I can reproduce the problem on Java 11 and 16 but not 8. I'm not sure what the issue was, however it appears to be fixed in 3.0.1-RC1 where I can't reproduce it at all, so I'll close this.

chrislailee

comment created time in 6 hours

issue commentlampepfl/dotty

Stack overflow in ImportSuggestions#distinctRefs

Thanks smarter. I've raised Issue 12878 and added details for sample project to reproduce the issue.

chrislailee

comment created time in 7 hours

issue commentlampepfl/dotty

Compiler hangs during compilation

The problem can be reproduced by compiling project at: https://github.com/chrislailee/CatsTest3.git.

chrislailee

comment created time in 7 hours

issue openedlampepfl/dotty

Compiler hangs during compilation

Refer to second issue described in Issue 12876.

When compile under sbt, it reports a number of errors. The last of which is the following. Then the console hangs at compile incremental with the timer keeps ticking:

[error] 457 | } yield passwordOk [error] | ^ [error] |Could not find an instance of FlatMap for cats.Id. [error] |I found: [error] | [error] | cats.Invariant.catsStdCommutativeMonadForTuple11[A0, A1, A2, A3, A4, A5, A6, A7 [error] | , [error] | A8, A9] [error] | [error] |But method catsStdCommutativeMonadForTuple11 in trait NTupleMonadInstances1 does not match type cats.FlatMap[cats.Id]. [error] -- [E008] Not Found Error: xxx.scala:48:25 [error] 48 | import scala.reflect.runtime.universe [error] | ^^^^^^^^^^^^^^^^^^^^^ [error] | value runtime is not a member of reflect

| => root / Compile / compileIncremental 457s

Please refer to Issue 12876 for stack traces of the compiler process when hang occurs.

created time in 7 hours

issue commentlampepfl/dotty

Stack overflow in ImportSuggestions#distinctRefs

That hanging issue seems unrelated to the stackoverflow, so you'll need to open a separate issue for that, but there's not much we can do without a way to reproduce the problem ourselves (even a git branch of a project with instructions on how to reproduce the issue would be helpful).

chrislailee

comment created time in 7 hours

issue commentlampepfl/dotty

Blocks are top level in REPL (Scala 2 repl will assign the block to a variable)

Also, no matter what we do, the REPL will always have slightly different semantics than typing code in a file (e.g. if you type class X, then object X on the next line, that doesn't define a companion), if this bothers you, I suggest teaching students using worksheets instead of the REPL (this is what the scala mooc does), worksheets are also somewhat magic but behave a lot more like regular code.

bjornregnell

comment created time in 7 hours

issue commentlampepfl/dotty

Blocks are top level in REPL (Scala 2 repl will assign the block to a variable)

@bjornregnell I will answer out of turn and say yes, it's too convenient and also "fixed in Ammonite". Oh, the pun here is that Ammonite behavior is fixed and can't be changed. But I'll try to contribute :paste soon. I know everyone has been saying it's not needed. There's also a ticket to "leverage jline 3 more", so maybe there is a better solution than :paste for pasting/editing.

bjornregnell

comment created time in 7 hours

issue commentlampepfl/dotty

Stack overflow in ImportSuggestions#distinctRefs

Thanks smarter for the suggestions. When I passed in the -Ximport-suggestion-timeout 0 argument, the compiler hangs as well even in Maven. Call stack from jstack as below:

"main" #1 prio=5 os_prio=0 cpu=104766.60ms elapsed=105.89s tid=0x00007f7f60016800 nid=0xaf71 runnable [0x00007f7f65515000] java.lang.Thread.State: RUNNABLE at dotty.tools.dotc.core.Types$NamedType.denotationIsCurrent(Types.scala:2114) at dotty.tools.dotc.core.Types$NamedType.currentSymbol(Types.scala:2127) at dotty.tools.dotc.core.Types$VariantTraversal.stopBecauseStaticOrLocal(Types.scala:5135) at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:5628) at dotty.tools.dotc.core.Types$isGroundAccumulator.apply(Types.scala:5776) at dotty.tools.dotc.core.Types$Type.isGround(Types.scala:388) at dotty.tools.dotc.core.Types$TypeParamRef.occursIn(Types.scala:4259) at dotty.tools.dotc.core.ConstraintHandling.addOneBound(ConstraintHandling.scala:83) at dotty.tools.dotc.core.ConstraintHandling.addOneBound$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addOneBound(TypeComparer.scala:30) at dotty.tools.dotc.core.ConstraintHandling.addBoundTransitively(ConstraintHandling.scala:162) at dotty.tools.dotc.core.ConstraintHandling.addBoundTransitively$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addBoundTransitively(TypeComparer.scala:30) at dotty.tools.dotc.core.ConstraintHandling.addConstraint(ConstraintHandling.scala:589) at dotty.tools.dotc.core.ConstraintHandling.addConstraint$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addConstraint(TypeComparer.scala:30) at dotty.tools.dotc.core.TypeComparer.compareTypeParamRef$2(TypeComparer.scala:549) at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:560) at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:381) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:302) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:304) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:180) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:190) at dotty.tools.dotc.core.TypeComparer.isSubArg$1(TypeComparer.scala:1477) at dotty.tools.dotc.core.TypeComparer.recurArgs$1(TypeComparer.scala:1481) at dotty.tools.dotc.core.TypeComparer.isSubArgs(TypeComparer.scala:1484) at dotty.tools.dotc.core.TypeComparer.loop$3(TypeComparer.scala:1077) at dotty.tools.dotc.core.TypeComparer.isMatchingApply$1(TypeComparer.scala:1092) at dotty.tools.dotc.core.TypeComparer.compareAppliedType2$1(TypeComparer.scala:1151) at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:556) at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:487) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:369) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:180) at dotty.tools.dotc.core.TypeComparer.tryBaseType$1(TypeComparer.scala:742) at dotty.tools.dotc.core.TypeComparer.compareAppliedType2$1(TypeComparer.scala:1159) at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:556) at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:381) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:369) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:180) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:190) at dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:128) at dotty.tools.dotc.core.TypeComparer.testSubType(TypeComparer.scala:144) at dotty.tools.dotc.core.TypeComparer$.testSubType(TypeComparer.scala:2618) at dotty.tools.dotc.typer.Typer.adaptNoArgsOther$4(Typer.scala:3521) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3598) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1313) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1037) at dotty.tools.dotc.typer.Implicits.tryConversionForSelection$1(Implicits.scala:1046) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1066) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferView(Implicits.scala:815) at dotty.tools.dotc.typer.Implicits.inferView$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferView(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.viewExists(Implicits.scala:782) at dotty.tools.dotc.typer.Implicits.viewExists$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.viewExists(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible(ProtoTypes.scala:47) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.necessarilyCompatible(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:108) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:128) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:424) at dotty.tools.dotc.typer.Applications$TypedApply.<init>(Applications.scala:721) at dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(Applications.scala:835) at dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1046) at dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:103) at dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:893) at dotty.tools.dotc.typer.Applications.realApply$5$$anonfun$4(Applications.scala:972) at dotty.tools.dotc.typer.Applications$$Lambda$911/0x00000008008be840.apply(Unknown Source) at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:2924) at dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:983) at dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1021) at dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:103) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2669) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedTuple(Typer.scala:2582) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2706) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.typeSelectOnTerm$1(Typer.scala:602) at dotty.tools.dotc.typer.Typer.typedSelect(Typer.scala:652) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2639) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:868) at dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1021) at dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:103) at dotty.tools.dotc.typer.Typer.typedInfixOp(Typer.scala:2560) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2708) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2078) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2643) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1012) at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1016) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2677) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.$anonfun$34(Typer.scala:2142) at dotty.tools.dotc.typer.Typer$$Lambda$921/0x00000008008c5440.apply(Unknown Source) at dotty.tools.dotc.typer.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:225) at dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2142) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2646) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2328) at dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$2(Typer.scala:2657) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2661) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2451) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2702) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.FrontEnd.liftedTree1$1(FrontEnd.scala:79) at dotty.tools.dotc.typer.FrontEnd.typeCheck$$anonfun$1(FrontEnd.scala:84) at dotty.tools.dotc.typer.FrontEnd$$Lambda$759/0x0000000800826c40.apply$mcV$sp(Unknown Source) at dotty.tools.dotc.typer.FrontEnd.monitor(FrontEnd.scala:43) at dotty.tools.dotc.typer.FrontEnd.typeCheck(FrontEnd.scala:85) at dotty.tools.dotc.typer.FrontEnd.runOn$$anonfun$3(FrontEnd.scala:120) at dotty.tools.dotc.typer.FrontEnd$$Lambda$758/0x0000000800827040.applyVoid(Unknown Source) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.immutable.List.foreach(List.scala:333) at dotty.tools.dotc.typer.FrontEnd.runOn(FrontEnd.scala:120) at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:205) at dotty.tools.dotc.Run$$Lambda$602/0x000000080077e840.applyVoid(Unknown Source) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323) at dotty.tools.dotc.Run.runPhases$5(Run.scala:215) at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:223) at dotty.tools.dotc.Run$$Lambda$565/0x0000000800759840.apply$mcV$sp(Unknown Source) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67) at dotty.tools.dotc.Run.compileUnits(Run.scala:230) at dotty.tools.dotc.Run.compileSources(Run.scala:166) at dotty.tools.dotc.Run.compile(Run.scala:150) at dotty.tools.dotc.Driver.doCompile(Driver.scala:39) at dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88) - locked <0x00000006c852fd20> (a dotty.tools.xsbt.CompilerBridgeDriver) at dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22) at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:186) at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$300/0x0000000800499840.apply$mcV$sp(Unknown Source) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:241) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:176) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:157) at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$296/0x000000080048a040.apply(Unknown Source) at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:157) at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:204) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$215/0x0000000800442440.apply(Unknown Source) at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:174) at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:172) at sbt.internal.inc.Incremental$$$Lambda$222/0x0000000800447040.apply(Unknown Source) at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:457) at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:261) at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:412) at sbt.internal.inc.Incremental$$$Lambda$268/0x0000000800475040.apply(Unknown Source) at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:499) at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:399) at sbt.internal.inc.Incremental$.apply(Incremental.scala:166) at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482) at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$105/0x000000080037d440.apply(Unknown Source) at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420) at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) at sbt_inc.SbtIncrementalCompiler.compile(SbtIncrementalCompiler.java:179) at scala_maven.ScalaCompilerSupport.incrementalCompile(ScalaCompilerSupport.java:361) at scala_maven.ScalaCompilerSupport.compile(ScalaCompilerSupport.java:118) at scala_maven.ScalaCompilerSupport.doExecute(ScalaCompilerSupport.java:88) at scala_maven.ScalaMojoSupport.execute(ScalaMojoSupport.java:305) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.11/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.11/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.11/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@11.0.11/Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

chrislailee

comment created time in 7 hours

Pull request review commentlampepfl/dotty

Allowing local variables to be initialized with non-hot values in initialization checker

 class Semantic {   }    /** Evaluate a list of expressions */-  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[List[Result]] =-    exprs.map { expr => eval(expr, thisV, klass) }+  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[(List[Result], Env)] = exprs match {+    case Nil => (Nil, env)+    case h :: t => h match {+      case v: ValDef => {+        val res = eval(h, thisV, klass)+        val newEnv = +          if res.value.promote("Try early promotion", h).isEmpty then Env(Map(v.symbol -> Hot)) else Env(Map(v.symbol -> res.value))+        withEnv(env.union(newEnv)) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+      case _ => {+        val res = eval(h, thisV, klass)+        withEnv(env) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+    }+  }

Sorry, I was not clear, it's in the use site of variables, i.e. case TermRef(NoPrefix, _) =>, not the definition site.

EnzeXing

comment created time in 7 hours

issue commentlampepfl/dotty

Stack overflow in ImportSuggestions#distinctRefs

For the sbt hang issue, jstack output is as below:

2021-06-18 17:00:49 Full thread dump OpenJDK 64-Bit Server VM (11.0.11+9-LTS mixed mode):

Threads class SMR info: _java_thread_list=0x00007fdf7c001ef0, length=43, elements={ 0x00007fdfc4016000, 0x00007fdfc4371800, 0x00007fdfc4375800, 0x00007fdfc438a000, 0x00007fdfc438c000, 0x00007fdfc438e800, 0x00007fdfc4390800, 0x00007fdfc4392800, 0x00007fdfc4464000, 0x00007fdfc52d1000, 0x00007fdfc52d2800, 0x00007fdfc52d4800, 0x00007fdfc52d6800, 0x00007fdfc52d9000, 0x00007fdfc5e87800, 0x00007fdfc5e9b800, 0x00007fdfc5f2b000, 0x00007fdfc5f9e800, 0x00007fdfc6095000, 0x00007fdf348c7800, 0x00007fdf348c8800, 0x00007fdf00001000, 0x00007fdef8001000, 0x00007fdf348c9800, 0x00007fdefc001000, 0x00007fdf00003000, 0x00007fdfc725b800, 0x00007fdfc725d800, 0x00007fdfc7262000, 0x00007fdfc7263000, 0x00007fdfc7267800, 0x00007fdfc726a000, 0x00007fdfc7277000, 0x00007fdfc7278000, 0x00007fdfc7279800, 0x00007fdfc727a800, 0x00007fdfc727e000, 0x00007fdfc727f800, 0x00007fdfc72bb000, 0x00007fded400e000, 0x00007fdfc72c2000, 0x00007fdea002d000, 0x00007fdf7c001000 }

"main" #1 prio=5 os_prio=0 cpu=2631.25ms elapsed=90.93s tid=0x00007fdfc4016000 nid=0xa119 waiting on condition [0x00007fdfcb7ae000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006cb8ad688> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ExecutorCompletionService.take(java.base@11.0.11/ExecutorCompletionService.java:200) at sbt.ConcurrentRestrictions$$anon$4.take(ConcurrentRestrictions.scala:311) at sbt.Execute.next$1(Execute.scala:117) at sbt.Execute.processAll(Execute.scala:127) at sbt.Execute.runKeep(Execute.scala:95) at sbt.EvaluateTask$.liftedTree1$1(EvaluateTask.scala:478) at sbt.EvaluateTask$.run$1(EvaluateTask.scala:477) at sbt.EvaluateTask$.runTask(EvaluateTask.scala:500) at sbt.internal.Aggregation$.$anonfun$timedRun$4(Aggregation.scala:103) at sbt.internal.Aggregation$$$Lambda$3707/0x0000000801135840.apply(Unknown Source) at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:390) at sbt.internal.Aggregation$.timedRun(Aggregation.scala:101) at sbt.internal.Aggregation$.runTasks(Aggregation.scala:115) at sbt.internal.Aggregation$.$anonfun$applyTasks$1(Aggregation.scala:70) at sbt.internal.Aggregation$$$Lambda$3693/0x000000080112d040.apply(Unknown Source) at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145) at sbt.Command$$$Lambda$1064/0x0000000800740840.apply(Unknown Source) at sbt.internal.Aggregation$.$anonfun$evaluatingParser$11(Aggregation.scala:230) at sbt.internal.Aggregation$$$Lambda$3695/0x000000080112dc40.apply(Unknown Source) at sbt.internal.Act$.$anonfun$actParser0$8(Act.scala:494) at sbt.internal.Act$$$Lambda$3697/0x000000080112ec40.apply(Unknown Source) at sbt.Command$.process(Command.scala:189) at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:245) at sbt.MainLoop$$$Lambda$977/0x00000008006f6c40.apply(Unknown Source) at scala.Option.getOrElse(Option.scala:189) at sbt.MainLoop$.process$1(MainLoop.scala:245) at sbt.MainLoop$.processCommand(MainLoop.scala:276) at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:163) at sbt.MainLoop$$$Lambda$858/0x000000080067f040.apply(Unknown Source) at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289) at sbt.State$StateOpsImpl$.process$extension(State.scala:325) at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:163) at sbt.MainLoop$$$Lambda$855/0x0000000800679c40.apply(Unknown Source) at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) at sbt.MainLoop$.next(MainLoop.scala:163) at sbt.MainLoop$.run(MainLoop.scala:144) at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:119) at sbt.MainLoop$$$Lambda$814/0x000000080064d040.apply(Unknown Source) at sbt.io.Using.apply(Using.scala:27) at sbt.MainLoop$.runWithNewLog(MainLoop.scala:112) at sbt.MainLoop$.runAndClearLast(MainLoop.scala:66) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:51) at sbt.MainLoop$.runLogged(MainLoop.scala:42) at sbt.StandardMain$.runManaged(Main.scala:218) at sbt.xMain$.$anonfun$run$11(Main.scala:133) at sbt.xMain$$$Lambda$167/0x00000008002ae040.apply(Unknown Source) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62) at scala.Console$.withIn(Console.scala:230) at sbt.internal.util.Terminal$.withIn(Terminal.scala:560) at sbt.internal.util.Terminal$.$anonfun$withStreams$1(Terminal.scala:350) at sbt.internal.util.Terminal$$$Lambda$439/0x00000008004c0840.apply(Unknown Source) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62) at scala.Console$.withOut(Console.scala:167) at sbt.internal.util.Terminal$.$anonfun$withOut$2(Terminal.scala:550) at sbt.internal.util.Terminal$$$Lambda$444/0x00000008004c3440.apply(Unknown Source) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62) at scala.Console$.withErr(Console.scala:196) at sbt.internal.util.Terminal$.withOut(Terminal.scala:550) at sbt.internal.util.Terminal$.withStreams(Terminal.scala:350) at sbt.xMain$.withStreams$1(Main.scala:87) at sbt.xMain$.run(Main.scala:121) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.11/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.11/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.11/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@11.0.11/Method.java:566) at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:56) at sbt.xMain.run(Main.scala:46) at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149) at xsbt.boot.Launch$$$Lambda$120/0x0000000800146840.apply(Unknown Source) at xsbt.boot.Launch$.withContextLoader(Launch.scala:176) at xsbt.boot.Launch$.run(Launch.scala:149) at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44) at xsbt.boot.Launch$$$Lambda$93/0x0000000800108840.apply(Unknown Source) at xsbt.boot.Launch$.launch(Launch.scala:159) at xsbt.boot.Launch$.apply(Launch.scala:44) at xsbt.boot.Launch$.apply(Launch.scala:21) at xsbt.boot.Boot$.runImpl(Boot.scala:78) at xsbt.boot.Boot$.run(Boot.scala:73) at xsbt.boot.Boot$.main(Boot.scala:21) at xsbt.boot.Boot.main(Boot.scala) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.11/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.11/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.11/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@11.0.11/Method.java:566) at coursier.bootstrap.launcher.a.a(Unknown Source) at coursier.bootstrap.launcher.Launcher.main(Unknown Source)

"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=4.22ms elapsed=90.92s tid=0x00007fdfc4371800 nid=0xa120 waiting on condition [0x00007fdf8f5fa000] java.lang.Thread.State: RUNNABLE at java.lang.ref.Reference.waitForReferencePendingList(java.base@11.0.11/Native Method) at java.lang.ref.Reference.processPendingReferences(java.base@11.0.11/Reference.java:241) at java.lang.ref.Reference$ReferenceHandler.run(java.base@11.0.11/Reference.java:213)

"Finalizer" #3 daemon prio=8 os_prio=0 cpu=0.94ms elapsed=90.92s tid=0x00007fdfc4375800 nid=0xa121 in Object.wait() [0x00007fdf8f3f9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(java.base@11.0.11/Native Method) - waiting on <0x00000006c782eff0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(java.base@11.0.11/ReferenceQueue.java:155) - waiting to re-lock in wait() <0x00000006c782eff0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(java.base@11.0.11/ReferenceQueue.java:176) at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11.0.11/Finalizer.java:170)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 cpu=0.25ms elapsed=90.91s tid=0x00007fdfc438a000 nid=0xa122 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=0 cpu=47.75ms elapsed=90.91s tid=0x00007fdfc438c000 nid=0xa123 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 cpu=15500.55ms elapsed=90.91s tid=0x00007fdfc438e800 nid=0xa124 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE No compile task

"C1 CompilerThread0" #9 daemon prio=9 os_prio=0 cpu=6447.42ms elapsed=90.91s tid=0x00007fdfc4390800 nid=0xa125 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE No compile task

"Sweeper thread" #10 daemon prio=9 os_prio=0 cpu=176.71ms elapsed=90.91s tid=0x00007fdfc4392800 nid=0xa126 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #11 daemon prio=8 os_prio=0 cpu=4.32ms elapsed=90.88s tid=0x00007fdfc4464000 nid=0xa128 in Object.wait() [0x00007fdf8e381000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(java.base@11.0.11/Native Method) - waiting on <no object reference available> at java.lang.ref.ReferenceQueue.remove(java.base@11.0.11/ReferenceQueue.java:155) - waiting to re-lock in wait() <0x00000006c7830378> (a java.lang.ref.ReferenceQueue$Lock) at jdk.internal.ref.CleanerImpl.run(java.base@11.0.11/CleanerImpl.java:148) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829) at jdk.internal.misc.InnocuousThread.run(java.base@11.0.11/InnocuousThread.java:134)

"pool-2-thread-1" #12 prio=5 os_prio=0 cpu=1.69ms elapsed=90.51s tid=0x00007fdfc52d1000 nid=0xa132 waiting on condition [0x00007fdf8ce46000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7830ff8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"pool-2-thread-2" #13 prio=5 os_prio=0 cpu=36.76ms elapsed=90.51s tid=0x00007fdfc52d2800 nid=0xa133 waiting on condition [0x00007fdf8cc45000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7830ff8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"pool-2-thread-3" #15 prio=5 os_prio=0 cpu=376.00ms elapsed=90.50s tid=0x00007fdfc52d4800 nid=0xa135 waiting on condition [0x00007fdf8c843000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7830ff8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"pool-2-thread-4" #16 prio=5 os_prio=0 cpu=273.19ms elapsed=90.50s tid=0x00007fdfc52d6800 nid=0xa136 waiting on condition [0x00007fdf8c642000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7830ff8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"pool-2-thread-5" #17 prio=5 os_prio=0 cpu=1.04ms elapsed=90.50s tid=0x00007fdfc52d9000 nid=0xa137 waiting on condition [0x00007fdf8c441000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7830ff8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"process reaper" #19 daemon prio=10 os_prio=0 cpu=12.99ms elapsed=90.21s tid=0x00007fdfc5e87800 nid=0xa13a waiting on condition [0x00007fdfc8051000] java.lang.Thread.State: TIMED_WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7ef7530> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.11/LockSupport.java:234) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.11/SynchronousQueue.java:462) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.11/SynchronousQueue.java:361) at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.11/SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1053) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"boot-server-socket-thread-1" #20 prio=5 os_prio=0 cpu=1.83ms elapsed=90.17s tid=0x00007fdfc5e9b800 nid=0xa13b runnable [0x00007fdf270e0000] java.lang.Thread.State: RUNNABLE at org.scalasbt.ipcsocket.UnixDomainSocketLibrary.accept(Native Method) at org.scalasbt.ipcsocket.JNAUnixDomainSocketLibraryProvider.accept(UnixDomainSocketLibrary.java:202) at org.scalasbt.ipcsocket.UnixDomainServerSocket.accept(UnixDomainServerSocket.java:157) at sbt.internal.BootServerSocket.lambda$new$1(BootServerSocket.java:274) at sbt.internal.BootServerSocket$$Lambda$171/0x00000008002b8040.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"sbt-console-input-reader" #22 prio=5 os_prio=0 cpu=0.18ms elapsed=90.05s tid=0x00007fdfc5f2b000 nid=0xa13f waiting on condition [0x00007fdf268df000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7ef6d20> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at sbt.internal.util.Terminal$WriteableInputStream.impl$1(Terminal.scala:497) at sbt.internal.util.Terminal$WriteableInputStream.$anonfun$runnable$1(Terminal.scala:503) at sbt.internal.util.Terminal$WriteableInputStream$$Lambda$393/0x0000000800481040.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"classloader-cache-cleanup-0" #23 daemon prio=5 os_prio=0 cpu=24.04ms elapsed=89.91s tid=0x00007fdfc5f9e800 nid=0xa140 in Object.wait() [0x00007fdf25cd1000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(java.base@11.0.11/Native Method) - waiting on <no object reference available> at java.lang.ref.ReferenceQueue.remove(java.base@11.0.11/ReferenceQueue.java:155) - waiting to re-lock in wait() <0x00000006c7ef63c8> (a java.lang.ref.ReferenceQueue$Lock) at sbt.internal.classpath.ClassLoaderCache$CleanupThread.run(ClassLoaderCache.scala:106)

"sbt-command-exchange-fastTrack" #25 daemon prio=5 os_prio=0 cpu=0.20ms elapsed=89.83s tid=0x00007fdfc6095000 nid=0xa141 waiting on condition [0x00007fdf25540000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7ef5478> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at sbt.internal.CommandExchange$FastTrackThread.impl$2(CommandExchange.scala:470) at sbt.internal.CommandExchange$FastTrackThread.run(CommandExchange.scala:500)

"scala-execution-context-global-29" #29 daemon prio=5 os_prio=0 cpu=136.27ms elapsed=88.86s tid=0x00007fdf348c7800 nid=0xa146 waiting on condition [0x00007fdf0b9fc000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-30" #30 daemon prio=5 os_prio=0 cpu=143.03ms elapsed=88.85s tid=0x00007fdf348c8800 nid=0xa147 waiting on condition [0x00007fdf0b7fb000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-31" #31 daemon prio=5 os_prio=0 cpu=126.26ms elapsed=88.85s tid=0x00007fdf00001000 nid=0xa148 waiting on condition [0x00007fdf0b5fa000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-33" #33 daemon prio=5 os_prio=0 cpu=128.41ms elapsed=88.85s tid=0x00007fdef8001000 nid=0xa149 waiting on condition [0x00007fdf0b3f9000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-32" #32 daemon prio=5 os_prio=0 cpu=124.10ms elapsed=88.85s tid=0x00007fdf348c9800 nid=0xa14a waiting on condition [0x00007fdf0b1f8000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-35" #35 daemon prio=5 os_prio=0 cpu=130.03ms elapsed=88.85s tid=0x00007fdefc001000 nid=0xa14b waiting on condition [0x00007fdf0aff7000] java.lang.Thread.State: TIMED_WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.parkUntil(java.base@11.0.11/LockSupport.java:275) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1619) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"scala-execution-context-global-34" #34 daemon prio=5 os_prio=0 cpu=112.96ms elapsed=88.85s tid=0x00007fdf00003000 nid=0xa14c waiting on condition [0x00007fdf0adf6000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900350> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"FileSystemWatchService" #82 daemon prio=5 os_prio=0 cpu=0.25ms elapsed=86.97s tid=0x00007fdfc725b800 nid=0xa17c runnable [0x00007fdf09bee000] java.lang.Thread.State: RUNNABLE at sun.nio.fs.LinuxWatchService.poll(java.base@11.0.11/Native Method) at sun.nio.fs.LinuxWatchService$Poller.run(java.base@11.0.11/LinuxWatchService.java:316) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"NioPathWatcher-loop-thread-1" #83 daemon prio=5 os_prio=0 cpu=0.26ms elapsed=86.97s tid=0x00007fdfc725d800 nid=0xa17d waiting on condition [0x00007fdf0a7f4000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8a009d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@11.0.11/LinkedBlockingDeque.java:483) at java.util.concurrent.LinkedBlockingDeque.take(java.base@11.0.11/LinkedBlockingDeque.java:671) at sun.nio.fs.AbstractWatchService.take(java.base@11.0.11/AbstractWatchService.java:118) at com.swoval.files.RegisterableWatchServices$RegisterableWatchServiceImpl.take(RegisterableWatchServices.java:61) at com.swoval.files.NioPathWatcherService$2.run(NioPathWatcherService.java:71)

"com.swoval.files.SymlinkWather.callback-executor-1" #84 prio=5 os_prio=0 cpu=0.82ms elapsed=86.97s tid=0x00007fdfc7262000 nid=0xa17e waiting on condition [0x00007fdf0a3f2000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c89b8a70> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at com.swoval.files.Executor$ExecutorImpl$1.run(Executor.java:57) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"FileTreeRepository-callback-executor-1" #85 prio=5 os_prio=0 cpu=0.26ms elapsed=86.97s tid=0x00007fdfc7263000 nid=0xa17f waiting on condition [0x00007fdf097ed000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8900d88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at com.swoval.files.Executor$ExecutorImpl$1.run(Executor.java:57) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"FileSystemWatchService" #86 daemon prio=5 os_prio=0 cpu=2.55ms elapsed=86.96s tid=0x00007fdfc7267800 nid=0xa180 runnable [0x00007fdf091eb000] java.lang.Thread.State: RUNNABLE at sun.nio.fs.LinuxWatchService.poll(java.base@11.0.11/Native Method) at sun.nio.fs.LinuxWatchService$Poller.run(java.base@11.0.11/LinuxWatchService.java:316) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"NioPathWatcher-loop-thread-2" #87 daemon prio=5 os_prio=0 cpu=1.02ms elapsed=86.96s tid=0x00007fdfc726a000 nid=0xa181 runnable [0x00007fdf0a5f3000] java.lang.Thread.State: RUNNABLE at java.lang.Throwable.fillInStackTrace(java.base@11.0.11/Native Method) at java.lang.Throwable.fillInStackTrace(java.base@11.0.11/Throwable.java:787) - locked <0x00000006fd9039f0> (a java.nio.file.NoSuchFileException) at java.lang.Throwable.<init>(java.base@11.0.11/Throwable.java:270) at java.lang.Exception.<init>(java.base@11.0.11/Exception.java:66) at java.io.IOException.<init>(java.base@11.0.11/IOException.java:58) at java.nio.file.FileSystemException.<init>(java.base@11.0.11/FileSystemException.java:73) at java.nio.file.NoSuchFileException.<init>(java.base@11.0.11/NoSuchFileException.java:61) at sun.nio.fs.UnixException.translateToIOException(java.base@11.0.11/UnixException.java:92) at sun.nio.fs.UnixException.rethrowAsIOException(java.base@11.0.11/UnixException.java:111) at sun.nio.fs.UnixException.rethrowAsIOException(java.base@11.0.11/UnixException.java:116) at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(java.base@11.0.11/UnixFileAttributeViews.java:55) at sun.nio.fs.UnixFileSystemProvider.readAttributes(java.base@11.0.11/UnixFileSystemProvider.java:149) at sun.nio.fs.LinuxFileSystemProvider.readAttributes(java.base@11.0.11/LinuxFileSystemProvider.java:99) at java.nio.file.Files.readAttributes(java.base@11.0.11/Files.java:1764) at com.swoval.files.NioWrappers.readAttributes(NioWrappers.java:27) at com.swoval.files.Entries.getKind(Entries.java:70) at com.swoval.files.TypedPaths.get(TypedPaths.java:108) at com.swoval.files.NioPathWatcher.handleEvent(NioPathWatcher.java:435) at com.swoval.files.NioPathWatcher.access$300(NioPathWatcher.java:35) at com.swoval.files.NioPathWatcher$2.accept(NioPathWatcher.java:108) at com.swoval.files.NioPathWatcher$2.accept(NioPathWatcher.java:102) at com.swoval.files.NioPathWatcherService$2.run(NioPathWatcherService.java:95)

"FileSystemWatchService" #88 daemon prio=5 os_prio=0 cpu=0.13ms elapsed=86.94s tid=0x00007fdfc7277000 nid=0xa182 runnable [0x00007fdf09def000] java.lang.Thread.State: RUNNABLE at sun.nio.fs.LinuxWatchService.poll(java.base@11.0.11/Native Method) at sun.nio.fs.LinuxWatchService$Poller.run(java.base@11.0.11/LinuxWatchService.java:316) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"NioPathWatcher-loop-thread-3" #89 daemon prio=5 os_prio=0 cpu=0.15ms elapsed=86.94s tid=0x00007fdfc7278000 nid=0xa183 waiting on condition [0x00007fdf0a9f5000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c89011e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@11.0.11/LinkedBlockingDeque.java:483) at java.util.concurrent.LinkedBlockingDeque.take(java.base@11.0.11/LinkedBlockingDeque.java:671) at sun.nio.fs.AbstractWatchService.take(java.base@11.0.11/AbstractWatchService.java:118) at com.swoval.files.RegisterableWatchServices$RegisterableWatchServiceImpl.take(RegisterableWatchServices.java:61) at com.swoval.files.NioPathWatcherService$2.run(NioPathWatcherService.java:71)

"com.swoval.files.SymlinkWather.callback-executor-1" #90 prio=5 os_prio=0 cpu=0.14ms elapsed=86.94s tid=0x00007fdfc7279800 nid=0xa184 waiting on condition [0x00007fdf093ec000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c895c790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at com.swoval.files.Executor$ExecutorImpl$1.run(Executor.java:57) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"FileTreeRepository-callback-executor-1" #91 prio=5 os_prio=0 cpu=2.67ms elapsed=86.93s tid=0x00007fdfc727a800 nid=0xa185 waiting on condition [0x00007fdf08fea000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8a00d68> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at com.swoval.files.Executor$ExecutorImpl$1.run(Executor.java:57) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"FileSystemWatchService" #92 daemon prio=5 os_prio=0 cpu=1.36ms elapsed=86.93s tid=0x00007fdfc727e000 nid=0xa186 runnable [0x00007fdeb5051000] java.lang.Thread.State: RUNNABLE at sun.nio.fs.LinuxWatchService.poll(java.base@11.0.11/Native Method) at sun.nio.fs.LinuxWatchService$Poller.run(java.base@11.0.11/LinuxWatchService.java:316) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"NioPathWatcher-loop-thread-4" #93 daemon prio=5 os_prio=0 cpu=1.48ms elapsed=86.93s tid=0x00007fdfc727f800 nid=0xa187 runnable [0x00007fdeb4e50000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c89015b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@11.0.11/LinkedBlockingDeque.java:483) at java.util.concurrent.LinkedBlockingDeque.take(java.base@11.0.11/LinkedBlockingDeque.java:671) at sun.nio.fs.AbstractWatchService.take(java.base@11.0.11/AbstractWatchService.java:118) at com.swoval.files.RegisterableWatchServices$RegisterableWatchServiceImpl.take(RegisterableWatchServices.java:61) at com.swoval.files.NioPathWatcherService$2.run(NioPathWatcherService.java:71)

"sbt-task-progress-report-thread" #94 prio=5 os_prio=0 cpu=86.41ms elapsed=86.82s tid=0x00007fdfc72bb000 nid=0xa188 waiting on condition [0x00007fdf09ff0000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c89b8dc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.11/AbstractQueuedSynchronizer.java:2081) at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.11/LinkedBlockingQueue.java:433) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"sbt-progress-report-scheduler" #96 prio=5 os_prio=0 cpu=19.28ms elapsed=86.82s tid=0x00007fded400e000 nid=0xa18a waiting on condition [0x00007fdeb4c4f000] java.lang.Thread.State: TIMED_WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c8a01010> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.11/LockSupport.java:234) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@11.0.11/AbstractQueuedSynchronizer.java:2123) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@11.0.11/ScheduledThreadPoolExecutor.java:1182) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@11.0.11/ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.11/ThreadPoolExecutor.java:1054) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1114) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"pool-8-thread-5" #100 prio=5 os_prio=0 cpu=85562.36ms elapsed=86.82s tid=0x00007fdfc72c2000 nid=0xa18e runnable [0x00007fdeb442b000] java.lang.Thread.State: RUNNABLE at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:140) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:140) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5184) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Substituters$SubstParamMap.apply(Substituters.scala:193) at dotty.tools.dotc.core.Types$TypeMap.op$proxy16$1(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapArgs(Types.scala:5183) at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5218) at dotty.tools.dotc.core.Substituters$.substParam(Substituters.scala:145) at dotty.tools.dotc.core.Types$Type.substParam(Types.scala:1728) at dotty.tools.dotc.core.OrderingConstraint.replaceParam$1(OrderingConstraint.scala:419) at dotty.tools.dotc.core.OrderingConstraint.replace$$anonfun$1$$anonfun$1(OrderingConstraint.scala:422) at dotty.tools.dotc.core.OrderingConstraint$$Lambda$5322/0x000000080187a840.apply(Unknown Source) at dotty.tools.dotc.core.OrderingConstraint$ConstraintLens.map(OrderingConstraint.scala:76) at dotty.tools.dotc.core.OrderingConstraint.replace$$anonfun$4(OrderingConstraint.scala:422) at dotty.tools.dotc.core.OrderingConstraint.replace$$anonfun$adapted$1(OrderingConstraint.scala:424) at dotty.tools.dotc.core.OrderingConstraint$$Lambda$5166/0x00000008017f5040.apply(Unknown Source) at dotty.tools.dotc.core.OrderingConstraint.foreachParam$$anonfun$2$$anonfun$1(OrderingConstraint.scala:569) at dotty.tools.dotc.core.OrderingConstraint$$Lambda$5321/0x0000000801879840.apply$mcVI$sp(Unknown Source) at scala.runtime.java8.JFunction1$mcVI$sp.apply(JFunction1$mcVI$sp.scala:18) at scala.collection.immutable.Range.foreach(Range.scala:190) at dotty.tools.dotc.core.OrderingConstraint.foreachParam$$anonfun$1(OrderingConstraint.scala:569) at dotty.tools.dotc.core.OrderingConstraint$$Lambda$5167/0x00000008017f6040.applyVoid(Unknown Source) at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15) at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10) at dotty.tools.dotc.util.SimpleIdentityMap$MapMore.foreachBinding(SimpleIdentityMap.scala:230) at dotty.tools.dotc.core.OrderingConstraint.foreachParam(OrderingConstraint.scala:569) at dotty.tools.dotc.core.OrderingConstraint.replace(OrderingConstraint.scala:424) at dotty.tools.dotc.core.OrderingConstraint.replace(OrderingConstraint.scala:407) at dotty.tools.dotc.core.ConstraintHandling.addOneBound(ConstraintHandling.scala:97) at dotty.tools.dotc.core.ConstraintHandling.addOneBound$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addOneBound(TypeComparer.scala:30) at dotty.tools.dotc.core.ConstraintHandling.addBoundTransitively(ConstraintHandling.scala:162) at dotty.tools.dotc.core.ConstraintHandling.addBoundTransitively$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addBoundTransitively(TypeComparer.scala:30) at dotty.tools.dotc.core.ConstraintHandling.addConstraint(ConstraintHandling.scala:589) at dotty.tools.dotc.core.ConstraintHandling.addConstraint$(ConstraintHandling.scala:26) at dotty.tools.dotc.core.TypeComparer.addConstraint(TypeComparer.scala:30) at dotty.tools.dotc.core.TypeComparer.compareTypeParamRef$2(TypeComparer.scala:549) at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:560) at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:487) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:302) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:304) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:180) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:190) at dotty.tools.dotc.core.TypeComparer.isSubArg$1(TypeComparer.scala:1477) at dotty.tools.dotc.core.TypeComparer.recurArgs$1(TypeComparer.scala:1481) at dotty.tools.dotc.core.TypeComparer.isSubArgs(TypeComparer.scala:1484) at dotty.tools.dotc.core.TypeComparer.loop$3(TypeComparer.scala:1077) at dotty.tools.dotc.core.TypeComparer.isMatchingApply$1(TypeComparer.scala:1092) at dotty.tools.dotc.core.TypeComparer.compareAppliedType2$1(TypeComparer.scala:1151) at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:556) at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:487) at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:369) at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1267) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:180) at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:190) at dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:128) at dotty.tools.dotc.core.TypeComparer.necessarySubType(TypeComparer.scala:139) at dotty.tools.dotc.core.TypeComparer$.necessarySubType(TypeComparer.scala:2606) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible(ProtoTypes.scala:47) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.necessarilyCompatible(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:108) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:128) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3574) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.inferArgsAfter$1(Typer.scala:3281) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3316) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.readapt$1(Typer.scala:3141) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3776) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1022) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:843) at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:103) at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3283) at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3319) at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3398) at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3576) at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3789) at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3130) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1037) at dotty.tools.dotc.typer.Implicits.tryConversionForSelection$1(Implicits.scala:1046) at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1066) at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1117) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1189) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1298) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1305) at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1338) at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:974) at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.inferView(Implicits.scala:815) at dotty.tools.dotc.typer.Implicits.inferView$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.inferView(Typer.scala:103) at dotty.tools.dotc.typer.Implicits.viewExists(Implicits.scala:782) at dotty.tools.dotc.typer.Implicits.viewExists$(Implicits.scala:769) at dotty.tools.dotc.typer.Typer.viewExists(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible(ProtoTypes.scala:47) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.necessarilyCompatible$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.necessarilyCompatible(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:108) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult(ProtoTypes.scala:128) at dotty.tools.dotc.typer.ProtoTypes$Compatibility.constrainResult$(ProtoTypes.scala:26) at dotty.tools.dotc.typer.Typer.constrainResult(Typer.scala:103) at dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:424) at dotty.tools.dotc.typer.Applications$TypedApply.<init>(Applications.scala:721) at dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(Applications.scala:835) at dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1046) at dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:103) at dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:893) at dotty.tools.dotc.typer.Applications.realApply$5$$anonfun$4(Applications.scala:972) at dotty.tools.dotc.typer.Applications$$Lambda$5097/0x00000008017bd840.apply(Unknown Source) at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:2924) at dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:983) at dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1021) at dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:103) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2669) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedTuple(Typer.scala:2582) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2706) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.typeSelectOnTerm$1(Typer.scala:602) at dotty.tools.dotc.typer.Typer.typedSelect(Typer.scala:652) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2639) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:868) at dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1021) at dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:303) at dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:103) at dotty.tools.dotc.typer.Typer.typedInfixOp(Typer.scala:2560) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2708) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2078) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2643) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1012) at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1016) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2677) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.Typer.$anonfun$34(Typer.scala:2142) at dotty.tools.dotc.typer.Typer$$Lambda$5107/0x00000008017ca440.apply(Unknown Source) at dotty.tools.dotc.typer.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:225) at dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2142) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2646) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2328) at dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$2(Typer.scala:2657) at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2661) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2730) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2822) at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2872) at dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2451) at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2702) at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2731) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2796) at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2800) at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2916) at dotty.tools.dotc.typer.FrontEnd.liftedTree1$1(FrontEnd.scala:79) at dotty.tools.dotc.typer.FrontEnd.typeCheck$$anonfun$1(FrontEnd.scala:84) at dotty.tools.dotc.typer.FrontEnd$$Lambda$4945/0x000000080172d040.apply$mcV$sp(Unknown Source) at dotty.tools.dotc.typer.FrontEnd.monitor(FrontEnd.scala:43) at dotty.tools.dotc.typer.FrontEnd.typeCheck(FrontEnd.scala:85) at dotty.tools.dotc.typer.FrontEnd.runOn$$anonfun$3(FrontEnd.scala:120) at dotty.tools.dotc.typer.FrontEnd$$Lambda$4944/0x000000080172c840.applyVoid(Unknown Source) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.immutable.List.foreach(List.scala:333) at dotty.tools.dotc.typer.FrontEnd.runOn(FrontEnd.scala:120) at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:205) at dotty.tools.dotc.Run$$Lambda$4771/0x0000000801676840.applyVoid(Unknown Source) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323) at dotty.tools.dotc.Run.runPhases$5(Run.scala:215) at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:223) at dotty.tools.dotc.Run$$Lambda$4734/0x0000000801601040.apply$mcV$sp(Unknown Source) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67) at dotty.tools.dotc.Run.compileUnits(Run.scala:230) at dotty.tools.dotc.Run.compileSources(Run.scala:166) at dotty.tools.dotc.Run.compile(Run.scala:150) at dotty.tools.dotc.Driver.doCompile(Driver.scala:39) at dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88) - locked <0x00000006c895cda8> (a dotty.tools.xsbt.CompilerBridgeDriver) at dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22) at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:186) at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$4479/0x00000008013a6840.apply$mcV$sp(Unknown Source) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:241) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:176) at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:157) at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$4475/0x00000008013a3040.apply(Unknown Source) at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:157) at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:204) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$3218/0x0000000800f4fc40.apply(Unknown Source) at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:174) at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:172) at sbt.internal.inc.Incremental$$$Lambda$3225/0x0000000800f4a840.apply(Unknown Source) at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:457) at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:261) at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:412) at sbt.internal.inc.Incremental$$$Lambda$3261/0x0000000800f7c040.apply(Unknown Source) at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:499) at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:399) at sbt.internal.inc.Incremental$.apply(Incremental.scala:166) at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528) at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482) at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$3138/0x0000000800eed440.apply(Unknown Source) at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420) at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2357) at sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2314) at sbt.Defaults$$$Lambda$3132/0x0000000800ee9840.apply(Unknown Source) at sbt.internal.io.Retry$.apply(Retry.scala:46) at sbt.internal.io.Retry$.apply(Retry.scala:28) at sbt.internal.io.Retry$.apply(Retry.scala:23) at sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:31) at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2310) at sbt.Defaults$$$Lambda$1035/0x000000080072d840.apply(Unknown Source) at scala.Function1.$anonfun$compose$1(Function1.scala:49) at scala.Function1$$Lambda$400/0x0000000800486040.apply(Unknown Source) at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62) at sbt.internal.util.$tilde$greater$$Lambda$2697/0x0000000800d7f040.apply(Unknown Source) at sbt.std.Transform$$anon$4.work(Transform.scala:68) at sbt.Execute.$anonfun$submit$2(Execute.scala:282) at sbt.Execute$$Lambda$2722/0x0000000800d91840.apply(Unknown Source) at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) at sbt.Execute.work(Execute.scala:291) at sbt.Execute.$anonfun$submit$1(Execute.scala:282) at sbt.Execute$$Lambda$2707/0x0000000800d84c40.apply(Unknown Source) at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) at sbt.ConcurrentRestrictions$$anon$4$$Lambda$2720/0x0000000800d91040.apply(Unknown Source) at sbt.CompletionService$$anon$2.call(CompletionService.scala:64) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.11/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@11.0.11/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.11/ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.11/ThreadPoolExecutor.java:628) at java.lang.Thread.run(java.base@11.0.11/Thread.java:829)

"ForkJoinPool.commonPool-worker-3" #106 daemon prio=5 os_prio=0 cpu=0.46ms elapsed=86.77s tid=0x00007fdea002d000 nid=0xa194 waiting on condition [0x00007fde977fa000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@11.0.11/Native Method) - parking to wait for <0x00000006c7ef7720> (a java.util.concurrent.ForkJoinPool) at java.util.concurrent.locks.LockSupport.park(java.base@11.0.11/LockSupport.java:194) at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.11/ForkJoinPool.java:1628) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.11/ForkJoinWorkerThread.java:183)

"Attach Listener" #148 daemon prio=9 os_prio=0 cpu=0.32ms elapsed=0.10s tid=0x00007fdf7c001000 nid=0xa2c6 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=0 cpu=192.04ms elapsed=90.92s tid=0x00007fdfc4369000 nid=0xa11f runnable

"GC Thread#0" os_prio=0 cpu=558.51ms elapsed=90.93s tid=0x00007fdfc402e000 nid=0xa11a runnable

"GC Thread#1" os_prio=0 cpu=600.97ms elapsed=90.61s tid=0x00007fdf80001000 nid=0xa12b runnable

"GC Thread#2" os_prio=0 cpu=510.69ms elapsed=90.61s tid=0x00007fdf80002800 nid=0xa12c runnable

"GC Thread#3" os_prio=0 cpu=546.87ms elapsed=90.61s tid=0x00007fdf80004000 nid=0xa12d runnable

"GC Thread#4" os_prio=0 cpu=626.85ms elapsed=90.61s tid=0x00007fdf80005800 nid=0xa12e runnable

"GC Thread#5" os_prio=0 cpu=512.38ms elapsed=90.61s tid=0x00007fdf80007000 nid=0xa12f runnable

"GC Thread#6" os_prio=0 cpu=673.72ms elapsed=90.61s tid=0x00007fdf80009000 nid=0xa130 runnable

"GC Thread#7" os_prio=0 cpu=582.38ms elapsed=90.61s tid=0x00007fdf8000a800 nid=0xa131 runnable

"G1 Main Marker" os_prio=0 cpu=3.46ms elapsed=90.93s tid=0x00007fdfc40a3000 nid=0xa11b runnable

"G1 Conc#0" os_prio=0 cpu=141.90ms elapsed=90.93s tid=0x00007fdfc40a4800 nid=0xa11c runnable

"G1 Conc#1" os_prio=0 cpu=138.23ms elapsed=90.33s tid=0x00007fdf98001000 nid=0xa138 runnable

"G1 Refine#0" os_prio=0 cpu=1109.22ms elapsed=90.93s tid=0x00007fdfc429c000 nid=0xa11d runnable

"G1 Refine#1" os_prio=0 cpu=89.38ms elapsed=86.63s tid=0x00007fdf94001000 nid=0xa196 runnable

"G1 Refine#2" os_prio=0 cpu=25.56ms elapsed=86.63s tid=0x00007fdea8001800 nid=0xa197 runnable

"G1 Refine#3" os_prio=0 cpu=16.78ms elapsed=79.12s tid=0x00007fdeb0003800 nid=0xa1b7 runnable

"G1 Refine#4" os_prio=0 cpu=11.70ms elapsed=79.12s tid=0x00007fdef4005800 nid=0xa1b8 runnable

"G1 Refine#5" os_prio=0 cpu=0.07ms elapsed=79.12s tid=0x00007fdef0007000 nid=0xa1b9 runnable

"G1 Young RemSet Sampling" os_prio=0 cpu=49.93ms elapsed=90.93s tid=0x00007fdfc429d800 nid=0xa11e runnable
"VM Periodic Task Thread" os_prio=0 cpu=42.36ms elapsed=90.89s tid=0x00007fdfc443c800 nid=0xa127 waiting on condition

JNI global refs: 29, weak refs: 45

chrislailee

comment created time in 7 hours

Pull request review commentlampepfl/dotty

Allowing local variables to be initialized with non-hot values in initialization checker

 class Semantic {   }    /** Evaluate a list of expressions */-  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[List[Result]] =-    exprs.map { expr => eval(expr, thisV, klass) }+  def eval(exprs: List[Tree], thisV: Addr, klass: ClassSymbol): Contextual[(List[Result], Env)] = exprs match {+    case Nil => (Nil, env)+    case h :: t => h match {+      case v: ValDef => {+        val res = eval(h, thisV, klass)+        val newEnv = +          if res.value.promote("Try early promotion", h).isEmpty then Env(Map(v.symbol -> Hot)) else Env(Map(v.symbol -> res.value))+        withEnv(env.union(newEnv)) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+      case _ => {+        val res = eval(h, thisV, klass)+        withEnv(env) {+          val (res2, env2) = eval(t, thisV, klass)+          (res :: res2, env2)+        }+      }+    }+  }

This would be case ValDef in def cases.

EnzeXing

comment created time in 8 hours

Pull request review commentlampepfl/dotty

Allowing local variables to be initialized with non-hot values in initialization checker

 class Semantic {         Result(value, Nil)        case Block(stats, expr) =>-        val ress = eval(stats, thisV, klass)-        eval(expr, thisV, klass) ++ ress.flatMap(_.errors)+        val (ress, env2) = eval(stats, thisV, klass)+        withEnv(env2) {+          eval(expr, thisV, klass) ++ ress.flatMap(_.errors)+        }        case If(cond, thenp, elsep) =>-        val ress = eval(cond :: thenp :: elsep :: Nil, thisV, klass)+        val (ress, env2) = eval(cond :: thenp :: elsep :: Nil, thisV, klass)

In places where env is unused, use _ instead (val (ress, _) = ???).

EnzeXing

comment created time in 8 hours

issue commentlampepfl/dotty

Blocks are top level in REPL (Scala 2 repl will assign the block to a variable)

@som-snytt Yes thanks for the example. Hmm. In the beginning you need to explain where names are visible and why. Best is to try to experiment to get an understanding. But if you experiment with this in REPL it does not give the right intuition.

I guess I could make a simplified explanation of this irregularity that blocks at top level are not real blocks in the REPL and just say that "you have to remember this" and "it is just an exception for convenience". But having, just before that, told my students that Scala is nice because it is regular and thus easy to learn and Scala 3 is even more regular than Scala 2, makes me perhaps sound not very convincing...

@allanrenucci Is closing this to say that the "convenience use case" is more important than regularity in this particular case?

Sorry for being stubborn here.

bjornregnell

comment created time in 8 hours

issue closedlampepfl/dotty

sealed class with companion object yields match exhaustivity warning

Compiler version

3.0.0, 3.0.1-RC1

Minimized code

Scastie

sealed class A
object A extends A

Output

match may not be exhaustive.

It would fail on pattern case: _: Main.A

Expectation

No warning as in Scala 2 or with sealed trait, trait or class instead of sealed class. (Or a better explanation of the problem, if there is one?)

closed time in 8 hours

ansvonwa