Skip to content

Commit d8d05be

Browse files
committed
fix some tests
1 parent 715ef73 commit d8d05be

File tree

3 files changed

+40
-71
lines changed

3 files changed

+40
-71
lines changed

compiler/shared/test/diff-ir/IRTailRec.mls

Lines changed: 2 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -766,8 +766,8 @@ class False
766766
fun hello() =
767767
@tailrec hello()
768768
2
769-
hello()
770-
//│ |#class| |True|↵|#class| |False|↵|#fun| |hello|(||)| |#=|→|@|tailrec| |hello|(||)|↵|2|←|↵|hello|(||)|
769+
hello()
770+
//│ |#class| |True|↵|#class| |False|↵|#fun| |hello|(||)| |#=|→|@|tailrec| |hello|(||)|↵|2|←|↵|hello|(||)| |
771771
//│ Parsed: {class True {}; class False {}; fun hello = () => {@tailrec hello(); 2}; hello()}
772772
//│
773773
//│
@@ -783,73 +783,6 @@ hello()
783783
//│ x$1 -- #7)
784784
//│
785785
//│ IR Processing Failed: not a tail call
786-
//│
787-
//│ mlscript.compiler.ir.IRError$.apply(IR.scala:14)
788-
//│ mlscript.compiler.optimizer.TailRecOpt.returnFailure$1(TailRecOpt.scala:98)
789-
//│ mlscript.compiler.optimizer.TailRecOpt.discoverOptimizableCalls(TailRecOpt.scala:108)
790-
//│ mlscript.compiler.optimizer.TailRecOpt.discoverCallsCont(TailRecOpt.scala:312)
791-
//│ mlscript.compiler.optimizer.TailRecOpt.discoverCalls(TailRecOpt.scala:317)
792-
//│ mlscript.compiler.optimizer.TailRecOpt.$anonfun$3(TailRecOpt.scala:340)
793-
//│ scala.collection.IterableOnceOps.foldLeft(IterableOnce.scala:646)
794-
//│ scala.collection.IterableOnceOps.foldLeft$(IterableOnce.scala:642)
795-
//│ scala.collection.AbstractIterable.foldLeft(Iterable.scala:926)
796-
//│ mlscript.compiler.optimizer.TailRecOpt.partitionNodes(TailRecOpt.scala:340)
797-
//│ mlscript.compiler.optimizer.TailRecOpt.partition(TailRecOpt.scala:884)
798-
//│ mlscript.compiler.optimizer.TailRecOpt.run_debug(TailRecOpt.scala:894)
799-
//│ mlscript.compiler.IRDiffTestCompiler.postProcess(TestIR.scala:29)
800-
//│ mlscript.DiffTests.rec$1(DiffTests.scala:470)
801-
//│ mlscript.DiffTests.$anonfun$new$3(DiffTests.scala:1076)
802-
//│ org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
803-
//│ org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
804-
//│ org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
805-
//│ org.scalatest.Transformer.apply(Transformer.scala:22)
806-
//│ org.scalatest.Transformer.apply(Transformer.scala:20)
807-
//│ org.scalatest.funsuite.AnyFunSuiteLike$$anon$1.apply(AnyFunSuiteLike.scala:226)
808-
//│ org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
809-
//│ org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
810-
//│ mlscript.DiffTests.org$scalatest$concurrent$TimeLimitedTests$$super$withFixture(DiffTests.scala:53)
811-
//│ org.scalatest.concurrent.TimeLimitedTests.$anonfun$withFixture$3(TimeLimitedTests.scala:154)
812-
//│ org.scalatest.enablers.Timed$$anon$1.timeoutAfter(Timed.scala:127)
813-
//│ org.scalatest.concurrent.TimeLimits$.failAfterImpl(TimeLimits.scala:282)
814-
//│ org.scalatest.concurrent.TimeLimitedTests.withFixture(TimeLimitedTests.scala:153)
815-
//│ org.scalatest.concurrent.TimeLimitedTests.withFixture$(TimeLimitedTests.scala:150)
816-
//│ mlscript.DiffTests.withFixture(DiffTests.scala:53)
817-
//│ org.scalatest.funsuite.AnyFunSuiteLike.invokeWithFixture$1(AnyFunSuiteLike.scala:224)
818-
//│ org.scalatest.funsuite.AnyFunSuiteLike.$anonfun$runTest$1(AnyFunSuiteLike.scala:236)
819-
//│ org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
820-
//│ org.scalatest.funsuite.AnyFunSuiteLike.runTest(AnyFunSuiteLike.scala:236)
821-
//│ org.scalatest.funsuite.AnyFunSuiteLike.runTest$(AnyFunSuiteLike.scala:218)
822-
//│ mlscript.DiffTests.org$scalatest$OneInstancePerTest$$super$runTest(DiffTests.scala:53)
823-
//│ org.scalatest.OneInstancePerTest.runTest(OneInstancePerTest.scala:131)
824-
//│ org.scalatest.OneInstancePerTest.runTest$(OneInstancePerTest.scala:123)
825-
//│ mlscript.DiffTests.org$scalatest$ParallelTestExecution$$super$runTest(DiffTests.scala:53)
826-
//│ org.scalatest.ParallelTestExecution.runTest(ParallelTestExecution.scala:164)
827-
//│ org.scalatest.ParallelTestExecution.runTest$(ParallelTestExecution.scala:148)
828-
//│ mlscript.DiffTests.runTest(DiffTests.scala:53)
829-
//│ org.scalatest.OneInstancePerTest.runTests(OneInstancePerTest.scala:181)
830-
//│ org.scalatest.OneInstancePerTest.runTests$(OneInstancePerTest.scala:172)
831-
//│ mlscript.DiffTests.org$scalatest$ParallelTestExecution$$super$runTests(DiffTests.scala:53)
832-
//│ org.scalatest.ParallelTestExecution.runTests(ParallelTestExecution.scala:97)
833-
//│ org.scalatest.ParallelTestExecution.runTests$(ParallelTestExecution.scala:79)
834-
//│ mlscript.DiffTests.runTests(DiffTests.scala:53)
835-
//│ org.scalatest.Suite.run(Suite.scala:1114)
836-
//│ org.scalatest.Suite.run$(Suite.scala:1096)
837-
//│ org.scalatest.funsuite.AnyFunSuite.org$scalatest$funsuite$AnyFunSuiteLike$$super$run(AnyFunSuite.scala:1563)
838-
//│ org.scalatest.funsuite.AnyFunSuiteLike.$anonfun$run$1(AnyFunSuiteLike.scala:273)
839-
//│ org.scalatest.SuperEngine.runImpl(Engine.scala:535)
840-
//│ org.scalatest.funsuite.AnyFunSuiteLike.run(AnyFunSuiteLike.scala:273)
841-
//│ org.scalatest.funsuite.AnyFunSuiteLike.run$(AnyFunSuiteLike.scala:272)
842-
//│ mlscript.DiffTests.org$scalatest$ParallelTestExecution$$super$run(DiffTests.scala:53)
843-
//│ org.scalatest.ParallelTestExecution.run(ParallelTestExecution.scala:261)
844-
//│ org.scalatest.ParallelTestExecution.run$(ParallelTestExecution.scala:258)
845-
//│ mlscript.DiffTests.run(DiffTests.scala:53)
846-
//│ org.scalatest.tools.DistributedTestRunnerSuite.run(DistributedTestRunnerSuite.scala:22)
847-
//│ org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:47)
848-
//│ java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
849-
//│ java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
850-
//│ java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
851-
//│ java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
852-
//│ java.base/java.lang.Thread.run(Thread.java:840)
853786

