Vladimir
в случае From я сделал так
зачем тебе from для String
Vladimir
ну Into тоже
Vladimir
вообще тебе поидее дисплей надо
Sergey
работаю со стороковыми значениями
Sergey
в паре мест
Vladimir
как именно работаешь
Vladimir
не нужно с ними работать
Vladimir
плез
Sergey
от клиента приходит в 3 форматах значение из xml, json, formdata
Sergey
их нужно провалидировать и создать
Sergey
и при этом в xml неправильный стейт обрабатывается по своему (((
Sergey
а в базе хранится в int
Sergey
переписываю небольшой сервис апи на раст
Sergey
забавно так
Vladimir
https://doc.rust-lang.org/std/str/trait.FromStr.html
Sergey
а если у меня String ?
Sergey
или это вместо From<&str> ?
Vladimir
Ну а для вывода, скорее всего всётаки дисплей
Vladimir
а если у меня String ?
как ты в коде будешь юзать?
Vladimir
скорее всего .into()
Vladimir
или .parse
Vladimir
В общем у String есть Deref<Target = str>
Sergey
как ты в коде будешь юзать?
функция парсинга уже есть
Vladimir
он неявно конвертнется в строку
Vladimir
если метод будет
Sherzod
как избежать дублирования кода
Ты не пробовал Cow<T>
Sergey
Ты не пробовал Cow<T>
стараюсь избегать его где возможно
Sergey
ну для строк можно и без такого
Vladimir
да не нужен ему он
Sergey
Ты не пробовал Cow<T>
не хочу при работе с простыми строками юзать ещё больше методов чтобы анврапить значение
Sherzod
Я у себя в либе использовал AsRef<str>
Vladimir
короче реализуй Display и FromStr
Vladimir
а в коде уже строка должна быть приведена к общему
Vladimir
например к &str
Vladimir
на верхнем уровне можешь сделать AsRef<str>
Vladimir
да не за что, обычно если тебе не нужно модифицировать строку, то лучше всего работать с слайсом
Vladimir
а не с объектом строки
Loo
https://github.com/matthiasbeyer/toml-query
Loo
https://github.com/Xudong-Huang/may_signal
Loo
https://github.com/RazrFalcon/cargo-bloat
Loo
https://github.com/rustodon/rustodon
doc
А что это такое?
Vladimir
Vladimir
А что это такое?
Подборка топа от арсена
Vladimir
Наверное предложения на основе предпочтений
Marat
А есть для карго плагин который показывает дублирующиеся крейты с разными версиями?
Vladimir
ну есть cargo tree который просто зависимости показывает
Ivan
may - не очень
Ivan
https://github.com/Xudong-Huang/may/issues/6
Marat
ну есть cargo tree который просто зависимости показывает
Ну это не то все же. Просто было бы удобно взять и заменить некоторые зависимости на звёздочку, чтобы лишнее не тащить без необходимости
doc
Что такое растодон я не понял
Vladimir
may - не очень
то треад локал не очень
Ivan
thread_local - это только частный случай
Ivan
попытки проворачивать чёрную магию с подменой стека и перетаскиванием одной задачи на другой поток без ведома компилятора - это не очень хорошо
Ivan
да, это может работать
Ivan
но это не безопасно
Vladimir
го как-то живет с этим
Vladimir
что значит без ведома компилятора? Ему то какое дело
Ivan
в го компилятор не может делать хрень, ломающую корутины
Vladimir
а в расте компилятор может делать такую хрень?
Vladimir
проблема всего одна, растовый маркер Send/Sync для обычных потоков существует
Vladimir
а должен в контексте корутин
Ivan
https://github.com/zonyitoo/coio-rs/issues/56
Ivan
вот тут лучше проблема объяснена
Vladimir
ну так там название
Vladimir
" не совместима с стд либой"
Vladimir
тут не причем компилятор
Ivan
ну так там название
попробуй почитать дальше названия =)
Ivan
проблема в том, что LLVM может делать некоторые оптимизации на основании того, что у тебя поток не может внезапно смениться посреди выполнения кода
Ivan
thread_local - одна из проблем
Ivan
есть ли другие - лично я хз, но возможно есть