Size: a a a

2020 April 03

AZ

Alex Zhukovsky in rust_offtopic
юзер2 автоматом можно юзать вместо юзер1 и наоборот, в зависиимости от (ко)вариантности
источник

AZ

Alex Zhukovsky in rust_offtopic
но даже тут нужно структурки описывать руками, но хотя бы конвертации между ними будут
источник

r

red75prime in rust_offtopic
Soul
Ну здорово. А в нетривиальных случаях?
Пишешь конструктивное доказательство, что тип результата будет подходящий.
источник

S

Soul in rust_offtopic
всё ясно
источник

DS

Doge Shibu in rust_offtopic
Doge Shibu
Кстати, а кто-нибудь видел вживую owning версию либы для работы с flatbuffer'ами?
А, не, мне это не актуально. Владение не поможет в моем случае
источник

AZ

Alex Zhukovsky in rust_offtopic
Soul
всё ясно
fn foo(x: int{(x in (7..9) || x == 11 || x in (15,66)) && x%2==0}) {
 let y: int{x in (7..9) || x == 11 || x in (15,66)} = x;
}
источник

AZ

Alex Zhukovsky in rust_offtopic
вот тебе нетривиальный случай
источник

AZ

Alex Zhukovsky in rust_offtopic
пиши что хочешь
источник

S

Soul in rust_offtopic
Alex Zhukovsky
но даже тут нужно структурки описывать руками, но хотя бы конвертации между ними будут
Чтож, признаю, котлин обладает такими свистелками, которые я сходу не могу реализовать на си-подобном языке с ручным управлением памятью
источник

p

polunin.ai in rust_offtopic
Soul
Чтож, признаю, котлин обладает такими свистелками, которые я сходу не могу реализовать на си-подобном языке с ручным управлением памятью
Это не зависит от управления памятью
источник

AZ

Alex Zhukovsky in rust_offtopic
Soul
Чтож, признаю, котлин обладает такими свистелками, которые я сходу не могу реализовать на си-подобном языке с ручным управлением памятью
да что си, я на сишарпе вчера писал плакался что этой фичи нет. Пришлось городить хрень опять
источник

p

polunin.ai in rust_offtopic
Это проверяется на этапе компиляции. В рантайме все эти типы стираются.
источник

S

Soul in rust_offtopic
Ну да. Вся программа у вас на этапе компиляции работает
источник

AZ

Alex Zhukovsky in rust_offtopic
Soul
Ну да. Вся программа у вас на этапе компиляции работает
разница между такими типами и ифчиками в том же, как писать нормальные типы везде или таскать везде void* и проверять if (foo is int) ...
источник

p

polunin.ai in rust_offtopic
Soul
Ну да. Вся программа у вас на этапе компиляции работает
Проверяется что она работает корректно на этапе компиляции. Это как тайп чекер, только мощнее.
источник

S

Soul in rust_offtopic
Alex Zhukovsky
разница между такими типами и ифчиками в том же, как писать нормальные типы везде или таскать везде void* и проверять if (foo is int) ...
я описывал как создавать типчик если приспичило
источник

AZ

Alex Zhukovsky in rust_offtopic
Soul
я описывал как создавать типчик если приспичило
есть некоторый предел юзабельности
источник

AZ

Alex Zhukovsky in rust_offtopic
если слишком неудобно что-то делать то так делать не будут
источник

p

polunin.ai in rust_offtopic
Компилятор же умудряется проверять типы String, i32, MyStruct?
источник

AZ

Alex Zhukovsky in rust_offtopic
писать структуру на каждый чих неудобно
источник