Vale icon indicating copy to clipboard operation
Vale copied to clipboard

Wildcard binding `_` in foreach loop crashes compiler

Open Shadlock0133 opened this issue 3 years ago • 0 comments

foreach _ in range(0, 1) {}

will throw

Error output
Exception in thread "main" Assertion failed! Ununstackified local: Set(VariableIdH(3,2,Some(FullNameH(iterationOption,0,PackageCoordinate(test,Vector()),Vector(VonObject(F,None,Vector(VonMember(humanName,VonStr(main)), VonMember(templateArgs,VonArray(None,Vector())), VonMember(parameters,VonArray(None,Vector())))), VonObject(IterationOptionName,None,Vector(VonMember(range,VonObject(Range,None,Vector(VonMember(begin,VonObject(CodeLocation,None,Vector(VonMember(file,VonObject(FileCoordinate,None,Vector(VonMember(module,VonStr(test)), VonMember(paackage,VonArray(None,Vector())), VonMember(filename,VonStr(/home/debi/projects/vale-test/test.vale))))), VonMember(offset,VonInt(1537))))), VonMember(end,VonObject(CodeLocation,None,Vector(VonMember(file,VonObject(FileCoordinate,None,Vector(VonMember(module,VonStr(test)), VonMember(paackage,VonArray(None,Vector())), VonMember(filename,VonStr(/home/debi/projects/vale-test/test.vale))))), VonMember(offset,VonInt(1539)))))))))))))))
	at dev.vale.vfail$.apply(vassert.scala:87)
	at dev.vale.simplifying.BlockHammer.translateBlock(BlockHammer.scala:39)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:97)
	at dev.vale.simplifying.ExpressionHammer.translateWhile(ExpressionHammer.scala:1050)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:464)
	at dev.vale.simplifying.ExpressionHammer.$anonfun$translateExpressionsAndDeferreds$1(ExpressionHammer.scala:698)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at dev.vale.simplifying.ExpressionHammer.translateExpressionsAndDeferreds(ExpressionHammer.scala:696)
	at dev.vale.simplifying.BlockHammer.translateBlock(BlockHammer.scala:24)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:97)
	at dev.vale.simplifying.ExpressionHammer.$anonfun$translate$1(ExpressionHammer.scala:124)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:155)
	at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:118)
	at dev.vale.simplifying.ExpressionHammer.$anonfun$translateExpressionsAndDeferreds$1(ExpressionHammer.scala:698)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at dev.vale.simplifying.ExpressionHammer.translateExpressionsAndDeferreds(ExpressionHammer.scala:696)
	at dev.vale.simplifying.BlockHammer.translateBlock(BlockHammer.scala:24)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:97)
	at dev.vale.simplifying.ExpressionHammer.$anonfun$translate$1(ExpressionHammer.scala:124)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:155)
	at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:118)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:489)
	at dev.vale.simplifying.ExpressionHammer.$anonfun$translateExpressionsAndDeferreds$1(ExpressionHammer.scala:698)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at dev.vale.simplifying.ExpressionHammer.translateExpressionsAndDeferreds(ExpressionHammer.scala:696)
	at dev.vale.simplifying.BlockHammer.translateBlock(BlockHammer.scala:24)
	at dev.vale.simplifying.ExpressionHammer.translate(ExpressionHammer.scala:97)
	at dev.vale.simplifying.FunctionHammer.translateFunction(FunctionHammer.scala:59)
	at dev.vale.simplifying.FunctionHammer.$anonfun$translateFunctions$1(FunctionHammer.scala:28)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157)
	at scala.collection.Iterator.foreach(Iterator.scala:944)
	at scala.collection.Iterator.foreach$(Iterator.scala:944)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1432)
	at scala.collection.IterableLike.foreach(IterableLike.scala:71)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:157)
	at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:155)
	at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
	at dev.vale.simplifying.FunctionHammer.translateFunctions(FunctionHammer.scala:26)
	at dev.vale.simplifying.Hammer.translate(Hammer.scala:229)
	at dev.vale.simplifying.HammerCompilation.getHamuts(HammerCompilation.scala:56)
	at dev.vale.passmanager.FullCompilation.getHamuts(FullCompilation.scala:52)
	at dev.vale.passmanager.PassManager$.build(PassManager.scala:261)
	at dev.vale.passmanager.PassManager$.buildAndOutput(PassManager.scala:301)
	at dev.vale.passmanager.PassManager$.main(PassManager.scala:390)
	at dev.vale.passmanager.PassManager.main(PassManager.scala)
Frontend returned error code 1, aborting.
(panic)

Shadlock0133 avatar Apr 22 '22 17:04 Shadlock0133