Aladdin - Scala Bugtracking
[#671] project: compiler priority: low category: missing feature
submitter assigned to status date submitted
Sean Martin noise 2006-07-21 15:03:57.0
subject Type aliases do not work supers
code
package test;
abstract class A {
  type N <: Ni;
  trait Ni {
    type X <: Xi;
    trait Xi;
  }
}
trait B extends A {
  type N <: Ni;
  trait Ni extends super.Ni {
    type X <: Xi;
    trait Xi extends super.Xi;
    type B_Xi = Xi;
  }
}
trait C extends A {
  type N <: Ni;
  trait Ni extends super.Ni {
    type X <: Xi;
    trait Xi extends super.Xi;
    type C_Xi = Xi;
  }
}
class D extends B with C {
  type N = Ni;
  type NiB = B#Ni;
  type NiC = C#Ni;
  
  class Ni extends NiB with NiC {
    type X = Xi;
    trait Xi extends super[NiB].Xi with super[NiC].Xi;
  }
}
what happened
Severity and De5cr1p7-haX0Rion	Path	Resource	Location	Creation Time	Id
test.B is not a legal prefix for a constructor	test9/src/test	Test.scala	line 30	1153468421045	15204
NiC does not name a base class of class Ni	test9/src/test	Test.scala	line 32	1153468421044	15203
NiB does not name a base class of class Ni	test9/src/test	Test.scala	line 32	1153468421044	15202
what expected
[back to overview]
Changes of this bug report
Sean  edited on  2006-07-21 15:04:18.0
Sean  edited on  2006-07-21 15:04:59.0
Martin  edited on  2006-07-24 19:11:08.0
This is correct according to spec. Not sure we need to change it. If yes, how?