diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-06-19 01:34:07 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-06-19 01:34:07 -0700 |
commit | 736f622f770700a9c18b84e6a76e31260990496c (patch) | |
tree | 5dc1473940306278e549275ba636f8974469fdfe /test | |
parent | ef98fa3af90a30e745bd6a5e944b3351be46391f (diff) | |
parent | d3393306e3899e638b1c5ebe577f3fe1b2729cbd (diff) | |
download | scala-736f622f770700a9c18b84e6a76e31260990496c.tar.gz scala-736f622f770700a9c18b84e6a76e31260990496c.tar.bz2 scala-736f622f770700a9c18b84e6a76e31260990496c.zip |
Merge pull request #697 from retronym/ticket/4270-3
SI-4270 Disqualify in scope implicits that are shadowed.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t4270.check | 4 | ||||
-rw-r--r-- | test/files/neg/t4270.scala | 6 | ||||
-rw-r--r-- | test/files/neg/t5376.check | 11 | ||||
-rw-r--r-- | test/files/neg/t5376.scala | 24 |
4 files changed, 45 insertions, 0 deletions
diff --git a/test/files/neg/t4270.check b/test/files/neg/t4270.check new file mode 100644 index 0000000000..cfe0a93e00 --- /dev/null +++ b/test/files/neg/t4270.check @@ -0,0 +1,4 @@ +t4270.scala:5: error: could not find implicit value for parameter e: Int + implicitly[Int] + ^ +one error found diff --git a/test/files/neg/t4270.scala b/test/files/neg/t4270.scala new file mode 100644 index 0000000000..2c7c71d8c2 --- /dev/null +++ b/test/files/neg/t4270.scala @@ -0,0 +1,6 @@ +object Test1 { + object A { implicit val x: Int = 1 } + import A.x + def x: Int = 0 + implicitly[Int] +} diff --git a/test/files/neg/t5376.check b/test/files/neg/t5376.check new file mode 100644 index 0000000000..0376163c35 --- /dev/null +++ b/test/files/neg/t5376.check @@ -0,0 +1,11 @@ +t5376.scala:12: error: type mismatch; + found : String("a") + required: Int + "a": Int + ^ +t5376.scala:22: error: type mismatch; + found : String("a") + required: Int + "a": Int + ^ +two errors found diff --git a/test/files/neg/t5376.scala b/test/files/neg/t5376.scala new file mode 100644 index 0000000000..8da3868566 --- /dev/null +++ b/test/files/neg/t5376.scala @@ -0,0 +1,24 @@ +object Test { + object O1 { implicit def f(s: String): Int = 1 } + object O2 { implicit def f(s: String): Int = 2 } + object O3 { def f(s: String): Int = 3 } + + // Import two implicits with the same name in the same scope. + def m1 = { + import O1._ + import O2._ + + // Implicit usage compiles. + "a": Int + } + + // Import one implict and one non-implicit method with the + // same name in the same scope. + def m2 = { + import O1._ + import O3._ + + // Implicit usage compiles. + "a": Int + } +}
\ No newline at end of file |