Size: a a a

2020 March 03

G

Gymmasssorla in rust_offtopic
λоλторт
с синтаксисом то всё понятно, как в систему типов знание о дефолтных аргументах встраивать?
То есть какой будет тип у функции с аргументами по-умолчанию? Хороший вопрос
источник

V

Vabka in rust_offtopic
λоλторт
А как некостыльно типизировать дефолтные аргументы, например?
При компиляции разворачивать. При передаче её как функции типизировать как
T -> R | T*O->R
источник

DF

Dollar Føølish in rust_offtopic
Вроде такой же тип
источник

DF

Dollar Føølish in rust_offtopic
А при вызове можно просто подставлять значение
источник

G

Gymmasssorla in rust_offtopic
Хотя да
источник

DF

Dollar Føølish in rust_offtopic
Ну типа не меняется ничего просто сахар добааляется
источник

G

Gymmasssorla in rust_offtopic
Это же сахарок просто
источник

DF

Dollar Føølish in rust_offtopic
Штоб типизацию не сломать
источник

V

Vabka in rust_offtopic
Vabka
При компиляции разворачивать. При передаче её как функции типизировать как
T -> R | T*O->R
Этот варик мне нравится
источник

DF

Dollar Føølish in rust_offtopic
Што ты написал
источник

λ

λоλторт in rust_offtopic
Vabka
При компиляции разворачивать. При передаче её как функции типизировать как
T -> R | T*O->R
оч плохой варик
источник

λ

λоλторт in rust_offtopic
Dollar Føølish
Ну типа не меняется ничего просто сахар добааляется
но как тогда проверять, что вызов функции соответствует типу вызываемой функции, если в типе у неё записано, что она требует 5 аргументов, а ты передаёшь 2?
источник

DF

Dollar Føølish in rust_offtopic
Наоборот
источник

DF

Dollar Føølish in rust_offtopic
А не
источник

DF

Dollar Føølish in rust_offtopic
Попутал)
источник

V

Vabka in rust_offtopic
λоλторт
оч плохой варик
Почему? Это же типы. Если потребителю нужная функция t->r, то компилятор заинлайнит дефолтные аргументы. Если нужная t*o->r, то будет как обычная функция.
источник

DF

Dollar Føølish in rust_offtopic
Ну в общем компилятор передает 5 а не 2 в месте вызова
источник

DF

Dollar Føølish in rust_offtopic
Вот и тип совпадает
источник

EG

Emmanuel Goldstein in rust_offtopic
[src/main.rs:103] include_str!("login.sql") = "SELECT username, salt, password_hash FROM users WHERE username = :username\n"
ERROR transact > DB interaction error: Error(InvalidParameterName("username"))
ЧЗХ
источник

Т8

Т-34 85 in rust_offtopic
@Psilon @DogeShibu @Vabka а вам какой синтаксис приведений типов больше нравится - шарповый или растовский? И почему
источник