Как Scala выполняет сопоставление типов, если все типы стираются во время компиляции? - PullRequest
0 голосов
/ 13 мая 2018

За Документация Scala , Типы Scala стираются во время компиляции .Как это делает сопоставление типов тогда?Например, как этот оператор соответствия возможен:

myVar match {
  case x: Bar => ???
  case x: Foo => ???
  case _      =>
}

Конечно, байт-код должен иметь возможность сохранять некоторую информацию о типе или классе myVar.

1 Ответ

0 голосов
/ 13 мая 2018

Аргументы типа для конструкторов типов стираются.В вашем примере нет конструкторов типов, поэтому ничего не удаляется.

Обратите внимание, что даже если аргументы типа удалены, вы можете явно запросить TypeTag для его уточнения.

...