Sergey
так он перемещаться будет
Sergey
два раза echo(bar) не вызывать
Sergey
по ссылке
Денис
но у тебя into перемещает же объект
Pavel
дак, T и String у тебя как бы разные по своей природе объекты
պլհկ
передавай str
Денис
у него сигнатура into(S), а не into(&S)
պլհկ
зачем тебе вообще String
Sergey
պլհկ
пример того как делать не надо
Sergey
😄
պլհկ
идиоматично имплементить Display
պլհկ
to_string() заимплементится автоматически
Денис
https://play.rust-lang.org/?gist=bab032e596f33d7fbc2e741bf9b933ba&version=stable
Денис
пользуйся
Sergey
Pavel
ну даже если момент идиоматичности не принимать в счет, у тебя по сути производится новый тип, и в бОльшем кол-ве случаев - это будет выделение определенного сегмента памяти и размещение его там, так что в любом случае это выделение какого-то ресурса
Sergey
спасибо
Денис
echo("lol"); тоже будет работать
Денис
не за что)
kitsu
Что нынче модно юзать для тг ботов?
kitsu
а что, есть те, что не на токио?
Денис
я кстати не видел имплементаций, которые бы использовали не лонг-поллы
Денис
но я вообще их не много видел)
Loo
Alexander
Вопрос утренний: https://play.rust-lang.org/?gist=0614471109232d41c7e20906a145f927&version=nightly
Alexander
ошибка говорит о том, что тип не тот, видимо ссылка нужна, но что именно не так понять не могу.
Aleksey
там не должно быть self.0.take(2)...?
Alexander
семён семёныч! спасибо.
Aleksey
хотя там дальше на Debug ругается
Alexander
ага, это наверное второй вопрос :)
Alexander
хотя кажется компилятор почти написал как поправить
Aleksey
ага, это наверное второй вопрос :)
https://play.rust-lang.org/?gist=0f12b161131dd6172cf72df2261bf759&version=nightly
не уверен, правильно ли так
еще пришлось ссылку убрать
Victor
ну тогда все значения будут уничтожены после print() очень сомневаюсь что автор хотел такого )
Alexander
ага, у меня тоже самое получилось, но да, принтом убивать не то :)
Alexander
клонировать тоже не огонь :(
Alexander
всё заработало.
Alexander
by_ref() , мне в irc подсаказали. или по идее можно into_iter сделать. хотя последнее что-то не получилось.
Aleksey
тогда &mut self надо?
Alexander
ага, вот тоже не нравится.
Alexander
мда: https://play.rust-lang.org/?gist=37b993b3d702e2610c0e5a0026e0977f&version=nightly
Alexander
не просто распечатать вектор оказывается, надо много чего изучить ещё.
Anonymous
А как сделать глобальную mutable переменную, чтоб отовсюду ее изменять было можно?
Filipp
https://video.twimg.com/tweet_video/DXnBGfVXkAAJLZx.mp4
Filipp
Примерно так
Filipp
Но вообще погугли global mutable state
Anton
Вроде через ансейф можно было
Anton
Но лучше так не делать
Anton
https://stackoverflow.com/questions/19605132/is-it-possible-to-use-global-variables-in-rust
Anonymous
Спасибо, я перейду на си, раз в расте настолько сложно тупо глобальную переменную сделать
պլհկ
Ок
Артем
Они не нужны более чем везде, поэтому никто и не задумывался, что бы их вообще можно было делать.
Anonymous
видимо, rust больше поможет для библиотек с функциями и без состояния, которую потом можно будет использовать через си-обертку
Anton
Так суть не в состоянии
Артем
Ну как минимум Rust стремится быть функциональным, и как максимум глобальные переменные уже признаны вселенским злом.
Anton
Суть в том, чтобы данные только в виде дерева вызовов передавать по стеку туда-обратно
Anton
Функции-то все глобальные
Anton
И раст очень даже императивен
Anton
Evgεny
Толсто тут
kosc
А где потоньше?
Andrey
Andrey
и из-за эмоционального всплеска не понимаешь, что выводы необъективны
Anonymous
Anonymous
без сегфолтов, глобальных переменных и мемори-ликов, объективно крутые библиотеки получатся
Артем
Глобальные объекты это порождение тех кто не может жить без глобальных переменных
Артем
То есть тоже зло, но иногда имеет право на жизнь, как goto
Anonymous
а можно пример хотя бы одной программы без глобальных переменных? Не библиотеки, а программы
Anonymous
Andrey
Anonymous
любая программа с классами?
а... То есть если я буду хранить свои глобальные переменные в глобальном классе - это уже не зло?
պլհկ