Vladimir
короче в том коде, зачем-то один регистр копируется в другой его инкриментит, проверяет результат, а дальше сбрасывает этот промежуточный регистр, и только потом увеличивает исходный
Vladimir
Что конкретно смущает?
Anton
А, пропустил
Anton
Так jb же только с rax работает, не?
Anton
Хотя не, вру
Anton
Короче inc не меняет флаг переноса, а jb как раз его проверяет. Это объясняет, почему там add 1
Anton
А вот зачем копируется непонятно)
Vladimir
это я понимаю
Алексей
уважаемые гуру, можно на секундочку привлечь ваше внимание к моему вопросу? вопрос в следующем, беру с crates.io штуку "reqwest", вставляю код из примера let mut resp = reqwest::get("https://www.rust-lang.org")?; assert!(resp.status().is_success()); let mut content = String::new(); resp.read_to_string(&mut content); и он выдаёт ошибку error[E0277]: the trait bound (): std::ops::Try is not satisfied —> src/main.rs:36:20
Alex
Потому что в 2k17 докером не пользуются только фронтендеры, эмбедщики и динозавры
Фронтендерам первым поставляем бэкенд в докере, шобы не ебались с ним.
🎲
Добрый день. Пишу игрушечный интерпретатор в образовательных целях. И не могу придумать как обходить ast в несколько потоков. Может кто-нибудь поделиться идеей или дать ссылку?
big
А с какой целью вам нужно обходить ast в много потоков?
🎲
В этом нет смысла?
big
не совсем ) Зависит как раз от цели
🎲
Найти тип указанной переменной
big
шансы что это можно/нужно делать паралельно — уменьшаются
Vladimir
Скорее не нужно
Vladimir
А вообще аст если константный то легко обходится в несколько потоков, если нет - то дороже выйдет
Алексей
Маjко
@c_vld диссапрув твоему троллингу
Маjко
Ты б хоть про язык почитал, прежде чем к гоферам лезть
Маjко
Тоньше надо
Vladimir
Лол
Oleg
В каком чате? :)
Vladimir
Гофском
Маjко
@progo
Tuntz
коллеги, как (с помощью какой либы) проще всего в расте скачивать файлы?
Anonymous
мужик
Tuntz
у меня давно как го на работе, раст дома
Маjко
Если асинхронность и прочее не нужны
Tuntz
нужно http, с канселляцией, по возможности прямо в файл; желательно асинхронно
Маjко
hyper
Tuntz
понял, спасибо 👍
Anonymous
でゲソ
сатана уменьшает им аргументы, лол
でゲソ
6.1232... смахивает на гравитационную постоянную
Anton
Есть варианты как красиво развернуть конструкции типа cfg.get(&Yaml::from_str("scope")) .unwrap() .as_str() .unwrap();
Anton
С обработкой ошибок
Anton
Вариант в лоб match cfg.get(&Yaml::from_str("scope")) { None => return Err( format!("{}: Value 'scope' not defined", cfg_file) ), Some(v) => { match v.as_str() { None => return Err( format!("{}: Value of 'scope' is not String", cfg_file) ), Some(scope) => config.scope = scope.into() } } } Хотелось бы что нить полаконичней
Anonymous
cfg.get(...)?.as_str()?;
Маjко
Не, там же опшналы
Маjко
Он их в ошибки преобразует
Маjко
У Option точно был API чтобы преобразовать None в нужную ошибку
Anonymous
ааа
Anton
нужно внятные текстовые ошибки лепить в Result
Anonymous
option.ok_or(error_value)
でゲソ
а разве вопрошалка не как элвис-оператор работает?
Anonymous
expect вместо unwrap
вредные советы
Anton
expect - выбрасывает трейс
でゲソ
почему?
Anton
Для конечного юзверя не гуд
でゲソ
и сообщение пишет
でゲソ
про трейс не в курсе был
Anton
Будет думать что отвалилось
Anonymous
а разве вопрошалка не как элвис-оператор работает?
элвис оператор это чтобы нуллптр ошибок не было
Маjко
expect вместо unwrap
Там паника, а не возврат ошибки
Маjко
Такое
Anton
Макросы наше всио?
Маjко
Чем тебе ok_or не нравится?
Маjко
cfg.get(&Yaml::from_str("scope")) .ok_or(NotFoundError)? .as_str() .ok_or(ParseError)?;
Anton
Мне кажется не читабельней
Anonymous
ват
Anonymous
как здесь макрокоманда поможет
Anton
Хотя
Anton
просто там спуск - и будет не вложенный а последователььный листинг
Anton
по дереву
Anton
root -> database -> pool -> pool_param
Loo
Эм
Маjко
как здесь макрокоманда поможет
Ну в макрос можно запихать тот огромный матч
Маjко
Но имхо с ok_or всё очень даже читабельно
Маjко
И главное понятно где какие ошибки кидаются
Anonymous
Ну в макрос можно запихать тот огромный матч
но у нас все равно будет больше синтаксической нагрузки
Loo
error chain возьми, он умеет чейнить опшионалы с 0.11 рц 2
Маjко
Anton, сделай ошибки вариантами енама и юзай error_chain, кидать ошибки с строками — моветон