summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-01-06 07:29:20 -0800
committerPaul Phillips <paulp@improving.org>2012-01-06 12:01:17 -0800
commitdd14b6a9b8b3355fae847f7fc8c1fc7d41babaa5 (patch)
tree24c52537a38e90e44be23e5488889e51099912a7 /test/files/pos
parent3192048a4bfb59966f93bb87a3c4f6b7ccfc80b2 (diff)
downloadscala-dd14b6a9b8b3355fae847f7fc8c1fc7d41babaa5.tar.gz
scala-dd14b6a9b8b3355fae847f7fc8c1fc7d41babaa5.tar.bz2
scala-dd14b6a9b8b3355fae847f7fc8c1fc7d41babaa5.zip
TypeVar tracing.
% scala -Dscalac.debug.tvar scala> class Foo[CC[X] <: Traversable[X]] { def bar[T](xs: CC[T]) = xs.head } defined class Foo scala> new Foo bar List(1,2,3) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ setInst] Nothing ( In Foo[CC[X] <: Traversable[X]], CC=Nothing ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?T ( In Foo[CC[X] <: Traversable[X]]#bar[T] ) [ create] ?A ( In List#apply[A] ) [ create] ?A ( In List#apply[A] ) [ setInst] Int ( In List#apply[A], A=Int ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?T ( In Foo[CC[X] <: Traversable[X]]#bar[T] ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ applyArgs] ?CC ( In Foo[CC[X] <: Traversable[X]], apply args ?T to CC ) [ setInst] List ( In Foo[CC[X] <: Traversable[X]], CC=List ) [ setInst] Int ( In Foo[CC[X] <: Traversable[X]]#bar[T], T=Int ) res0: Int = 1 Also, I gave TypeVar some polymorphism. Review by @moors.
Diffstat (limited to 'test/files/pos')
0 files changed, 0 insertions, 0 deletions