summaryrefslogtreecommitdiff
path: root/test/files/pos/t8300-conversions-b.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-17 22:05:14 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-18 09:22:43 +0100
commit34532d7e92b8ed2a9411260007fcfcc00f377ccc (patch)
tree8d41c4041a2fcfd3be356b7f96603bb5ae62ef27 /test/files/pos/t8300-conversions-b.scala
parent185de09b79088e83f766d4b60adc896ad01edd31 (diff)
downloadscala-34532d7e92b8ed2a9411260007fcfcc00f377ccc.tar.gz
scala-34532d7e92b8ed2a9411260007fcfcc00f377ccc.tar.bz2
scala-34532d7e92b8ed2a9411260007fcfcc00f377ccc.zip
tests for SI-8300
Highlights the dilemma with rich type members in the cake that no longer exists. One used to have to choose between overloading or patmat/extmeth friendliness, but couldn't have both. Thanks to retronym we can have it all.
Diffstat (limited to 'test/files/pos/t8300-conversions-b.scala')
-rw-r--r--test/files/pos/t8300-conversions-b.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/files/pos/t8300-conversions-b.scala b/test/files/pos/t8300-conversions-b.scala
new file mode 100644
index 0000000000..0524ee3683
--- /dev/null
+++ b/test/files/pos/t8300-conversions-b.scala
@@ -0,0 +1,23 @@
+// cf. pos/t8300-conversions-a.scala
+trait Universe {
+ type Symbol >: Null <: AnyRef with SymbolApi
+ trait SymbolApi
+
+ type TypeSymbol >: Null <: TypeSymbolApi with Symbol
+ trait TypeSymbolApi extends SymbolApi
+
+ type FreeTypeSymbol >: Null <: FreeTypeSymbolApi with TypeSymbol
+ trait FreeTypeSymbolApi extends TypeSymbolApi
+
+ implicit class CompatibleSymbol(sym: Symbol) {
+ def asFreeType: FreeTypeSymbol = ???
+ }
+}
+
+object Test extends App {
+ val u: Universe = ???
+ import u._
+
+ val sym: Symbol = ???
+ sym.asFreeType
+} \ No newline at end of file