diff options
Diffstat (limited to 'tests/pos/spec-asseenfrom.scala')
-rw-r--r-- | tests/pos/spec-asseenfrom.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/pos/spec-asseenfrom.scala b/tests/pos/spec-asseenfrom.scala new file mode 100644 index 000000000..ede579170 --- /dev/null +++ b/tests/pos/spec-asseenfrom.scala @@ -0,0 +1,29 @@ +class Automaton[@specialized(Double) W,State] { + + def finalWeight(s: State): W = sys.error("todo"); + + def allStates: Set[State] = sys.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 +} |