Αλεχ
короч, чтобы заработало в хроме: 1. идем в chrome://net-internals/#hsts 2. в нижней части страницы в Delete domain security policies вбиваем docs.rs, жмем delete 3. заходим на docs.rs 4. advances -> proceed (unsafe)
Ivan
уже и без этого починили же
Ivan
вообще забавно, что такой меганужный проект пилит в одно лицо чувак, не имеющий отношения к официальной команде разработки раста и его инфраструктуры
Ivan
но вроде там есть какие-то подвижки в правильном направлении
Evgεny
официальная команда гендеры сортирует
Αλεχ
уже и без этого починили же
тыб еще не через 5 часов написал)
Ivan
тыб еще не через 5 часов написал)
слоупок точка жэпэгэ!
Vladimir
700+
Vladimir
Скриньте
Vladimir
Рано заскринил
Денис
почему рано?..
Vladimir
Я не исправил сообщение
Денис
701 :)
Vladimir
Anton
только все равно и 50% не общается 🙂
Alexey
только все равно и 50% не общается 🙂
Остальные набираются мудрости
Cat
Там подъехало сравнение идиом в разных ЯП с растовыми аналогами http://willcrichton.net/notes/idioms-of-dynamic-languages/
Денис
> Idioms of Dynamic Languages > Dynamic
Cat
хз при чём там вообще dynamic
Anonymous
> Idioms of Dynamic Languages > Dynamic
> Idiots of Dynamic Languages > Dynamic
Cat
да камон, это ещё одна возможность петоновчанам переехать на руст, чего плохого
Berkus
хз при чём там вообще dynamic
JS = dynamic, Python = dynamic это про нестатическую типизацию либо отстутствие оной вообще
Berkus
stringly typed shit
Денис
stringly typed :))
Cat
и ocaml
Berkus
там ещё в статье java и c++
в Jave unsound type system, в с++ костыли
Berkus
> hardware (Perl), TTTTTTIGGERED
Max
> 5. Partial programs > return panic!(...) unimplemented! же
Денис
да камон, это ещё одна возможность петоновчанам переехать на руст, чего плохого
хз, мне кажется после этой статьи они скажут "ну нахуй, какие сложности на ровном месте"
Дмитрий
всем привет, есть вопрос один. что могло тут пойти не так? fn append(&mut self, val: Box<Node<T>>) { unsafe { let mut next : *mut Option<Box<Node<T>>> = &mut self.next; while (*next).is_some() { next = &mut (*next).as_mut().unwrap().next; } *next = Some(val); } } хотел сделать односвязный список и проблема в том, что при добавлении первого числа всё ок. когда добавляем второе, оно перезаписывает первое и добавляется в конец, когда 3, то оно перезаписывает предпоследнее и добавляется в конец и так далее. я абсолютно не понимаю, где косяк.
Max
YOU ARE NOT SPECIAL
Дмитрий
согласен.
Дмитрий
нет, я посмотрел в стандартной библиотеке, как ее реализовывали.
Дмитрий
есть ссылка?
Дмитрий
буду очень благодарен.
Дмитрий
не так как я это делал.
Cat
должно быть здесь, но у меня не открывается cglab.ca/%7Eabeinges/blah/too-many-lists/book/
Дмитрий
но суть в том, что я не совсем понял, как они получают последний элемент.
Дмитрий
чтобы добавить в конец.
Дмитрий
есть у них метод push_back
Дмитрий
который добавляет к текущему ноду в конец.
Cat
и в чём проблема?
Cat
кажется это стандартный подход в листах anyway, сейчас найду другую ссылку
Cat
но суть в том, что я не совсем понял, как они получают последний элемент.
(в collections::LinkedList) ноду последнего элемента хранят прямо в структуре
Cat
для вставки в конец 1. создают новую ноду 2. используют push_back_node чтобы вставить её в конец: https://doc.rust-lang.org/src/alloc/linked_list.rs.html#190
Дмитрий
да, но почему такой способ выдёт подобный результат? я же просто нахожу последнюю ноду и кладу туда новое значение.
Дмитрий
снизу результат.
Дмитрий
просто не хотелось бы хранить ссылку на последний элемент.
Roma
снизу результат.
привет алёне
Дмитрий
и тебе привет.
Дмитрий
да, я так и делаю, но дело в том, что когда нахожу последний нод, который None и записываю в него значение, выходит такой результат.
Дмитрий
я думал, что что-то упустил.
Cat
я думал, что что-то упустил.
ставлю, что так и есть
Дмитрий
естественно.)
Дмитрий
всё бы было хорошо.
Дмитрий
ладно, спасибо.)
Cat
ладно, спасибо.)
ваша проблема не решается за 5 минут
Cat
хотя бы потому, что много unsafe кода
Дмитрий
да, я понимаю. ничего. ну 1 метод. я написал таким образом, чтобы убрать рекурсию. с рекурсией будет точно такая же история. просто отладка с помощью принтов - то еще удовольствие.
Cat
предлагаю выложить код на play.rust-lang.org
Cat
должно быть здесь, но у меня не открывается cglab.ca/%7Eabeinges/blah/too-many-lists/book/
т.к. в кэшах сайта не нашлось, можете собрать его сами https://github.com/rust-unofficial/too-many-lists
Cat
там же есть и полная реализация в несколько заходов
Дмитрий
господи. я нашёл ошибку.
Дмитрий
)
Дмитрий
вообщем, всё у меня было отлично. я ошибся в методе преобразования листа в строку.
Дмитрий
спасибо. можно пойти спать.)
Cat
вообщем, всё у меня было отлично. я ошибся в методе преобразования листа в строку.
to_string() не используется, т.к. есть интерфейс fmt::Debug и fmt::Display
Cat
они за вас вызовут нужный метод при println!("{}", list);
Денис
... а в какой момент в этом чате стали общаться на "вы"?....
Дмитрий
да, я ставил аннотация над структурой(если они так называются), видимо это осталось еще когда смотрел какой-то пример. спасибо за помощь.
Cat
... а в какой момент в этом чате стали общаться на "вы"?....
когда я почувствовал себя слишком токсичным
G72K
в Jave unsound type system, в с++ костыли
Вижу упоминания "sound type system", это какой то академический термин?
պլհկ
https://en.m.wikipedia.org/wiki/Soundness