854787
:interpIR
855788
class True

compiler/shared/test/scala/mlscript/compiler/TestIR.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,12 @@ class IRDiffTestCompiler extends DiffTests {
4646
catch
4747
case err: Exception =>
4848
output(s"\nIR Processing Failed: ${err.getMessage()}")
49-
output("\n" ++ err.getStackTrace().map(_.toString()).mkString("\n"))
49+
if (mode.irVerbose) then
50+
output("\n" ++ err.getStackTrace().map(_.toString()).mkString("\n"))
5051
case err: StackOverflowError =>
5152
output(s"\nIR Processing Failed: ${err.getMessage()}")
52-
output("\n" ++ err.getStackTrace().map(_.toString()).mkString("\n"))
53+
if (mode.irVerbose) then
54+
output("\n" ++ err.getStackTrace().map(_.toString()).mkString("\n"))
5355

5456
(outputBuilder.toString().linesIterator.toList, None)
5557

shared/src/test/diff/nu/Annotations.mls

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,40 @@ Foo
4040
//│ res
4141
//│ = 5
4242

43+
:e
44+
let x = 1
45+
@x 2
46+
//│ ╔══[ERROR] Type mismatch in annotated integer literal:
47+
//│ ║ l.45: @x 2
48+
//│ ║ ^^^
49+
//│ ╟── integer literal of type `1` is not an instance of type `Annotation`
50+
//│ ║ l.44: let x = 1
51+
//│ ║ ^
52+
//│ ╟── but it flows into reference with expected type `Annotation`
53+
//│ ║ l.45: @x 2
54+
//│ ╙── ^
55+
//│ let x: 1
56+
//│ 2
57+
//│ x
58+
//│ = 1
59+
//│ res
60+
//│ = 2
61+
62+
:e
63+
let x = 1
64+
@x
65+
fun foo(x) = 1
66+
//│ ╔══[ERROR] Type mismatch in definition:
67+
//│ ║ l.65: fun foo(x) = 1
68+
//│ ║ ^^^^^^^^^^
69+
//│ ╟── integer literal of type `1` is not an instance of type `Annotation`
70+
//│ ║ l.63: let x = 1
71+
//│ ╙── ^
72+
//│ let x: 1
73+
//│ fun foo: anything -> 1
74+
//│ x
75+
//│ = 1
76+
4377
fun foo(n) =
4478
if n > 0.5 then
4579
log(join of "hi ", String(n))

0 commit comments

Comments
 (0)