diff options
Diffstat (limited to 'tests/pending')
-rw-r--r-- | tests/pending/pos/depmet_implicit_oopsla_session_2.scala | 8 |
1 files changed, 7 insertions, 1 deletions
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: |