New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@specialized breaks super.overriddenMethod, causing infinite loop and StackOverflowError. #3651
Comments
Imported From: https://issues.scala-lang.org/browse/SI-3651?orig=1 |
Lukas Pustina (lukas.pustina) said: Welcome to Scala version 2.8.1.final (Java HotSpot(TM) Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> class Klass[@specialized A]( val a: A )
defined class Klass
scala> case class LongKlass( override val a: Long ) extends Klass[Long](a)
defined class LongKlass
scala> LongKlass(10)
java.lang.StackOverflowError
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<console>:5)
at LongKlass.a$$mcL$$sp(<console>:6)
at Klass$$mcL$$sp.a(<... |
@ijuma said: |
Lukas Pustina (lukas.pustina) said:
Sorry, wrong copy&paste -- I just pasted my email to list and not my test against 2.9.0.latest as of today: Welcome to Scala version 2.9.0.r24304-b20110219020045 (Java HotSpot(TM) Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> class Klass[@specialized A]( val a: A )
defined class Klass
scala> case class LongKlass( override val a: Long ) extends Klass[Long](a)
defined class LongKlass
scala> LongKlass(10)
java.lang.StackOverflowError
at Klass$$mcJ$$sp.a(<console>:7)
at LongKlass.a$$mcJ$$sp(<console>:8)
at Klass$$mcJ$$sp.a(<console>:7)
at LongKlass.a$$mcJ$$sp(<console>:8)
at Klass$$mcJ$$sp.a(<console>:7)
at LongKlass.a$$mcJ$$sp(<console>:8)
..... |
@paulp said: |
Marcin Mościcki (mmoscicki) said: trait Root[@specialized(Int) T] {
def hello(v :T) = "root"
}
trait Child[@specialized(Int) T] extends Root[T] {
override def hello(v :T) = super.hello(v)
}
class C[@specialized(Int) T] extends Child[T]
(new C).hello(1) Stack overflow: at pl.proplus.collection.SpecializationSpec$C$mcI$sp.super$hello$mcI$sp(SpecializationSpec.scala:30)
at pl.proplus.collection.SpecializationSpec$Child$mcI$sp$class.hello$mcI$sp(SpecializationSpec.scala:20)
at pl.proplus.collection.SpecializationSpec$C$mcI$sp.hello$mcI$sp(SpecializationSpec.scala:30) |
Here is a small example on how to replicate the problem:
Tested on Scala.2.8.0.RC7
The text was updated successfully, but these errors were encountered: