mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

9.7K
active users

#cargo

23 posts14 participants5 posts today

Wolna sobota, nie?

No cóż, poza standardową robotą (paczki Pythona, stabilizacje, nowy snapshot LLVM, usuwanie nieaktywnych devów), większość dnia spędziłem nad #PyCargoEbuild.

Pierwszą część spędziłem debugując błędne twierdzenia o rzekomej niewydajności tarfile. Wyniknął z tego natomiast taki pozytyw, że okazało się, że `tarfile.open(..., "w|xz")` cichaczem ignoruje poziom kompresji — więc wysłałem łatkę to poprawiającą.

github.com/python/cpython/pull

Potem dokończyłem i włączyłem łatkę, dzięki której pycargoebuild umie automatycznie dodać flagi USE w oparciu o `features` w `Cargo.toml`. Nie wiem, jak bardzo to użyteczne, ale jak komuś się może przydać, to jest (opcja `--features`).

Dodałem też wsparcie dla prehistorycznej wersji formatu `Cargo.lock`, która nie zawiera w sobie żadnego numeru wersji, i ma obrzydliwy sposób przechowywania sum kontrolnych.

Miałem też poeksperymentować z deduplikacją plików pomiędzy implementacjami Pythona, ale zabrakło czasu.

bugs.gentoo.org/954762

Free Saturday, right?

So aside from the usual pending work (Python bumps, stabilizations, LLVM bumps, retirements), I've spent most of the day working on #PyCargoEbuild.

The first part was spent on debugging mistaken claims about supposed tarfile inefficiency. One positive thing that came out of that is that I've discovered that `tarfile.open(..., "w|xz")` silently ignores compression level — so I've made a PR to fix that.

github.com/python/cpython/pull

Then I've finished and merged the pull request adding support for automatically adding USE flags based on features in Cargo.toml. Not sure how useful it will turn out, but it's there (`--features` option) for anyone who needs it.

I've also added support for some prehistoric `Cargo.lock` format that doesn't use `version` key, but features an awful method of storing checksums in metadata.

I was supposed to experiment with deduplicating files across Python implementations but no time for that.

bugs.gentoo.org/954762

Dodawaj asserty na rzeczy oczywiste, żeby odkryć, że nie spełnia ich pierwsza z brzegu paczka. Tak na przykład, najwyraźniej całkowicie normalne w świecie #RustLang jest, żeby #Cargo.toml wymieniało jako domyślne ("default") funkcje ("features"), które nie istnieją.

who doesn't love bacon? ( github.com/Canop/bacon ) this is a great tool for autotesting and other cargo interaction on save but today I learned to make my own commands:

(in bacon.toml):

[jobs.fmt-test]
command = ["just", "fmt", "test"]
need_stdout = true

then (re) start bacon: `bacon fmt-test` and 💥 cargo fmt followed by my tests autorunning on every save. `just` is optional here, but I like using it to compose commands anyway, and it was simpler to add that instead of cargo in my case.

Как работает Cargo

Привет, Хабр! На дворе 2025, и у каждого языка свой подход к сборке, зависимостям и публикации. В Rust за это отвечает Cargo — инструмент, который берёт на себя всё: от менеджмента зависимостей до тестов, бенчмарков и выкладки на crates.io . И вот это мы и рассмотрим в статье: как устроен Cargo изнутри, зачем нужен Cargo.toml , как подключать зависимости, куда падают артефакты сборки, что делает cargo check , как запускать и бенчмаркать, и как наконец создать свой крейт на crates.io .

habr.com/ru/companies/otus/art

ХабрКак работает CargoПривет, Хабр! На дворе 2025, и у каждого языка свой подход к сборке, зависимостям и публикации. В Rust за это отвечает Cargo  — инструмент, который берёт на себя...