From 6d8f3730ca4d381b105737edaff6f8794b54e848 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Sat, 24 Oct 2015 22:09:59 +0200 Subject: Fix issue that prevented instantiating some tvars before implicit search --- tests/pos/tparam_inf.scala | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'tests/pos') diff --git a/tests/pos/tparam_inf.scala b/tests/pos/tparam_inf.scala index 7b0ee0b36..16d99b75d 100644 --- a/tests/pos/tparam_inf.scala +++ b/tests/pos/tparam_inf.scala @@ -1,12 +1,38 @@ +class HasFoo[T] { + val x: Foo[T] = ??? +} +class Foo[T] { + def get(x: T): T = x + def get2(x: T): Nothing = ??? + + def foo1(x: T)(implicit ev: T): Nothing = ??? + def foo2(x: T)(implicit ev: T): T = ??? + def foo3[Dummy](x: T)(implicit ev: T): Nothing = ??? + def foo4[Dummy](x: T)(implicit ev: T): T = ??? +} + object Test { + def foo1[T](x: T)(implicit ev: T): Nothing = ??? def foo2[T](x: T)(implicit ev: T): T = ??? - def test: Unit = { + def test1: Unit = { implicit val ii: Int = 42 foo1(10) foo2(10) } -} + def hf[T]: HasFoo[T] = ??? + def test2: Unit = { + implicit val ii: Int = 42 + + hf.x.get(10) + hf.x.get2(10) + + hf.x.foo1(10) + hf.x.foo2(10) + hf.x.foo3(10) + hf.x.foo4(10) + } +} -- cgit v1.2.3