aboutsummaryrefslogtreecommitdiff
path: root/tests/pending
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pending')
-rw-r--r--tests/pending/pos/depmet_implicit_oopsla_session_2.scala8
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: