blob: 137c3c60091f8620d206a126fefad6e4edeab94d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package test;
abstract class MyLinkedList {
type Node <: NodeImpl;
def init : Node;
final class Segment(node : Node);
trait NodeImpl {
def insertAfter(node : Node) : Unit = insertAfter(new Segment(node));
def insertAfter(segment : Segment) = {}
}
}
trait MyOffsetList extends MyLinkedList {
type Node <: NodeImpl;
trait NodeImpl extends super.NodeImpl {
override def insertAfter(segment : Segment) = super.insertAfter(segment);
}
}
|