Size: a a a

Scala User Group

2020 June 17

M

Mi in Scala User Group
Grigory Pomadchin
сломается если не экзостив
так а там null/None передастся или что-то ещё если будет не экзостив? Просто код компилируется и непонятно что  там  будет в итоге
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Andrey Sugak
Любой комбинатор умеет принимать частичные функции, потому что PartialFunction[A, B] extends A => B.
но сломается же из-за мэтча
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
я именно в этом смысле
источник

AS

Andrey Sugak in Scala User Group
Mi
так а там null/None передастся или что-то ещё если будет не экзостив? Просто код компилируется и непонятно что  там  будет в итоге
scala.MatchError будет в итоге.
источник

M

Mi in Scala User Group
забавно  но у меня ничего подобного не было, возможно из-за десятка Try вокруг
источник

AS

Andrey Sugak in Scala User Group
Mi
забавно  но у меня ничего подобного не было, возможно из-за десятка Try вокруг
Ну так у вас irrefutable pattern во втором матче. case (client, resource) =>
источник

GP

Grigory Pomadchin in Scala User Group
Mi
забавно  но у меня ничего подобного не было, возможно из-за десятка Try вокруг
источник

M

Mi in Scala User Group
Andrey Sugak
Ну так у вас irrefutable pattern во втором матче. case (client, resource) =>
ну я подобный код правил, и когда правил я подумал что мне все равно нечего менять и убрал это
источник

M

Mi in Scala User Group
потом только после часа дебага разобрался что там проблема
источник

M

Mi in Scala User Group
Видимо мне ссылки нельзя постить, но там, но если это обернуть в Try,  то оно не падает
источник

GP

Grigory Pomadchin in Scala User Group
попробуй сейчас
источник

M

Mi in Scala User Group
источник

GP

Grigory Pomadchin in Scala User Group
ну эт да)
источник
2020 June 18

ИД

Илья Данилов... in Scala User Group
@rudogma привет. Подскажи, почему в supertagged тегированные типы не ковариантны по базовому типу?
источник

M

Mikhail in Scala User Group
Илья Данилов
@rudogma привет. Подскажи, почему в supertagged тегированные типы не ковариантны по базовому типу?
источник

M

Mikhail in Scala User Group
Илья Данилов
@rudogma привет. Подскажи, почему в supertagged тегированные типы не ковариантны по базовому типу?
источник

M

Mikhail in Scala User Group
Илья Данилов
@rudogma привет. Подскажи, почему в supertagged тегированные типы не ковариантны по базовому типу?
источник

ИД

Илья Данилов... in Scala User Group
@rudogma  ну это понятно что не в одном месте плюсик поставить, для типа тега поэтому там подтип Gag <: U

есть ли какие-то более далекоидущие причины?

С точки зрения ожиданий мне показалось это относительно логичным.
Например у меня есть Animal, Dog extends Animal
И я провожу выставку животных. Но любых не принимаю, только со справкой что они не больны: Animal @@ Healthy

Интуитивно кажется что Dog @@ Healthy должен проходить по требованиям
источник

M

Mikhail in Scala User Group
Илья Данилов
@rudogma  ну это понятно что не в одном месте плюсик поставить, для типа тега поэтому там подтип Gag <: U

есть ли какие-то более далекоидущие причины?

С точки зрения ожиданий мне показалось это относительно логичным.
Например у меня есть Animal, Dog extends Animal
И я провожу выставку животных. Но любых не принимаю, только со справкой что они не больны: Animal @@ Healthy

Интуитивно кажется что Dog @@ Healthy должен проходить по требованиям
Наши желания зачастую не совпадают с возможностями. Нельзя просто так взять и поставить Raw <: T.  Там кругом грабли
источник

VS

Vladimir Sam in Scala User Group
И снова про грабли:
нет ли тут подвоха? Если мне в каком то случае нужен ордеринг по определенному полю в кейс классе, получается тем же имплиситом я получу Eq по этому полю, чего я совсем не хочу
источник