Size: a a a

Scala User Group

2020 January 10

Oℕ

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

M

Mikhail in Scala User Group
Oleg ℕizhnik
оба метода принимают Foo
у меня только один метод. Как он может принять FooOps(val) если он принимает только фу? К тому же у тебя в коде private val foo: Foo[A], хотя приват там стоять не может в энивале
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Mikhail
у меня только один метод. Как он может принять FooOps(val) если он принимает только фу? К тому же у тебя в коде private val foo: Foo[A], хотя приват там стоять не может в энивале
он не принимает FooOps
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Mikhail
у меня только один метод. Как он может принять FooOps(val) если он принимает только фу? К тому же у тебя в коде private val foo: Foo[A], хотя приват там стоять не может в энивале
приват может стоять в энивале, у меня во всех энивалах приваты
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
он не принимает FooOps
а как понимать Foo$FooOps$.bar$extension(FooOps(foo)) - FooOps.apply там отдаст просто фу?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
да, конечно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Это метод, который просто отдаёт аргумент
источник

Oℕ

Oleg ℕizhnik in Scala User Group
  public <A> maccc.Foo<A> FooOps(maccc.Foo<A>);
   Code:
      0: aload_1
      1: areturn
источник

C

Combot in Scala User Group
Добро пожаловать в самое дружелюбное комьюнити.
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
приват может стоять в энивале, у меня во всех энивалах приваты
Да попутал, там private[this] не может быть
источник

GP

Grigory Pomadchin in Scala User Group
Mikhail
Да попутал, там private[this] не может быть
интересный вопрос, в синглтонах же может быть private[this] и ничего; точно не может быть?
источник

M

Mikhail in Scala User Group
Grigory Pomadchin
интересный вопрос, в синглтонах же может быть private[this] и ничего; точно не может быть?
value class parameter must be a val and not be private[this]
источник

M

Mikhail in Scala User Group
Oleg ℕizhnik
  public <A> maccc.Foo<A> FooOps(maccc.Foo<A>);
   Code:
      0: aload_1
      1: areturn
Тогда понятно. Просто без пояснений сама запись смущает FooOps.bar(FooOps(foo)), если не помнишь таких деталей
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Grigory Pomadchin
интересный вопрос, в синглтонах же может быть private[this] и ничего; точно не может быть?
в энивалах очевидно нет
источник

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ℕ

Oleg ℕizhnik in Scala User Group
мы обсуждали, останется ли оно в байткоде
источник

Oℕ

Oleg ℕizhnik in Scala User Group
я говорил, что конверсия и метод расширения в скале 2 - это два разных метода и имеют разные списки параметров вплоть до кодогенерации
источник

Oℕ

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