File: SI-4012-b.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (15 lines) | stat: -rw-r--r-- 581 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
trait Super[@specialized(Int) A] {
  def superb = 0
}

object Sub extends Super[Int] {
  // it is expected that super[Super].superb crashes, since 
  // specialization does parent class rewiring, and the super
  // of Sub becomes Super$mcII$sp and not Super. But I consider
  // this normal behavior -- if you want, I can modify duplicators
  // to make this work, but I consider it's best to keep this
  // let the user know Super is not the superclass anymore.
  // super[Super].superb - Vlad
  super.superb        // okay    
  override def superb: Int = super.superb // okay
}