Size: a a a

Scala User Group

2020 January 20

ЮБ

Юрий Бадальянц in Scala User Group
Mikhail
теги такие же как везде, ньютайпы такие же как везде (правда я нашел способ запихнуть имплиситы для ньютайпов в автоскоуп - этим отличается от остальных - по крайней мере будет, когда когда-нибудь запушу)
Я не знаю, как везде. Тэги являются сабтипами типа?
источник

M

Mikhail in Scala User Group
Юрий Бадальянц
Я не знаю, как везде. Тэги являются сабтипами типа?
да
источник

ЮБ

Юрий Бадальянц in Scala User Group
Ок, понятно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Mikhail
теги такие же как везде, ньютайпы такие же как везде (правда я нашел способ запихнуть имплиситы для ньютайпов в автоскоуп - этим отличается от остальных - по крайней мере будет, когда когда-нибудь запушу)
так они и так везде в автоскоупе
источник

ЮБ

Юрий Бадальянц in Scala User Group
Mikhail
теги такие же как везде, ньютайпы такие же как везде (правда я нашел способ запихнуть имплиситы для ньютайпов в автоскоуп - этим отличается от остальных - по крайней мере будет, когда когда-нибудь запушу)
Ты там ещё какую-то новую версию обещал, давненько уже 😉
источник

Oℕ

Oleg ℕizhnik in Scala User Group
object Foo{
  type T <: SomeTrait
  trait SomeTrait extends Any

  пошли имплиситы
}
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
так они и так везде в автоскоупе
не совсем
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну хз, у нас юзаются ньютайпы везде, импортов не делаем
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
ну хз, у нас юзаются ньютайпы везде, импортов не делаем
эстатико?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Mikhail
эстатико?
нет, самодельные, но с эстатико скопированные, там такой же энкодинг
все имплиситы для оборачиваемого типа подтягиваются из объекта
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
нет, самодельные, но с эстатико скопированные, там такой же энкодинг
все имплиситы для оборачиваемого типа подтягиваются из объекта
Пойду посыплю голову пеплом
источник

λ

λoλdog in Scala User Group
Oleg ℕizhnik
нет, самодельные, но с эстатико скопированные, там такой же энкодинг
все имплиситы для оборачиваемого типа подтягиваются из объекта
А зачем самодельные ? Что такого вы там добавили ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λoλdog
А зачем самодельные ? Что такого вы там добавили ?
ничего, но учитывая, что мы оборачиваем обычно только строки и UUIDы выглядело логичнее сделать две примеси заранее, и объявить сразу все инстансы, чем использовать эстатико для генерации и мучаться с инстансами

выглядят навроде такого https://t.me/scala_ponv/283816
источник

Oℕ

Oleg ℕizhnik in Scala User Group
т.е. я бы сказал, что в эстатико "ничего такого", чтобы использовать макрогенерацию
источник

ЮБ

Юрий Бадальянц in Scala User Group
Короче попробовал я сделать просто трейтом и чёт с какой-то странной проблемой столкнулся:
https://scastie.scala-lang.org/LMnet/jRvo0ytXT1mmdIcwO3G7nA/4
А если закомментарить строку, которая вроде бы ни на что влиять не должна, то всё работает:
https://scastie.scala-lang.org/LMnet/jRvo0ytXT1mmdIcwO3G7nA/5
источник

ЮБ

Юрий Бадальянц in Scala User Group
Как так?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
а зачем ты сделал дефом
источник

ЮБ

Юрий Бадальянц in Scala User Group
А какая разница? И так должно ведь работать
источник

ЮБ

Юрий Бадальянц in Scala User Group
Дефом сделал, потому что в скасти минмизированный код. Раньше было вот так:
trait encoder[T] { self: TaggedType[T] =>
     implicit def liftedEncoder(implicit rawEncoder: Encoder[T]): Encoder[Type] = lifterF[Encoder].lift[T, Tag]
   }
источник

ЮБ

Юрий Бадальянц in Scala User Group
тут не сделать через val
источник