Bugworm
а на чем писать-то?
Bugworm
ну гуй всм
Маjко
Это к @tapok_satan
Sherzod
на срасте?
Маjко
ну гуй всм
Да и кому нужен гуй? Настоящий убер-клиент должен быть на https://github.com/gyscos/Cursive
Євгеній 😌
так так такс что тут у нас, тдлиб, наканецта напилят норм клиент с сортировкой каналов и поиску по стикерам?
Anton
ну гуй всм
пока гуя нет, придется пилить консольный клиент, накрайняк ncurses
Dårk
а на чем писать-то?
на tui https://github.com/fdehau/tui-rs
Anton
в общем народ солидарен насчет гуя к новому клиенту телеги, пилим
Bugworm
на tui https://github.com/fdehau/tui-rs
ну как вариант, но такое
Dårk
ну как вариант, но такое
ну да, input отсутствует
Маjко
Надо конечно упомянуть, что это какая-то хуйня а не интерфейс, то что телега для сишных биндингов оставила Ни асинхронности тебе ни нативной скорости, сраные жсоны какие-то вместо апи клиента
Marat
Вообще надо сам tdlib на расте переписать
Marat
С нормальным интерфейсом
Маjко
Вообще надо сам tdlib на расте переписать
Да хотя б умудриться биндинг сгенерить к С++ной либе — уже отлично будет bindgen не вывез по дефолту, глубоко в настройки не копал
Маjко
Доку позже подвезу, надо самому хостить, docs.rs ожидаемо сам не догадался скачать и скомпелять tdlib
Илья
Кто нибудь сталкивался с энтропиец на раст? М.Б. либы
Bugworm
https://github.com/rust-lang/rust/pull/47956
Andrew
https://www.reddit.com/r/rust/comments/7utj4t/reddit_is_hiring_a_senior_rust_engineer/?st=JD6C6IO4&sh=ba0c0f31 А сколько игрушечных проектов надо сделать, чтобы считаться синьором?
Andrew
Be willing to teach Rust to others конечно не фонтан
Andrew
Как и сф
Антон
Andrew
Сан-франциско
Нави
как перехватить ошибку?
Антон
Нави
например: assert!(false); как сделать что бы программа не прерывалась?
Pavel
написать assert!(true)
Антон
https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
Nikita
#define false true
Антон
Только не надо на это полагаться
Антон
#define false true
Не учи дитятко плохому
Нави
там перехватывать unwrap() надо, ссылка где описана обработка паники наверное самое то
Антон
там перехватывать unwrap() надо, ссылка где описана обработка паники наверное самое то
unwrap() не надо перехватывать, надо менять результат функции и ошибку пробрасывать
Нави
unwrap() не надо перехватывать, надо менять результат функции и ошибку пробрасывать
Ошибка - таймаут адреса, возникает рез в пол дня: let mut req = reqwest::get("http://site.ru").unwrap(); req.read_to_string(&mut return).unwrap();
Антон
Ошибка - таймаут адреса, возникает рез в пол дня: let mut req = reqwest::get("http://site.ru").unwrap(); req.read_to_string(&mut return).unwrap();
Ну тогда крутить это всё в цикле до тех пор, пока не будет реквест удачным. И при ошибке — заново с небольшим таймаутом
Антон
Так обычно и делают
Нави
Значить перехватить ошибку и проигнорить её
Антон
А чем catch_unwind лучше?
Cuno
Значить перехватить ошибку и проигнорить её
Так что мешает сменить тип результата функции на Result и собственно именно это и сделать (проигнорировать ошибку)?
Антон
Никто ж не мешает перехватывать ошибку штатным образом и корректно обрабатывать
Антон
Благо под это дело в Rust, ЕМНИП? 1.13 запилили оператор ? под это дело
Vlad
Там кстати в последнем clippy линт добавили
Vlad
https://rust-lang-nursery.github.io/rust-clippy/master/index.html#question_mark
Loo
https://screenshots.firefox.com/LOm2jJWGGLjIAkBe/github.com
Loo
RIIR
kitsu
мож знает кто? пытаюсь сбилдить пример rust-csv
Loo
и сделай extern crate serde;
kitsu
serde_derive же вродь подтягивает
kitsu
мм, сбилдилось, magic
kitsu
Есть какие функции для n-max/min? что-то вроде: vec![4,5,1,2,6,7].iter().nmax(3) -> (Some(7),Some(6), Some(5)) Кверить над однажды, так что сортировка не кстати
Маjко
А есть какой-то эффективный алгоритм?
Маjко
Реализовать свой трейт для итератора с Item: Ord не сложно, вообще говоря. Но я сомневаюсь, что есть однопроходный алгоритм для этого
Anonymous
https://en.wikipedia.org/wiki/Partial_sorting
Anonymous
http://en.cppreference.com/w/cpp/algorithm/partial_sort
Маjко
Тада можно свой поглощающий метод захерачить
Маjко
Готовенького в stdlib нет
kitsu
не, в стдлиб то понятно, я скорее про крейт
kitsu
к тому же что такого drain даст в сравнении с обычным итератором?
Маjко
??
Маjко
max энивей поглощает итератор
Маjко
Самый обычный max
kitsu
а, трейт toowned есть
Marat
Я короче брал binaryheap и из него pop делал 5 раз
kitsu
вот чую так все и закончится
Маjко
Хип подразумевает мутацию или клонирование
Marat
Хип подразумевает мутацию или клонирование
Ну он там мутирует под капотом
Маjко
Хотя можно и маппинг индексов сделать под капотом
Маjко
Ну он там мутирует под капотом
@kitsu написал, что коллекция иммутабельна
Filipp
кто-нибудь понял как modifier в iron работают?
Cuno
Хип подразумевает мутацию или клонирование
Можно без мутаций и клонирования, но с аллокацией (держать отдельно в хипе ссылки). VLA или const generics бы для этой задачи... https://play.rust-lang.org/?gist=d1002875066d35ee38c1bd830b706a76&version=stable
分解物質
страуструп называет VLA "misfeature", и это одна из немногих вещей в C которой нет в C++
分解物質
а, это из-за того что в C оно информацию о собственном размере не держит
Маjко
Чет с Const Generics всё грустно