Max
Написать самому?
Денис
"ну" или "не"? :)
Денис
если "не", то какая платформа?
Max
*не
Max
Денис
https://docs.rs/tokio-inotify/0.4.1/tokio_inotify/
Денис
а если надо прям тот крейт юзать прям щас, то можно сделать поток, который будет по нормальному каналу пересылать сообщения
Денис
но это пиздец оверхед )
Денис
ну это с одной стороны оверхед. а с другой — а как иначе
Max
Ок, подумаю, спасибо
mAX
Товарищи, помогите пожалуйста!
пытаюсь получить строку из либы С через ffi
//создаю указатель
let mut local_ufrag_ptr: *mut gchar = ptr::null_mut();
// отдаю его как параметр сишной функции
assert!(!local_ufrag_ptr.is_null());
// делаю С строку
let local_ufrag_cstr = unsafe { ::std::ffi::CStr::from_ptr(local_ufrag_ptr) };
// делаю rust строку и clone чтобы скопировать память (правильно?)
let local_ufrag = local_ufrag_cstr.to_str().unwrap().clone();
println!("local_ufrag {0}", local_ufrag);
// чистим память Сишным кодом
if !local_ufrag_ptr.is_null() { unsafe { g_free(local_ufrag_ptr as *mut c_void) }; }
println!("local_ufrag {0}", local_ufrag);
и вот иногда вывод такой:
local_ufrag PgkL
local_ufrag <мусор>
т.е. растовая строка указывает на данные по указателю local_ufrag_ptr, а их там уже почистили..
clone видимо не работает для данных строки, как сделать правильно?
Денис
local_ufrag_cstr.to_str().unwrap().clone(); — ты указатель копируешь
Денис
делай local_ufrag_cstr.to_str().unwrap().to_string()
Денис
кстати g_free нормально работает с нуллпоинтером, не обязательно проверять
Денис
https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-free
mAX
я еще вычитал to_owned(), заменил clone на него, вроде работает
спасибо!)
Денис
to_owned == to_string в данном контексте
Денис
не за что :)
Маjко
Стыдно должно быть, товарищи)
Денис
а как го работает с сишными строками?
Денис
или валидный утф-8, который всегда копируется, или иди на хрен?)
red75prime
Шесть типов. String, str, CString, CStr, OsString, OsStr
Anton
@vitvakatu большое спасибо за ревью пул реквеста. Все ошибки учту и исправлю. Ch 05-01: все делал как в растобуке оригинальном, но понял, что в переведенке примеры кода хоть и длиннее, но понятнее намного.
Ilya
Судзумия
Anton
Маjко
Надо вводить нежно, постепенно
Cat
Cat
Денис
давай ещё в группе го спали меня
Маjко
Cat
Ευγένιος
Знает Скалу.
Ευγένιος
Раст.
Ευγένιος
Жс.
Ευγένιος
Пайтон.
Anton
Anton
типов 2
Anton
есть слайсы
Anton
есть строка
Anton
есть адаптированные строки
Anton
растовые строки utf-8
Anton
строки сишные это ебучий ancii массив
Anton
а вот про OsString не помню уже
Aleksey
OsString это без гарантии, что utf-8.
Денис
какой крейт модно использовать для красивого цветного аутпута в терминальчик?
Маjко
ASCII color codes
Денис
не верю, что это модно
Маjко
В моде с 80х
Денис
я нашёл два
https://github.com/ogham/rust-ansi-term
и
https://github.com/mackwic/colored
Маjко
Нестареющая классика
Маjко
Ну а они что под капотом юзают, умник?
Денис
Cat
<del>
upd: не, не оч
Денис
а, что
Денис
где
Cat
сорри, ничего
mAX
Товарищи, а в какой IDE вам кодить удобнее всего на расте?
Marat
mAX
спасибо,попробую..поставил плагин джетбрейнсов для раста,но он тормозит безбожно!!хотя автокомплит и всякие фишки там есть)
Denys
Раст плагин с клион, вроде шустро работает, попробуй с настройками вм в нем поиграться
Маjко
Судзумия
kosc
Timur
Nikita
Vim я его до всего использую
Alex
ozkriff🇺🇦
https://habr.com/post/358514/
Aleksey
раз уж обсуждали IDE выше
не подскажете, как выставить ENV переменную для отладки в CLion?
При запуске в режиме отладки не находит переменную, а просто при запуске все работает
Aleksey
Golodnyi
а кто в работе раст юзает, раскройте свой город и з.п.
Судзумия
Фига ты
Судзумия
Паспорт ещё
Loo
Golodnyi
звучит так, будто раста в проде нет, никто не работает)
Vladimir
язык то игрушечный
Evgεny
ньюфаг что ли
պլհկ
not this shit again