From 9c0e58c48da4cdbae7c96ef45fc15cd7aff4301f Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 28 Sep 2010 00:51:25 +0000 Subject: Cleaning up the contents of test. including "CheckEither", written against scalacheck 1.2 in the year 471 AD. Removed all the duplicates I could find, mostly between pending and files. Renamed a bunch of tests so they wouldn't look like likely duplicates next time around. Nominated somebody else to do this once in a while. No review. --- test/files/run/t2316_run.scala | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/files/run/t2316_run.scala (limited to 'test/files/run/t2316_run.scala') diff --git a/test/files/run/t2316_run.scala b/test/files/run/t2316_run.scala new file mode 100644 index 0000000000..a3d5bf890b --- /dev/null +++ b/test/files/run/t2316_run.scala @@ -0,0 +1,32 @@ +case class T1(source: String) + +object T1 { + implicit def T1FromT2(implicit t2: T2) = new T1(t2.source) +} + +case class T2(source: String) + +object A { + def requireT1(implicit t1: T1) = t1 + + object B1 { + implicit val t2_b1 = new T2("from B1") + requireT1 + } + + object B2 { + def t1 = { + implicit val t2_b2 = new T2("from B2") + // Implicits.cacheResult returns T1.T1FromT2(t2_b1) here, which is bogus. Even though T1.T1FromT2 was found + // outside of the scope of A.B1, this implicit expression should _not_ be cached, as it includes the bound + // variable t2_b1 from this scope. + requireT1 + } + } +} + +object Test { + def main(args: Array[String]) { + assert(A.B2.t1.source == "from B2") + } +} \ No newline at end of file -- cgit v1.2.3