Подтвердить что ты не робот

Типы зависимых типов конфликтуют с аргументами по умолчанию

При воспроизведении с зависимыми типами методов scala я столкнулся с конфликтом с параметрами метода по умолчанию:

abstract class X {
  type Y
  case class YY(y: Y)
}

object XX extends X {
  type Y = String
}

trait SomeTrait {
  def method(x: X)(y: x.YY, default: Int = 3): Unit
}

object SomeObject extends SomeTrait {
  def method(x: X)(y: x.YY, default: Int): Unit = {}

  method(XX)(XX.YY("abc")) // fails to compile
}

Сообщение:

[error]  found   : me.alexbool.XX.YY
[error]  required: x$1.YY
[error] Error occurred in an application involving default arguments.
[error]     method(XX)(XX.YY("abc")) // fails to compile

Если я удаляю аргумент со значением по умолчанию из определения метода и реализации, пример успешно компилируется. Что я делаю не так? Это ошибка?

P.S. Я использую scala 2.11.4

4b9b3361