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:
Comments
Post a Comment