Size: a a a

ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА

2021 June 01

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
а для второго - оно же в сигнатуре apply есть
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
какую логику для макроса ты предлагешь
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
вот есть в сигнатуре apply какой-то ещё тайп-параметр, отследить я это могу
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
как в макросе я смогу определить, что там будет какой-то тип с тремя параметрами и что нужно поставить во второй и третий
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
можно попробовать сделать так
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
сейчас есть PassTypeArgs
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
это как раз для случая, когда нужно явно передать Foo в аргументы типа
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
val expr = q"foo.apply[A, B, C](...)"

vstavitVObject(q"implicit val derived: ${typeof(expr)} = ${expr}")

макросы не сильно умею писать
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
ну ты будешь писать
@derive(table[FooBar, FooBar.Create]("foobar", insert[FooBar.Create])
?
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
если будешь - это просто сделать, я просто уберую явный : у val
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
сделаем какой-то UntypedDerivation
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
или InferDerivation
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
и он будет генерить просто
implicit val table$macro1 = table[FooBar, FooBar.Create]("foobar", insert[FooBar.Create]
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
можно попробовать адхок дерьма навернуть и сделать по первому аргументу
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
непонял
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
чтобы не писать тип для которого мы делаем дерайв руками
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
ну т.е. например мы знаем что у нас высрется Foo[T, X] для которого X можно вывести из аргумента в apply, а T хуй знает какой
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
если сделаешь скасти, я попробую воркераунд накатать прямо с текущей версией
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
ща будет
источник

н

невидимка 🇧🇾... in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
источник