Size: a a a

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

2021 March 09

Oℕ

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

Oℕ

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

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
че
источник

NV

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

Oℕ

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

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
ты доебался до того, что я назвал самом трейт с одним абстрактым методом, хотя он даже не доходит до байткода или что?
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
inline def foo(inline f: Int => Unit ) = {
  f(1)
  f(2)
}

foo(println) - это скомпилитсч в просто

println (1)
println (2)

в месте применения
источник

Oℕ

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

Oℕ

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

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
Oleg ℕizhnik
я не доебался, я реально не понимаю ни единого аргумента, зачем бы вообще нужны инлайн SAM
trait Do[I, O]:
 def apply(i: I): O

inline def foo(inline f: Do[Int, Unit] ) = {
 f(1)
 f(2)
}
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
Nikita Vilunov
trait Do[I, O]:
 def apply(i: I): O

inline def foo(inline f: Do[Int, Unit] ) = {
 f(1)
 f(2)
}
чем это лучше
type Do[I, O] = I => O?
источник

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
Переслано от Nikita Vilunov
чтобы был другого типа
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
этот тип эфемерный всё равно
источник

Oℕ

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

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
все типы эфемерные
источник

Oℕ

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

Oℕ

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

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ КАКАЯ ТАЙПЛЕВЕЛ СТЭК КРАСИВАЯ ЗАЛУПА
я знаю зачем нужны SAM
источник

Oℕ

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