summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorsom-snytt <som.snytt@gmail.com>2016-04-20 07:48:57 -0700
committerLukas Rytz <lukas.rytz@typesafe.com>2016-04-20 16:48:57 +0200
commit684c314d882dcfd26558c9972cfd5acabc9f051f (patch)
tree3324c257002a34c0543eaa8d2fdbde406c04d896 /test
parent956923acd32766c63cd0eab0788d1811481d7e30 (diff)
downloadscala-684c314d882dcfd26558c9972cfd5acabc9f051f.tar.gz
scala-684c314d882dcfd26558c9972cfd5acabc9f051f.tar.bz2
scala-684c314d882dcfd26558c9972cfd5acabc9f051f.zip
SI-9734 Narrow type when import REPL history (#5084)
Under `-Yrepl-class-based`, imports from historical `$read` instances must be singleton-typed so that path-dependent types remain so.
Diffstat (limited to 'test')
-rwxr-xr-xtest/files/run/repl-paste-6.check17
-rw-r--r--test/files/run/repl-paste-6.scala23
2 files changed, 40 insertions, 0 deletions
diff --git a/test/files/run/repl-paste-6.check b/test/files/run/repl-paste-6.check
new file mode 100755
index 0000000000..efcea9274f
--- /dev/null
+++ b/test/files/run/repl-paste-6.check
@@ -0,0 +1,17 @@
+
+scala> :paste < EOF
+// Entering paste mode (EOF to finish)
+
+case class C(i: Int)
+val c = C(42)
+EOF
+
+// Exiting paste mode, now interpreting.
+
+defined class C
+c: C = C(42)
+
+scala> val d: C = c // shew
+d: C = C(42)
+
+scala> :quit
diff --git a/test/files/run/repl-paste-6.scala b/test/files/run/repl-paste-6.scala
new file mode 100644
index 0000000000..8040d24f8a
--- /dev/null
+++ b/test/files/run/repl-paste-6.scala
@@ -0,0 +1,23 @@
+
+import scala.tools.partest.ReplTest
+import scala.tools.nsc.Settings
+
+
+/*
+ * Add // show to witness:
+ * val $line3$read: $line3.$read.INSTANCE.type = $line3.$read.INSTANCE;
+ */
+object Test extends ReplTest {
+ override def transformSettings(settings: Settings): Settings = {
+ settings.Yreplclassbased.value = true
+ settings
+ }
+ def code =
+ """
+:paste < EOF
+case class C(i: Int)
+val c = C(42)
+EOF
+val d: C = c // shew
+ """
+}