diff options
Diffstat (limited to 'test/neg/vincent.scala')
-rw-r--r-- | test/neg/vincent.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/neg/vincent.scala b/test/neg/vincent.scala new file mode 100644 index 0000000000..0af526d6aa --- /dev/null +++ b/test/neg/vincent.scala @@ -0,0 +1,21 @@ +module test { + + trait A { type T; } + + trait B { type T; } + + /** def functor(x: A): B with { type T = x.T } */ + abstract class functor() { + val arg: A; + val res: B with { type T = arg.T } = + new B with { type T = arg.T; }; + } + + val a = new A with { type T = String }; + /** val b: B with { type T = String } = functor(a) */ + val b: B with { type T = String } = { + val tmp = new functor() with { val arg = a }; + tmp.res + } + +} |