分解物質
分解物質
норм
Евгений
6.1.3 Functions FIXME: grammar? 6.1.3.1 Generic functions FIXME: grammar? 6.1.3.2 Unsafety FIXME: grammar? 6.1.3.2.1 Unsafe functions FIXME: grammar? 6.1.3.2.2 Unsafe blocks FIXME: grammar? 6.1.3.3 Diverging functions FIXME: grammar?
Евгений
Норм
分解物質
分解物質
Anonymous
лооол
Loo
IT'S FINE
Евгений
Зато есть спека на комментарии
Michael
есть повод поконтрибьютить
Anonymous
https://github.com/rust-lang/rust/tree/master/src/grammar а это тоже что и на сайте?
Евгений
Они генерят код yacc'ом??
Евгений
В 2к17?
分解物質
https://github.com/rust-lang/rust/blob/master/src/grammar/parser-lalr.y вот это
Anonymous
я как понял оно не полностью соответствует имплементации rustc
Anonymous
может уже не так
Michael
Они генерят код yacc'ом??
не изобретают велосипед
分解物質
в rust reference не определено поведение a / b и a % b для встроенных арифметических типов если один из операндов меньше 0
分解物質
вот вам unspecifed behaviour, это ещё хуже чем undefined
分解物質
что будет 10 % -3 ?
Anonymous
1
分解物質
1
это должно быть определено явно
Anonymous
ну контрибьють
Anonymous
они заняты имплементацией более важных вещей
分解物質
что будет 10 % -3 ?
ISO C не указывает знак результата подобной операции но определяет что (a/b)*b + a%b должно быть равно a если a/b можно представить в типе в котором ведутся вычесления, иначе undefined
Anonymous
окк
分解物質
шокк ub в rust
Anonymous
гдее
Anonymous
unspecified или undefined
分解物質
первое
Anton
Индус в раст комьюнити
Anton
язык точно развивается
Anton
индусы не станут учить и пытаться использовать то что они потом потенциально не могут продать
Anton
если индус учит раст - значит как минимум жава уже не торт стала
Anonymous
ура расизм
Anton
ура расизм
слава сатане и рейху
Makc
ё/
Anton
Anton
нам еще нужен один нигер
adam
и
Anton
и трансгендерный гомобифем азиат
Anton
и будет полный набор
分解物質
а то загнёмся без diversity
Marat
что будет 10 % -3 ?
А почему это может быть не 1?🤔
ivan
выяснил, что в расте нельзя делать такую штуку типа template specialization в плюсах. чем заменить? #[derive(Debug)] pub struct EnvironmentState<A>(Vec<A>); impl<A> EnvironmentState<A> { pub fn display(&self) { println!("i am a state: {:?}", self); } } impl EnvironmentState<MyAction> { pub fn display(&self) { println!("{}", &self); } } impl std::fmt::Display for EnvironmentState<MyAction> { ... }
ivan
error[E0592]: duplicate definitions with name `display`
Anonymous
в nightly есть специализации
ivan
а как быть в stable?
Anonymous
🤷
Marat
А почему это может быть не 1?🤔
Хмм, вот руби, гугл и питон считают что это -2🤔🤔🤔🤔🤔
Marat
Что-то я не понимаю почему
Anonymous
в хаскеле тоже
adam
потому для вычисляется любого n предоставляется вид: n + kN, где N неотрицателен по определению и является тем делителем
分解物質
ISO C не указывает знак результата подобной операции но определяет что (a/b)*b + a%b должно быть равно a если a/b можно представить в типе в котором ведутся вычесления, иначе undefined
> если a/b можно представить в типе в котором ведутся вычесления a/b может быть невозможным для представления например если std::i64::MIN / -1 поведение которого rust reference тоже не определяет
Loo
чат переименовываем в rust haters
Anton
А мне почти все в расте нравится =)
Anton
пока...
Anton
Я смотрю недолгое время руский канал раст, был интернациональным =)
Anton
В основном ситаксис
Anton
Пока все что мне требовалось решалось без проблем
Anton
Единственное что пока не разобрался есть ли возможность распаралеливать циклы?
Loo
параллелит итераторы
Anton
let items = pages.par_iter().flat_map(|i|{ let next = query_list(i); let tmp: Value = serde_json::from_str(&next).unwrap(); let list = tmp.get("items").unwrap().as_array().unwrap(); list.clone() }).collect::<Vec<Value»();
Anton
юзал я его
Anton
он не всегда паралелит
Anton
https://dlang.org/phobos/std_parallelism.html
Anton
Гибче настраивается, для каждой итерации создает свой контекст более наглядно
Anton
Может дело привычки
Anton
foreach (i, ref elem; taskPool.parallel(logs, 100)) { elem = log(i + 1.0); }
Anton
Наверно привыкну, мой стаж в раст около недели пока =)
Anton
Сильно понравилось автоматическое выведение типа, не в момент присваивания как в большинстве языков