Vladimir
ну
Vladimir
эт круто да)
Vladimir
интересно сколько процентов стабильных крейтов
Маjко
И вызвают, так сказать, СОМНЕНИЯ, крейты, который уже стабильные с двумя версиями в истории)
Vladimir
+ такие которые не ломали своё апи чаще чем раз в 3 месяца например
Michael
та ладно, версия это утилитарная вещь
версия имидж ничто, ху..к ... ху..к патч, и счастливого апдейта в проде)
Маjко
По этому и приходится держать Cargo.lock в гите, чтобы внезапно не огрести толпу конфликтов, когда зависимости твоих зависимостей срут на принятый семвер.
Vladimir
ну для либ не принято держать ток файлы
Маjко
Вообще это реально проблема: в офф доке, в том числе у клабника, семвер стандартный, а по факту свой
Маjко
По этому винить авторов крейтов сложно
Vladimir
жиза
Маjко
ну для либ не принято держать ток файлы
В либах принято указывать точные версии, включая патч. Но так делают не все
Vladimir
а еще проблема то что семвер не чекается
Vladimir
хех
Vladimir
это же сервер, зачем указывать патч?
Маjко
Потому что об этом нигде не написано и такой принцип можно вывести только набив шишек самому
Vladimir
точнее патч то принято, но вот так ^
Маjко
это же сервер, зачем указывать патч?
Потому что семвер у нас немножко не такой
Vladimir
а это значит карго на него болт забьет
Маjко
Карго вроде и так забьет, если его не прописывать и указать только мажор с минором
Маjко
Но это не точно
Vladimir
ну так то понятно, но даже если пропишешь то он на него забьет
Маjко
Забавно
Vladimir
version = "1.0.0" == version = "^1.0.0" означает не ломающие версии выше 1.0.0
Маjко
Логично, в общем-то
Vladimir
логично, кто ж спорит)
Vladimir
но патч смысл указывать особо нету
Маjко
но патч смысл указывать особо нету
Гарантия того что левая зависимость не сломает твою либу?
Vladimir
так, еще раз
Маjко
Если указать полную версию без ^, то карго будет юзать конкретную версию
Маjко
100%
Vladimir
нет
Маjко
Да
Vladimir
полную версию, по дефолту тоже что ^
Маjко
Нет
Vladimir
чтобы точно версию указать нужно указывать version = "=1.0.1"
Vladimir
к примеру
Vladimir
явно равно
Маjко
Оно может так должно быть
Маjко
Но по факту не так
Маjко
Проверено в процессе разруливания ситуации с тремя версиями hyper в cargo tree
Маjко
Все просто с разными patch number
Vladimir
хз, может конечно с 0. версиями я и не прав
Vladimir
ведь оно ж 0.X.Y. считает в этом случае X - мажорной Y - минорной
Vladimir
а патч вообще не считает
Маjко
Хотя судя по доке crate semver
Маjко
Я не прав
Vladimir
но вроде по сервер он имеет право выкачать зависимость с апдейтом Фили, разве нет?
Маjко
Перепроверять лень, пока что признаю, что я что-то возможно путаю)
Маjко
Если еще раз наткнусь — кину
Vladimir
из карги ^0.2.3 := >=0.2.3 <0.3.0
Vladimir
значит может
Vladimir
The string "0.1.12" is a semver version requirement. Since this string does not have any operators in it, it is interpreted the same way as if we had specified "^0.1.12", which is called a caret requirement
Маjко
Да, я это тож видел. Возможно где-то гипер был заимпорчен с =
Маjко
Это не проверял
Vladimir
Возможно, во что слабо верится
Vladimir
мне кажется фичу = юзает где-то крейта 4 во вселенной
Vladimir
(но это не точно)
Vladimir
интересно еслиб на том контексте растовом
Vladimir
где нужно было написать код который выглядит нормально, но при этом содержит эксплоит, предоставить эту фишку с неправильным трактованном семвер от карго
Vladimir
Они бы поменяли свою философию?
Vladimir
https://github.com/rust-lang/rust/issues/44928 вмержили рфц по нелексическим вж
Маjко
где нужно было написать код который выглядит нормально, но при этом содержит эксплоит, предоставить эту фишку с неправильным трактованном семвер от карго
КМК, трудно что-то поменять, что зависит не только от них самих без впиливания в карго принудительного детектора правильного использования семвера
Маjко
Они то и сейчас официально придерживаются официального семвера
Vladimir
только от эксплоита это особо не спасет, кстати
Маjко
Что ты имеешь в виду?
Маjко
слишком сложно сложно непонятна
https://github.com/rust-lang/rfcs/issues/271
Маjко
Хорошо, что тролли на том же ЛОРе не знают таких тонкостей, которые знают растоводы. А то было бы трудно отвечать на нападки по существу
Loo
Любителям SFINAE и обобщённых библиотек Ranges тоже принесут счастье, так как они определяют огромное количество концептов: Sortable, Movable, Copyable, DefaultConstructible, Same…
Loo
На шаг ближе к С++20. Итоги встречи в Торонто https://habrahabr.ru/post/336264/
Loo
Хмм -_-
Маjко
Товарищи, как вы смотрите на то, чтобы стартануть краудфандинг со стикерами раста, мозиллы и ферриса (клац-клац)? Если поставить гоал в 3к баксов, то это будет выгоднее, чем отдельно заказывать в магазинах + стоимость доставки. Примерно по полтора бакса за стикер Взяли бы?
Loyd
Ну, то есть всю stl переписать надо
Loyd
А то у меня только маленький стикер с логотипом с одного митапа
Маjко
Надо посчитать сколько будет стоить доставка за один стикер и стоимость штуки с тиражом в 500 штук. Я еще хочу добавить переводные стикеры, которые прям на поверхность наносятся, но боюсь, что чем больше вариантов — тем меньше тираж каждого
Маjко
А надо бы уложиться в стоимость меньше $2.5 (стоимость обычного стикера на unixstickers)