From 4dceb2268780462823a98168d7350687d5cf27a8 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Wed, 23 Jan 2013 00:28:21 +0100 Subject: [backport] Fix SI-6637 (misoptimization in erasure) commit f9ef5300ab561628e53c654df9000c75f488d74a Author: Jan Niehusmann Date: Fri Nov 9 15:05:58 2012 +0100 Fix SI-6637 (misoptimization in erasure) Move the optimization one level deeper so the expression being tested with isInstanceOf is always evaluated. (cherry picked from commit b540aaee4ba30e2dd980456a44e8c6d732222df1) --- test/files/run/t6637.check | 1 + test/files/run/t6637.scala | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 test/files/run/t6637.check create mode 100644 test/files/run/t6637.scala (limited to 'test/files') diff --git a/test/files/run/t6637.check b/test/files/run/t6637.check new file mode 100644 index 0000000000..9766475a41 --- /dev/null +++ b/test/files/run/t6637.check @@ -0,0 +1 @@ +ok diff --git a/test/files/run/t6637.scala b/test/files/run/t6637.scala new file mode 100644 index 0000000000..d3c380370b --- /dev/null +++ b/test/files/run/t6637.scala @@ -0,0 +1,8 @@ + +object Test extends App { + try { + class A ; class B ; List().head.isInstanceOf[A with B] + } catch { + case _ :java.util.NoSuchElementException => println("ok") + } +} -- cgit v1.2.3