Size: a a a

Rust — русскоговорящее сообществo

2020 April 02

M

Marat in Rust — русскоговорящее сообществo
Андрей Власов
В смысле, сгенерить код с деривом и проверить, что на методах висят инлайны?
ну в смысле, если я хочу гранулярно задавать или не задавать инлайн пометодно, то надо явно имплементить?
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Да, наверное
источник

M

Marat in Rust — русскоговорящее сообществo
хочу пометодный контроль дерайва, в том числе: этот метод мне, пожалуйста, через дефолтный derive, а этот - сам заимплементить (ну или с такими декораторами/аннотациями, или как это называется в этом языке)
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Аааа, не, это зависит от имплементации дерива. Мб как в серде есть вспомогательные #[serde(inline = this)], тогда можно
источник

M

Marat in Rust — русскоговорящее сообществo
а, ясно, писать кастомный макрос derive
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Ну да)
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Мб какие-то крейты уже это сделали
источник

H

Hadji in Rust — русскоговорящее сообществo
А можете рассказать, кто и как подходит к следующей проблеме:
Я для разработки использую мак, а бинарник хочу деплоить на линукс. Как собрать подходящий артефакт?
источник

NN

Nikita Nazarenko in Rust — русскоговорящее сообществo
Указать  target для cargo
источник

NN

Nikita Nazarenko in Rust — русскоговорящее сообществo
Посмотри как эбмеддеры делают
источник

H

Hadji in Rust — русскоговорящее сообществo
А, это прям встроено? Круто, спасибо)
источник

M

Marat in Rust — русскоговорящее сообществo
Чот с крейтами беда: есть одиночные крейты в crates.io с кучами использований, но которые как минимум год не обновлялись, и куча свежих крейтов с той же функциональностью, но с единичными использованиями.
источник

NN

Nikita Nazarenko in Rust — русскоговорящее сообществo
Надо ещё тулчейн скачать через rustup но в целом нынче всё из коробки
источник

M

Marat in Rust — русскоговорящее сообществo
Hadji
А, это прям встроено? Круто, спасибо)
кросс-компиляция называется
источник

H

Hadji in Rust — русскоговорящее сообществo
Marat
кросс-компиляция называется
Спасибо)
источник

M

Marat in Rust — русскоговорящее сообществo
Marat
Чот с крейтами беда: есть одиночные крейты в crates.io с кучами использований, но которые как минимум год не обновлялись, и куча свежих крейтов с той же функциональностью, но с единичными использованиями.
причем, берешь старый крейт, с ним все компилится, в рантайме на тестах находишь баг, качаешь сорсы крейта, фиксишь, пытаешься собрать, а он на новом тулчейне не собирается, делаешь PR в гитхаб, а там 100500 таких же открытых PR и issue, и мейнтейнер забил на свою либу
источник

NN

Nikita Nazarenko in Rust — русскоговорящее сообществo
Поэтому форкаешь, кладёшь на crates и вот 100501 либа с единичным использованием
источник

M

Marat in Rust — русскоговорящее сообществo
вот да, модерации не хватает и сортировки с плавным протуханием счетчика старых использований
источник

m

mAX in Rust — русскоговорящее сообществo
Товарищи, помогите пожалуйста разобраться..
Выполнялся вот такой код
let stream = tokio::net::TcpStream::connect(addr).await?;
stream.set_keepalive(Some(tokio::time::Duration::from_secs(10)));
stream.set_nodelay(true);
use std::os::unix::io::AsRawFd;
let fd = stream.as_raw_fd();
unsafe {
   pub const IP_MTU_DISCOVER: libc::c_int = 10;
   pub const IP_PMTUDISC_DONT: libc::c_int = 0;
   let optval: libc::c_int = IP_PMTUDISC_DONT;
   // дальше все закомменчено!
}

такое выполнялось при каждом переподключении соединения и каждый раз процесс лови дважды сигнал SIGCHLD
при втором подключении он тупо падал, ошибки или вывода, к сожалению не смог отловить

убрал unsafe блок и вроде все норм.. SIGCHLD не приходит, работает все нормально

подскажите пожалуйста из-за чего такое может быть?
константы и optval нигде не используются, я вообще думал компилятор на этот unsafe блок забьет..
источник

d

diabolo in Rust — русскоговорящее сообществo
угомонитесь, плиз
источник