summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2012-08-23 11:25:01 -0700
committerSom Snytt <som.snytt@gmail.com>2012-09-09 12:10:38 -0700
commited723738e643035609efda49e6be689e4b0b0480 (patch)
tree58b812e3aa665f6edc4a552834f8f851caed75b4 /test/files
parentb7e08723d142c8227181eed283e7c982f449425a (diff)
downloadscala-ed723738e643035609efda49e6be689e4b0b0480.tar.gz
scala-ed723738e643035609efda49e6be689e4b0b0480.tar.bz2
scala-ed723738e643035609efda49e6be689e4b0b0480.zip
SI-6278 fixed: synthetic implicit def must sort with its associated implicit class
Add a case to the ad-hoc (or add-hack) addSynthetics to keep the trees close. This relies on naming convention, so changes in naming of the implicit def would require an update here.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/pos/t6278-synth-def.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/files/pos/t6278-synth-def.scala b/test/files/pos/t6278-synth-def.scala
new file mode 100644
index 0000000000..b8b660fbe3
--- /dev/null
+++ b/test/files/pos/t6278-synth-def.scala
@@ -0,0 +1,30 @@
+
+package t6278
+
+import language.implicitConversions
+
+object test {
+ def ok() {
+ class Foo(val i: Int) {
+ def foo[A](body: =>A): A = body
+ }
+ implicit def toFoo(i: Int): Foo = new Foo(i)
+
+ val k = 1
+ k foo println("k?")
+ val j = 2
+ }
+ def nope() {
+ implicit class Foo(val i: Int) {
+ def foo[A](body: =>A): A = body
+ }
+
+ val k = 1
+ k foo println("k?")
+ //lazy
+ val j = 2
+ }
+ def main(args: Array[String]) {
+ ok(); nope()
+ }
+}