effekt-lang / effekt-lang/effekt
StackOverflowError/RangeError: Maximum call stack size exceeded
- Dominant language
- Scala
- Stars
- 469
- Forks
- 41
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 23
Description
The following code (which results in a recursive type `T = Unit => TypeWrapper[T] at {}`):
```effekt
interface TypeTricks { def finish(): Unit }
record TypeWrapper[T]()
def typeOf[T](t: T): TypeWrapper[T] = TypeWrapper()
def helloWorld() = try {
TypeWrapper()
} with TypeTricks {
def finish() = {
typeOf(box resume)
}
}
```
crashes the playground compiler with:
```
[info] module0.effekt:18:14: Effekt Compiler Crash: scala.scalajs.js.JavaScriptException: RangeError: Maximum call stack size exceeded
[info] module0.effekt:18:14: scala.scalajs.js.JavaScriptException: RangeError: Maximum call stack size exceeded
at e.eg(https://effekt-lang.org/dist/ide.chunk.js:1:1488203)
at e.Fh(https://effekt-lang.org/dist/ide.chunk.js:1:992908)
at {anonymous}()(https://effekt-lang.org/dist/ide.chunk.js:1:666921)
at oN(https://effekt-lang.org/dist/ide.chunk.js:1:667059)
at iN(https://effekt-lang.org/dist/ide.chunk.js:1:666776)
at tN(https://effekt-lang.org/dist/ide.chunk.js:1:666254)
at tN(https://effekt-lang.org/dist/ide.chunk.js:1:666103)
at {anonymous}()(https://effekt-lang.org/dist/ide.chunk.js:1:197781)
at Pu(https://effekt-lang.org/dist/ide.chunk.js:1:198052)
at n(https://effekt-lang.org/dist/ide.chunk.js:1:196218)
```
and the real compiler with:
```
[info] /Users/kyay10/IdeaProjects/EffektPlayground/src/reproducer.effekt:10:12: Effekt Compiler Crash: java.lang.StackOverflowError
typeOf(box resume)
^^^^^^^^^^
[info] /Users/kyay10/IdeaProjects/EffektPlayground/src/reproducer.effekt:10:12: java.lang.StackOverflowError
at scala.collection.mutable.Growable.addAll(Growable.scala:60)
at scala.collection.mutable.Growable.addAll$(Growable.scala:57)
at scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:710)
at scala.collection.immutable.Map$.from(Map.scala:661)
at scala.collection.immutable.Map$.from(Map.scala:172)
at scala.collection.MapFactoryDefaults.fromSpecific(Iterable.scala:1009)
at scala.collection.MapFactoryDefaults.fromSpecific$(Iterable.scala:1009)
at scala.collection.AbstractMap.fromSpecific(Map.scala:420)
at scala.collection.AbstractMap.fromSpecific(Map.scala:420)
at scala.collection.IterableOps.filterNot(Iterable.scala:404)
at scala.collection.IterableOps.filterNot$(Iterable.scala:404)
at scala.collection.AbstractIterable.filterNot(Iterable.scala:935)
at effekt.typer.Substitutions.without(Substitution.scala:40)
at effekt.typer.Substitutions.substitute(Substitution.scala:76)
at effekt.typer.Substitutions.substitute(Substitution.scala:70)
at effekt.typer.Substitutions.substitute(Substitution.scala:60)
at effekt.typer.Substitutions.substitute$$anonfun$4(Substitution.scala:58)
at scala.collection.immutable.List.map(List.scala:247)
at effekt.typer.Substitutions.substitute(Substitution.scala:58)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:107)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
... // Omitted due to GH body size limits
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
at effekt.typer.Unification.requireLowerBound$(Unification.scala:42)
at effekt.context.Context.requireLowerBound(Context.scala:41)
at effekt.typer.Unification.requireEqual(Unification.scala:241)
at effekt.typer.Unification.requireEqual$(Unification.scala:42)
at effekt.context.Context.requireEqual(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:47)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes$$anonfun$1(TypeComparer.scala:59)
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:334)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:59)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyFunctionTypes(TypeComparer.scala:113)
at effekt.typer.TypeUnifier.unifyFunctionTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyFunctionTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyBlockTypes(TypeComparer.scala:70)
at effekt.typer.TypeUnifier.unifyBlockTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyBlockTypes(Context.scala:41)
at effekt.typer.TypeUnifier.unifyValueTypes(TypeComparer.scala:62)
at effekt.typer.TypeUnifier.unifyValueTypes$(TypeComparer.scala:13)
at effekt.context.Context.unifyValueTypes(Context.scala:41)
at effekt.typer.Unification.requireLowerBound$$anonfun$1(Unification.scala:245)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
at effekt.typer.Constraints.learnType$1$$anonfun$1(Constraints.scala:186)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at effekt.typer.Constraints.learnType$1(Constraints.scala:186)
at effekt.typer.Constraints.learn(Constraints.scala:208)
at effekt.typer.Unification.requireLowerBound(Unification.scala:245)
typeOf(box resume)
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.