diff options
author | Martin Odersky <odersky@gmail.com> | 2006-11-17 18:01:11 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-11-17 18:01:11 +0000 |
commit | 5131de0a0b08f893f6558ceb7dd348cb87ba0ff4 (patch) | |
tree | c796ac53bbf323913d15d1ff93d3176bf0a75fa8 /test | |
parent | f6183ef4b030030606f46fe2463d325e39ae6174 (diff) | |
download | scala-5131de0a0b08f893f6558ceb7dd348cb87ba0ff4.tar.gz scala-5131de0a0b08f893f6558ceb7dd348cb87ba0ff4.tar.bz2 scala-5131de0a0b08f893f6558ceb7dd348cb87ba0ff4.zip |
fixed syntax error in Infer
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/bug807.scala | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/files/pos/bug807.scala b/test/files/pos/bug807.scala new file mode 100644 index 0000000000..0eeb92ea24 --- /dev/null +++ b/test/files/pos/bug807.scala @@ -0,0 +1,45 @@ +trait Matcher { + trait Link { + type Self <: Link; + type Match <: Link { type Match = Link.this.Self; } + } + trait HasLinks { + def link(b : Boolean) : Link = null; + } + +} +trait BraceMatcher extends Matcher { + trait BracePair { + trait BraceLink extends Link; + trait OpenLink extends BraceLink { + type Self = OpenLink; + type Match = CloseLink; + } + trait CloseLink extends BraceLink { + type Self = CloseLink; + type Match = OpenLink; + } + } +} +trait IfElseMatcher extends BraceMatcher { + trait IfElseLink extends Link; + trait IfLink extends IfElseLink { + type Self = IfLink; + type Match = ElseImpl; + } + trait ElseImpl extends IfElseLink with HasLinks { + type Self = ElseImpl; + type Match = IfLink; + override def link(b : Boolean) = this; + } + val parenPair : BracePair; + trait IfWithParenImpl extends HasLinks { + object ifLink extends IfLink; + object openParen extends parenPair.OpenLink; + override def link(b : Boolean): Link = b match { + case true => ifLink; + case false => openParen; + } + } +} + |