Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Stack overflow in ImportSuggestions#distinctRefs #12876

Closed
chrislailee opened this issue Jun 18, 2021 · 11 comments · Fixed by #13667
Closed

Stack overflow in ImportSuggestions#distinctRefs #12876

chrislailee opened this issue Jun 18, 2021 · 11 comments · Fixed by #13667
Labels
area:reporting Error reporting including formatting, implicit suggestions, etc itype:bug

Comments

@chrislailee
Copy link

chrislailee commented Jun 18, 2021

Scala version: 3.0.0
CATS library: 2.6.1
JDK: Azul Zulu 11.0.11
SBT: 1.5.4

Compile under Maven, it throws the following exception. The error message does not pinpoint a specific source file that caused the issue so I can't be more specific than this.

[ERROR] ## Exception when compiling 54 sources to /home/chris/IdeaProjects/CatsTest3/target/classes
java.lang.StackOverflowError
scala.collection.StrictOptimizedLinearSeqOps.loop$3(LinearSeq.scala:266)
scala.collection.StrictOptimizedLinearSeqOps.dropWhile(LinearSeq.scala:268)
scala.collection.StrictOptimizedLinearSeqOps.dropWhile$(LinearSeq.scala:264)
scala.collection.immutable.List.dropWhile(List.scala:79)
dotty.tools.dotc.typer.ImportSuggestions.distinctRefs(ImportSuggestions.scala:275)
dotty.tools.dotc.typer.ImportSuggestions.distinctRefs$(ImportSuggestions.scala:23)
dotty.tools.dotc.typer.Typer.distinctRefs(Typer.scala:103)
dotty.tools.dotc.typer.ImportSuggestions.distinctRefs(ImportSuggestions.scala:275)
dotty.tools.dotc.typer.ImportSuggestions.distinctRefs$(ImportSuggestions.scala:23)
dotty.tools.dotc.typer.Typer.distinctRefs(Typer.scala:103)
... last stack frame above repeated many times ...
...

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
@smarter
Copy link
Member

smarter commented Jun 18, 2021

  • There's a stackoverflow in the import suggestion mechanism, we should rewrite distinctRefs to be stack-safe but meanwhile you can turn off import suggestions by running the compiler with -Ximport-suggestion-timeout 0
  • The hang in sbt sounds like a different issue involving an infinite loop (you could use jstack to get a stacktrace out of the running compiler). The error with scala.reflect.runtime is expected since scala-reflect does not exist in Scala 3 anymore.

@smarter smarter changed the title Stack overflow error when compiling project with dependency on CATS library (Scala 3.0.0) Stack overflow in ImportSuggestions#distinctRefs Jun 18, 2021
@smarter smarter added the area:reporting Error reporting including formatting, implicit suggestions, etc label Jun 18, 2021
@chrislailee
Copy link
Author

chrislailee commented Jun 18, 2021

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
Copy link
Author

chrislailee commented Jun 18, 2021

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)

@smarter
Copy link
Member

smarter commented Jun 18, 2021

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
Copy link
Author

chrislailee commented Jun 18, 2021

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

@bishabosha
Copy link
Member

@chrislailee I can't see your repo to reproduce this bug anymore, is it fixed in Scala 3.0.1?

@smarter
Copy link
Member

smarter commented Aug 2, 2021

Regardless of whether we can reproduce, I think it wouldn't be a bad idea to rewrite distinctRefs to be stack-safe (e.g., as a while loop accumulating into a ListBuffer).

@chrislailee
Copy link
Author

I can't reproduce the stack overflow issue with Scala 3.0.1 anymore. However, the compiler hanging issue #12878 is still there with 3.0.1 using Azul Zulu 11.0.11. It still hangs when compiling with Maven or sbt.

@chrislailee
Copy link
Author

And I agree with smarter that it's worthwhile to make distinctRefs stack safe, as we don't know when next it could run into stack overflow problem.

@chrislailee
Copy link
Author

Bit of good news: the hanging issue reported above as with #12878 is not there anymore when I upgrade the JDK to Azul Zulu 11.0.12 (still using Scala 3.0.1). So the issue seems sensitive to version of JDK used together with Scala version.

@chrislailee
Copy link
Author

Possible regression with version 3.0.2. The stack overflow issue comes back when compiling with 3.0.2. The issue went away when compiled with 3.0.1.

odersky added a commit to dotty-staging/dotty that referenced this issue Oct 3, 2021
olsdavis pushed a commit to olsdavis/dotty that referenced this issue Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:reporting Error reporting including formatting, implicit suggestions, etc itype:bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants