Sergey
Sergey
Объясните зачем в плейграунде выбор edition и на что он влияет
Cat
на ворнинги
Cat
это типо как новая веха, но на самом деле нет
Anonymous
fn foo(v: &Vec<i32>) {
v.get(1);
v.push(5);
println!("v[1] = {}", v[1]);
}
Anonymous
как компилятор узнает что метод get не изменяет вектор, а пуш изменяет?
Sergey
Sergey
Anonymous
Anonymous
Кто может посоветовать примеры для более близкого знакомства с асинхронностью на футурках? Документация не такая доходчивая, как того хотелось бы. И примеров не в плане того, что такое футурки и как их имплементировать, а в плане того, как эти футурки запускать на одном треде параллельно
Vladimir
https://github.com/polachok/toykio
Денис
Roma
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
Cat
почему бы не моками?
Sergey
То есть полноценно проверять создание файлов?
Sergey
Vladimir
почему бы не моками?
Так юнит поидее и будут покрыты моками, хер ты какой-то год обжект разобьешь на маленькие
Cat
Vladimir
kitsu
impl trait для методов трейта не сделали ж еще?
Loo
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!()
}
}
как можно пофиксить?
Sergey
Sergey
KosBeg
блин... реально?
mnem.sib.to_string() прокатило...
как же сложно идёт обучение расту)
Sergey
Sergey
Но не очень активно
KosBeg
и клонирование прокатило.
спасибо)
Ευγένιος
kitsu
kitsu
А можно с помощью reqwest смержить чанки запроса с хедером`Transfer-Encoding: chunked`? или это все ручками делают?
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
ну и кому после этого верить?)
Маjко
KosBeg
self тут enum :D
а enum'ы ж usize?
Маjко
Если в регистр влезет -- то однозначно не нужно передавать по ссылке иммутабельно
KosBeg
в этом enum`е около 50 значений.
тогда получается u8, а не usize.
как ссылку передавать нет смысла, и clippy всё верно сказал.
Kerrigan
Vadim
Сегодня у Manning можно купить Rust in Action со скидкой 50% по промокоду dotd070918au
https://www.manning.com/books/rust-in-action
Kerrigan
Nikita
Аж интересно, что такого уникального можно было настрочить про раст на целую книгу?
Nikita
Экосистема пока не стабилизировалась, а самое ядро уже есть в растобуке
Крылатый
Крылатый
А остальная часть это каталог игрушек.
Vadim
Kerrigan
Vadim
Ясно
kitsu
պլհկ
че значит смержить 🤔
պլհկ
хипер должен автоматом ставить chunked когда стрим в боди
Αλεχ