Size: a a a

Scala User Group

2020 August 26

SM

Sergey Minichev in Scala User Group
источник

SM

Sergey Minichev in Scala User Group
источник

K

Kai in Scala User Group
Юрий Бадальянц
А в скале 3 случаем не планируют в имплисит скоуп добавить компаньон тайп алиаса?
В скале 2.13 (и 2.12 с -Xsource:2.13) уже в имплисит скоупе компаньон^W окружающий обжект тайп алиаса
источник

K

Kai in Scala User Group
см. вторую часть сниппета, "implicit re-export": https://scastie.scala-lang.org/4QXmerMLTuidw5zIuP8VlA
источник

K

Kai in Scala User Group
Юрий Бадальянц
@rudogma @odomontois В итоге сделал через тайп теги из supertagged. Пришлось немного полифтить инстансы через LiftF, но это всё в одном месте в компаньоне. В 3 скале наверное получится также через опаки сделать.
Да не нужны никакие опаки и супертаггед, твой юзкейс работает на ванильной скале 2, просто надо алиас объявлять как type T >: G <: G, а не type T = G (по тайпчекеру результат одинаковый, T =:= G, но у T в первой форме еще и свой собственный имплисит скоуп)
https://scastie.scala-lang.org/oFnTagOGRyKcXggx5naAow
источник
2020 August 27

ЮБ

Юрий Бадальянц... in Scala User Group
Kai
Да не нужны никакие опаки и супертаггед, твой юзкейс работает на ванильной скале 2, просто надо алиас объявлять как type T >: G <: G, а не type T = G (по тайпчекеру результат одинаковый, T =:= G, но у T в первой форме еще и свой собственный имплисит скоуп)
https://scastie.scala-lang.org/oFnTagOGRyKcXggx5naAow
Воу, вот это круто, попробую
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Kai
В скале 2.13 (и 2.12 с -Xsource:2.13) уже в имплисит скоупе компаньон^W окружающий обжект тайп алиаса
Погоди, так это для любого тайп алиаса? Или только для того, который в форме type T >: G <: G?
источник

λ

λoλcat in Scala User Group
Юрий Бадальянц
Погоди, так это для любого тайп алиаса? Или только для того, который в форме type T >: G <: G?
Второе
источник

ЮБ

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

M

Mikhail in Scala User Group
Юрий Бадальянц
Погоди, так это для любого тайп алиаса? Или только для того, который в форме type T >: G <: G?
эта форма нужна для того, чтобы оно перестало быть таггетом(полуотдельным типом) и смогло ходить туда сюда. в форме type T <: G - это тот же таггеттайп. и скоуп соответственно по тем же принципам таггетов цепляется
источник

ЮБ

Юрий Бадальянц... in Scala User Group
На самом деле было бы круто, если бы это работало как то более явно
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Сейчас похоже на шаманство
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ну собственно я исходно предлагат десять раз опак с баундами
источник

AM

Alexandr Myshansky in Scala User Group
Всем привет, а есть группа по андроид разработке аналогичная этой?
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Oleg ℕizhnik
Ну собственно я исходно предлагат десять раз опак с баундами
Я из этой формулировки не вычленил, что опак с баундами имеет другой имплисит скоуп. Я этого не знал.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Юрий Бадальянц
Я из этой формулировки не вычленил, что опак с баундами имеет другой имплисит скоуп. Я этого не знал.
Ну это перечислялось в купе с другими опциями, ты и не хотел особенно узнать, как выполнить какой-то из вариантов, просто бесконечно повторял, что тебе очень нужно, чтобы компилятор работал по другому.
Собственно, из-за этого я разнервничался и удалил всё
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Прости, Олег, в следующий раз буду няшей
источник

K

Kai in Scala User Group
Ну, "опак с баундами" это сложно понять учитывая что в скале 2 нет опаков. (это абстрактные тайп мемберы)
источник

K

Kai in Scala User Group
Вообще это баг / неопределенное поведение компилятора так что об этом сложно догадаться если уже не знаешь
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Kai
Ну, "опак с баундами" это сложно понять учитывая что в скале 2 нет опаков. (это абстрактные тайп мемберы)
Вопрос то был не про скалу 2
источник