Маjко
Если ты подводишь к тому, что го говно, потому что тянет наследие из 70х неизменно, то это не новость
Anonymous
нет я просто не понимаю зачем вводить два унарных оператора вместо одного
Маjко
В типе не оператор
Маjко
В типе — сигнатура типа
Маjко
В расте как бы тоже их 2
Сережа
потому что на уровне ассемблера они делают совсем разные вещи?
Маjко
Взятие ссылки и разыменование ссылки
Anonymous
потому что на уровне ассемблера они делают совсем разные вещи?
на уровне ассемблера этого типа вообще нет
Anonymous
Взятие ссылки и разыменование ссылки
разыменование здесь причем?
Сережа
ладно, для этих операций генерится разный ассемблерный код
Маjко
разыменование здесь причем?
Бля, ну при том, что * — разыменование
Anonymous
и
Маjко
И всё
Маjко
ВОт тебе 2 оператора
Anonymous
&1 - мембер *int
Anonymous
здесь нет разыменования
Маjко
Тут и оператора * нет
Anonymous
я считаю * тайп-левел оператором
Маjко
Ты можешь считать что угодно, но это не оператор, а полная сигнатура типа
Сережа
напиши псевдокод разыменования на хаскеле, тогда и поговорим
Маjко
Именно что не важно
Маjко
Потому что один хер наследие сишки
Маjко
Можешь у Керниганна спросить почему
кана
А про тайплевел и термлевел операторы
кана
Один создает тип-указатель, другой просто указатель-значение
кана
И они разные
кана
Оттуда и вопрос, зачем
Сережа
другой получает значение, которое лежит по указателю
Anonymous
лол
Anonymous
троллят
кана
Да не про разыменывание речь бля
Vladimir
ну блять, хуй знает почему оператор * на самом деле разиминование
Маjко
троллят
/report /report /report
Сережа
Керниган про го книжку написал кстати
Vladimir
может сишникам оператор & нафиг был не нужен, и они могли получить указатели ток malloc каким-то
Vladimir
этого никто не спрашивал
ты спрашиваешь почему "тайп левел" оператор отличается от оператора над значением?
Anonymous
& - терм-левел референс; * - терм-левел дереференс НО * - тайп-левел референс
Vladimir
Драсть
я про тех сишников которые ашники
Anonymous
и вопрос собственно почему * - тайп-левел референс
Маjко
Потому что сишка
Маjко
И там так заведено
Vladimir
Anonymous
воот
Vladimir
и был только *
Маjко
потому что амперсант для пидоров
Какой неожиданный каминг-аут
Dårk
мой мозг сломался в попытках это распарсить. что за (...):
Dårk
?
Anonymous
обозначение типа
Anonymous
1: i32
Dårk
без let?
Anonymous
без let
Dårk
че за...
кана
Все есть экспрешн
Anonymous
a: b уточняет что у выражения a тип b, следовательно следующие две строки эквивалентны let a: i32 = 1; let a = 1: i32;
Vladimir
так чем у вас там всё закончилось в споре?
Anonymous
это нестабильная фича
Dårk
о_О
Dårk
но зочем
Vladimir
ну у return и правда тип !
ну вот, а ты боялся
Vladimir
но зочем
он хотел чекнуть какой тип у ретурн
Anonymous
но зочем
чтобы не писать выражения вида { let a: t = b; a }
кана
let x = f x in x
Vladimir
давай честно
Vladimir
чтоб выебнуться что ты знаешь что такое тайп аскрипшин
Anonymous
Anonymous
https://github.com/rust-lang/rfcs/blob/master/text/0803-type-ascription.md
Dårk
нуууэээ
Dårk
collect::<>()
Vladimir
ой не выебуйся
Vladimir
по этому эта фича никому и не нужна
Vladimir
и лежит в найтли 2 года
Anonymous
лол
Anonymous
я по-дефолту подразумевал что она есть