This is a known problem and has to do with peculiarity of the Scala shell: https://groups.google.com/forum/#!searchin/spark-users/error$3A$20type$20mismatch|sort:relevance/spark-users/bwAmbUgxWrA/HwP4Nv4adfEJ
On Fri, Oct 11, 2013 at 6:01 PM, Aaron Davidson <[email protected]> wrote: > Playing around with this a little more, it seems that classOf[Animal] is > "this.Animal" in Spark and "Animal" in normal Scala. > > Also, trying to do something like this: > class Zoo[A <: *this.*Animal](thing: A) { } > > works in Scala but throws a weird error in Spark: > "error: type Animal is not a member of this.$iwC" > > > On Fri, Oct 11, 2013 at 4:55 PM, Shay Seng <[email protected]> wrote: > >> Hey, >> I seeing a funny situation where a piece of code executes in a pure Scala >> REPL but not in a Spark-shell. >> I'm using Scala 2.9.3 with Spark 0.8.0 >> >> In Spark I see: >> class Animal() { >> def says():String = "???" >> } >> >> val amimal = new Animal >> amimal: this.Animal = Animal@df27cd5 >> >> class Zoo[A <: Animal](thing: A) { >> def whoami()=thing.getClass >> def chat()=thing.says >> } >> >> val z = new Zoo[Animal](amimal) >> <console>:16: error: type mismatch; >> found : this.Animal >> required: this.Animal >> val z = new Zoo[Animal](amimal) >> ^ >> >> But if I run the exact code in the scala REPL: >> >> val z = new Zoo[Animal](amimal) >> z: Zoo[Animal] = Zoo@738ff53f >> >> >> Both repl report using scala 2.9.3 >> Spark: "Using Scala version 2.9.3 (Java HotSpot(TM) 64-Bit Server VM, >> Java 1.7.0_40)" >> Scala: "Welcome to Scala version 2.9.3 (Java HotSpot(TM) 64-Bit Server >> VM, Java 1.7.0_40)." >> Any ideas? >> >> tks, >> Shay >> > >
