summaryrefslogtreecommitdiff
path: root/test/files/pos/spec-asseenfrom.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-05-04 09:34:58 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-05-04 09:34:58 +0000
commit6bc86b824867b9c0eaab79bcd798d05759a9167a (patch)
treedfeb8d57074267a851d365ec76fc6673b67a99ed /test/files/pos/spec-asseenfrom.scala
parentdf78ff25e3a4742579417db81bd22fa20b70d4ed (diff)
downloadscala-6bc86b824867b9c0eaab79bcd798d05759a9167a.tar.gz
scala-6bc86b824867b9c0eaab79bcd798d05759a9167a.tar.bz2
scala-6bc86b824867b9c0eaab79bcd798d05759a9167a.zip
Fixed abstract overrides of specialized methods.
Diffstat (limited to 'test/files/pos/spec-asseenfrom.scala')
-rw-r--r--test/files/pos/spec-asseenfrom.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/files/pos/spec-asseenfrom.scala b/test/files/pos/spec-asseenfrom.scala
new file mode 100644
index 0000000000..edd801071a
--- /dev/null
+++ b/test/files/pos/spec-asseenfrom.scala
@@ -0,0 +1,29 @@
+class Automaton[@specialized(Double) W,State] {
+
+ def finalWeight(s: State): W = error("todo");
+
+ def allStates: Set[State] = error("toodo");
+
+ /**
+ * Returns a map from states to its final weight. may expand all nodes.
+ */
+ def finalStateWeights = Map.empty ++ allStates.map { s => (s,finalWeight(s)) }
+
+ // This works fine:
+ /*
+ def finalStateWeights() = {
+ val it = allStates.iterator;
+ while(it.hasNext) {
+ finalWeight(it.next);
+ }
+ }
+ */
+
+}
+
+abstract class Automaton2[@specialized T1, T2] {
+ def finalWeight(s: T2): T1
+ def allStates: Set[T2]
+
+ def f = allStates map finalWeight
+}