From 72a0e405df88c0dd762fa4d2b7dea70d6b5017be Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Wed, 6 Feb 2019 15:10:09 +0100 Subject: [PATCH 1/2] Fix #5855: Print `given` for contextual function types --- compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala | 2 +- compiler/test-resources/repl/i5855 | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 compiler/test-resources/repl/i5855 diff --git a/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala b/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala index e3f22bd696f8..50682a7f70e8 100644 --- a/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -183,7 +183,7 @@ class PlainPrinter(_ctx: Context) extends Printer { "" case tp: MethodType => changePrec(GlobalPrec) { - (if (tp.isContextual) " with " else "") ~ + (if (tp.isContextual) " given " else "") ~ ("(" + (if (tp.isErasedMethod) "erased " else "") + (if (tp.isImplicitMethod && !tp.isContextual) "implicit " else "") ) ~ paramsText(tp) ~ diff --git a/compiler/test-resources/repl/i5855 b/compiler/test-resources/repl/i5855 new file mode 100644 index 000000000000..7b7d36fd2f96 --- /dev/null +++ b/compiler/test-resources/repl/i5855 @@ -0,0 +1,2 @@ +scala> def f given Int = 1 +def f given (x$1: Int): Int From 27de32dbb3e739104ca01a5ac323311a1fc42f83 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Wed, 6 Feb 2019 17:00:00 +0100 Subject: [PATCH 2/2] Put repl/i5855 in repl/defs --- compiler/test-resources/repl/defs | 2 ++ compiler/test-resources/repl/i5855 | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 compiler/test-resources/repl/i5855 diff --git a/compiler/test-resources/repl/defs b/compiler/test-resources/repl/defs index 8e70f2eacfc0..e538aed9b0a0 100644 --- a/compiler/test-resources/repl/defs +++ b/compiler/test-resources/repl/defs @@ -10,3 +10,5 @@ scala> def id(x: 4): 4 = x def id(x: Int(4)): Int(4) scala> id(4) val res0: Int = 4 +scala> def f given Int = 1 +def f given (x$1: Int): Int diff --git a/compiler/test-resources/repl/i5855 b/compiler/test-resources/repl/i5855 deleted file mode 100644 index 7b7d36fd2f96..000000000000 --- a/compiler/test-resources/repl/i5855 +++ /dev/null @@ -1,2 +0,0 @@ -scala> def f given Int = 1 -def f given (x$1: Int): Int