Size: a a a

2021 June 03

AK

Andrey Kartashov in Go-go!
компилятор сам должен это делать, а не заствавлять делать это в runtime
источник

AK

Andrey Kartashov in Go-go!
и таких мелочей в го - вагон и ималенькая тележка
источник

AB

Andrey Burov in Go-go!
хотя если добавить такую фичу, то это же самое будет происходить за кулисами
источник

AB

Andrey Burov in Go-go!
а как он это сделает?
источник

AK

Andrey Kartashov in Go-go!
хм
источник

AK

Andrey Kartashov in Go-go!
задумался
источник

AK

Andrey Kartashov in Go-go!
ну запихает в стек
источник

AB

Andrey Burov in Go-go!
внутри функции то нужен будет slice значений
источник

AK

Andrey Kartashov in Go-go!
мало ли
источник

AB

Andrey Burov in Go-go!
так тоже в stack запихает
источник

AK

Andrey Kartashov in Go-go!
не, слайсы в куче всегда
источник

AK

Andrey Kartashov in Go-go!
понятно, что тривиально это не сделать, но можно
источник

AK

Andrey Kartashov in Go-go!
при этом язык не усложнится, а упростится
источник

AK

Andrey Kartashov in Go-go!
trade-off скорее всего будет в том, что компилируемая функция должна будет быть оптимизирована брать начало вариадик переменных с какого-то уровня на стеке, а потом уже из слайса в куче. И инлайнить её сложнее будет
источник

AB

Andrey Burov in Go-go!
https://play.golang.org/p/789zWenKh8W а вот такое как разрулить тогда?
если можно будет вызывать Foo(X, s...) ?
источник

AK

Andrey Kartashov in Go-go!
такое вообще запретить надо
источник

AK

Andrey Kartashov in Go-go!
и руки поотрывать
источник

AB

Andrey Burov in Go-go!
ну так то да =))) но если фичу завозить, то совместимость должна остаться
источник

S

Sergey in Go-go!
Так сразу и не припомню, когда бы так пришлось с вариадиками страдать...
источник

AK

Andrey Kartashov in Go-go!
я про такой финт ушами не знал, хотя теперь понятно, что оно так и должно работать - функция получает указатель по сути
источник