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.