Re: VerifyError ascribing java annotations to scala.annotation.Annotation
Lukas Rytz <[email protected]> Tue, 2 Feb 2016 05:31:22 -0800 (PST)
| Newsgroups | gmane.comp.lang.scala |
|---|---|
| Message-ID | <[email protected]> |
This is another incarnation of https://issues.scala-lang.org/browse/SI-9400 see also the discussion on https://github.com/scala/scala/pull/4638. On Monday, February 1, 2016 at 8:10:41 PM UTC+1, Daniel Armak wrote: > > Even weirder: > > scala> val x: Deprecated = null > x: Deprecated = null > > scala> x: StaticAnnotation > res14: scala.annotation.StaticAnnotation = null > > scala> (x: StaticAnnotation): Annotation > res15: scala.annotation.Annotation = null > > scala> x: Annotation > java.lang.VerifyError: Bad type on operand stack > > > -- > Daniel Armak > > On Mon, Feb 1, 2016 at 8:50 PM, Daniel Armak <[email protected] > <javascript:>> wrote: > >> scala> import scala.reflect.runtime.universe.typeOf >> scala> import scala.annotation.Annotation >> scala> import java.lang.Deprecated >> >> scala> typeOf[Deprecated] <:< typeOf[Annotation] >> res0: Boolean = true >> >> scala> val x: Deprecated = null >> x: Deprecated = null >> >> scala> x: Annotation >> java.lang.VerifyError: Bad type on operand stack >> >> The same happens with any Java annotation, Deprecated isn’t special. >> >> What is the intention? Why should Java annotations subtype >> scala.annotation.Annotation? >> >> This is mentioned in a comment in SI-9400, but that’s about a different >> issue and I think if this is a bug it deserves its own ticket. >> >> -- >> Daniel Armak >> > > -- You received this message because you are subscribed to the Google Groups "scala-language" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.