Sergey
Объясните зачем в плейграунде выбор edition и на что он влияет
Cat
на ворнинги
Cat
это типо как новая веха, но на самом деле нет
Pavel
это типо как новая веха, но на самом деле нет
ну типа делают новый и современный, безопасный язык, но на самом деле нет - просто играются
Anonymous
fn foo(v: &Vec<i32>) { v.get(1); v.push(5); println!("v[1] = {}", v[1]); }
Anonymous
как компилятор узнает что метод get не изменяет вектор, а пуш изменяет?
Anonymous
в методе указано &self или &mut self
о, спасибо, проверил, действительно так
Anonymous
Кто может посоветовать примеры для более близкого знакомства с асинхронностью на футурках? Документация не такая доходчивая, как того хотелось бы. И примеров не в плане того, что такое футурки и как их имплементировать, а в плане того, как эти футурки запускать на одном треде параллельно
Vladimir
https://github.com/polachok/toykio
Денис
https://github.com/polachok/toykio
кмк можно обрать в пин вешать
Roma
https://coaxion.net/blog/category/rust/ ?
вот ещё про футурки советовали
Roma
(а, этому же юзеру и советовали, лол)
Anonymous
Да, только там не совсем то
Денис
можно вот этот рантайм инициализировать: https://docs.rs/tokio/0.1.7/tokio/runtime/struct.Runtime.html
Маjко
@notplhk запилишь версию с пинами?
պլհկ
Когда futures крейт перейдёт
Vladimir
Sergey
ребзя, как тестировать модули которые взаимодействуют с fs?
Sergey
есть мысль передавать некий инстанс в new (типа DI)
Vladimir
Tmpfs?
Vladimir
Ну либо передаешь вместо фс T:Wrte + Read
պլհկ
На СТД перейди
Там нет нихуя
Vlad
Я тут 3 дня в Киеве буду, сегодня прилетаю. Никто не хочет затусить?
Pavel
Я тут 3 дня в Киеве буду, сегодня прилетаю. Никто не хочет затусить?
об этом стоит написать / продублировать в гиттер
Cat
почему бы не моками?
Sergey
То есть полноценно проверять создание файлов?
Cat
То есть полноценно проверять создание файлов?
почему нет? если нужны временные файлы и папки, есть https://crates.io/crates/tempfile
Vladimir
почему бы не моками?
Так юнит поидее и будут покрыты моками, хер ты какой-то год обжект разобьешь на маленькие
Cat
Так юнит поидее и будут покрыты моками, хер ты какой-то год обжект разобьешь на маленькие
Alexander про то, что стоит забить на моки и переходить сразу к интеграционным
kitsu
impl trait для методов трейта не сделали ж еще?
kitsu
ех, жалко
Sergey
Нет
погоди то есть нельзя?! trait Some { fn foo(&self) -> impl Some; }
պլհկ
Нельзя
Sergey
а хотят?
պլհկ
Да
KosBeg
уже мозги закипают. pub fn to_str(self, mnem: Option<&Mnem>) -> String { let is_none = self.is_none(); let is_sib = self.is_sib(); let is_offset = self.is_offset(); if !is_none && !is_sib && !is_offset { OPERAND_T[self as usize].to_string() } else if is_sib { match mnem { Some(mnem) => mnem.sib, // <<< cannot move out of borrowed content None => String::new(), } } else { String::new() // unimplemented!() } } как можно пофиксить?
KosBeg
блин... реально? mnem.sib.to_string() прокатило... как же сложно идёт обучение расту)
Sergey
Но не очень активно
KosBeg
и клонирование прокатило. спасибо)
KosBeg
У меня шло целый год
а я где-то месяца полтора играюсь пока что
kitsu
А можно с помощью reqwest смержить чанки запроса с хедером`Transfer-Encoding: chunked`? или это все ручками делают?
Vladimir
блин... реально? mnem.sib.to_string() прокатило... как же сложно идёт обучение расту)
Помню была фраза чувака "я не умею программировать на rust, просто я пишу код и слушаю слова компилятора".
Vladimir
Может эффективность программирования на rust измеряется в количестве фикшеных ошибок в минуту?
Vladimir
Ну у меня обычно ошибки не совпадения типов и прочей ерунды, ещё часто ; забываю
Vladimir
На днях за 2 дня пофиксил 5000+ ошибок.
Vladimir
Но там много было на макросах/типах завязано
KosBeg
кажется еще и self можно и по референсу передавать
изначально я передавал ссылку, но clippy ссылка не понравилась, и оно сказало сделать как значение) отправляет меня на этот варнинг - https://rust-lang-nursery.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref ну и кому после этого верить?)
KosBeg
Помню была фраза чувака "я не умею программировать на rust, просто я пишу код и слушаю слова компилятора".
первую неделю я тоже ничего не понимал, и только так по компилятору и подсказках vs code и ориентировался, сейчас ошибок очень мало, а если что-то есть - то всё фиксится при помощи гугла и\или stackoverflow. просто этот вопрос вчера меня не решался больше десяти минут, а это значит что пора спрашивать у людей, а не у гугла)
KosBeg
self тут enum :D а enum'ы ж usize?
Маjко
Если в регистр влезет -- то однозначно не нужно передавать по ссылке иммутабельно
Маjко
self тут enum :D а enum'ы ж usize?
Они по размеру самого большого варианта
KosBeg
в этом enum`е около 50 значений. тогда получается u8, а не usize. как ссылку передавать нет смысла, и clippy всё верно сказал.
Vadim
Сегодня у Manning можно купить Rust in Action со скидкой 50% по промокоду dotd070918au https://www.manning.com/books/rust-in-action
Nikita
Аж интересно, что такого уникального можно было настрочить про раст на целую книгу?
Nikita
Экосистема пока не стабилизировалась, а самое ядро уже есть в растобуке
Крылатый
Аж интересно, что такого уникального можно было настрочить про раст на целую книгу?
Книга про то, как с минимумом боли мигрировать каждую ночь на новый компилятор.
Крылатый
А остальная часть это каталог игрушек.
Vadim
Ясно
պլհկ
че значит смержить 🤔
պլհկ
хипер должен автоматом ставить chunked когда стрим в боди