From c7f1f35c36593ac9454c8572a59c649610829b6a Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 3 Mar 2017 14:04:26 +0100 Subject: Adress reviewers comments --- tests/pending/pos/depmet_implicit_oopsla_session_2.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/pending') diff --git a/tests/pending/pos/depmet_implicit_oopsla_session_2.scala b/tests/pending/pos/depmet_implicit_oopsla_session_2.scala index fcf18691a..26fa2a4cc 100644 --- a/tests/pending/pos/depmet_implicit_oopsla_session_2.scala +++ b/tests/pending/pos/depmet_implicit_oopsla_session_2.scala @@ -1,4 +1,10 @@ +// Fails on line 70 with: no implicit argument of type Sessions.Session[ +// | Sessions.In[Int, Sessions.In[Int, Sessions.Out[Int, Sessions.Stop]]]^ +// |]#HasDual[Sessions.Out[Int, Sessions.Out[Int, Sessions.In[Int, Sessions.Stop]]]^ +// | ] found for parameter evidence$1 of method runSession in object Sessions +// This could be related to existential types (the # essentially boils down to one). object Sessions { + def ?[T <: AnyRef](implicit w: T): w.type = w // session states sealed case class Stop() @@ -17,7 +23,7 @@ object Sessions { // friendly interface to the theory def runSession[S, D: Session[S]#HasDual](session: S, dual: D) = - implicitly[Session[S]#HasDual[D]].run(session, dual) + ?[Session[S]#HasDual[D]].run(session, dual) // facts in the theory: -- cgit v1.2.3