diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-05-22 16:07:23 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-05-22 16:07:23 +0200 |
commit | 6965b470d433f501203c4e3d77b0919f826691ba (patch) | |
tree | 413446f1af3f40bb69499a60066609af6bc38d9f /tests/run/inliner-infer.scala | |
parent | 91bb668c5f1b6e5c51dad9b373c9398521508bc3 (diff) | |
download | dotty-6965b470d433f501203c4e3d77b0919f826691ba.tar.gz dotty-6965b470d433f501203c4e3d77b0919f826691ba.tar.bz2 dotty-6965b470d433f501203c4e3d77b0919f826691ba.zip |
Enable 440 run tests that pass.
Note that some of them may pass due to several bugs that interfere.
Diffstat (limited to 'tests/run/inliner-infer.scala')
-rw-r--r-- | tests/run/inliner-infer.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/run/inliner-infer.scala b/tests/run/inliner-infer.scala new file mode 100644 index 000000000..6a2e47194 --- /dev/null +++ b/tests/run/inliner-infer.scala @@ -0,0 +1,28 @@ + + +/** Test that the inliner is not inferring that `xs' is + * always Nil, removing the call to isEmpty. + */ +object Test extends dotty.runtime.LegacyApp { + + @annotation.tailrec + def walk(xs: MyList): Unit = { + if (xs.isEmpty) + println("empty") + else { + println("non-empty") + walk(MyNil) + } + } + + walk(new MyList) +} + +class MyList { + def isEmpty = false +} + +object MyNil extends MyList { + override def isEmpty = true +} + |