scala - Why not giving compilation error? -


i have below piece of code

object subclass extends mytrait {   private[this] val = 10    def main(args: array[string]) {       println(a)   }  }  trait mytrait {   protected val = 5  } 

and gives following runtime error. can explain why didn't catch in compile time.

exception in thread "main" java.lang.classformaterror: duplicate field name&signature in class file subclass$ @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclasscond(classloader.java:631) @ java.lang.classloader.defineclass(classloader.java:615) @ java.security.secureclassloader.defineclass(secureclassloader.java:141) @ java.net.urlclassloader.defineclass(urlclassloader.java:283) @ java.net.urlclassloader.access$000(urlclassloader.java:58) @ java.net.urlclassloader$1.run(urlclassloader.java:197) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:190) @ java.lang.classloader.loadclass(classloader.java:306) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:301) @ java.lang.classloader.loadclass(classloader.java:247) @ subclass.main(traittest.scala)

because software has bugs?

https://issues.scala-lang.org/browse/si-7475

that guess.

the related ticket has received recent attention:

https://issues.scala-lang.org/browse/si-2568


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -