diff options
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/bug788.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/pos/bug788.scala b/test/files/pos/bug788.scala new file mode 100644 index 0000000000..23ffa4a52d --- /dev/null +++ b/test/files/pos/bug788.scala @@ -0,0 +1,20 @@ +package test; + +trait Test { + type Node <: NodeImpl; + trait NodeImpl; + type Expression <: Node with ExpressionImpl; + trait ExpressionImpl extends NodeImpl { + def self : Expression; + } + type Named <: Node with NamedImpl; + trait NamedImpl extends NodeImpl { + def self : Named; + } + def asExpression(e : ExpressionImpl) : Named = { + e match { + case f : NamedImpl => f.self; + case _ => null; + } + } +} |