ValeLang / Vale

Compiler for the Vale programming language - http://vale.dev/
https://vale.dev/
Apache License 2.0
1.79k stars 54 forks source link

really really long error message, I think astronomer just failed epically #210

Open divinusdracodominus opened 3 years ago

divinusdracodominus commented 3 years ago

Exception in thread "main" java.lang.StackOverflowError at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:250) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.vale.astronomer.Astronomer$.lookupStructType(Astronomer.scala:175) at net.verdagon.vale.astronomer.Astronomer$.$anonfun$lookupType$7(Astronomer.scala:258) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.Astronomer$.lookupType(Astronomer.scala:258) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:278) at net.verdagon.vale.astronomer.Astronomer$$anon$1.lookupType(Astronomer.scala:276) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:265) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$makeMatcher$1(RuleTyperEvaluator.scala:785) at net.verdagon.vale.astronomer.ruletyper.RuleTyperMatcher.matchTypeAgainstTemplexS(RuleTyperMatcher.scala:205) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$evaluateTemplex$2(RuleTyperEvaluator.scala:340) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateTemplex(RuleTyperEvaluator.scala:338) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:130) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateEqualsRule(RuleTyperEvaluator.scala:509) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.evaluateRule(RuleTyperEvaluator.scala:125) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.$anonfun$solveUntilSettled$1(RuleTyperEvaluator.scala:101) at scala.collection.immutable.List.map(List.scala:283) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solveUntilSettled(RuleTyperEvaluator.scala:100) at net.verdagon.vale.astronomer.ruletyper.RuleTyperEvaluator.solve(RuleTyperEvaluator.scala:39) at net.verdagon.vale.astronomer.Astronomer$.translateStruct(Astronomer.scala:306) at net.verdagon.

divinusdracodominus commented 3 years ago

this error occured when trying to call iter = Iterator(); where the constructor isn't defined (I think that may be an issue)

divinusdracodominus commented 3 years ago

either that or the fact that the type didn't exist, will try and fix both errors and see what happens

divinusdracodominus commented 3 years ago

fixed both issues constructor created for proper type, but still same issue full code is: struct IterNode { next Opt<IterNode>; previous Opt<IterNode>; data T; }

fn IterNode(data T) IterNode { ret IterNode(data, Opt<IterNode>(), Opt<IterNode>()); }

struct LinkIterator { head Opt<IterNode>; tail Opt<IterNode>; length int; }

fn LinkIterator() LinkIterator{ ret LinkIterator(Opt<IterNode>(), Opt<IterNode>(), 0); }

fn append(iter &!LinkIterator, data T) { temp = IterNode(data); }

and in main iter = LinkIterator();