1.84K subscribers
3.27K photos
130 videos
15 files
3.55K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
👍18😁14🌚1
#prog #rust #article

Breaking semver in Rust by adding a private type, or by adding an import

A few days ago, I started polls on Mastodon and Twitter whether adding a new private type, or an import, can ever be a major breaking change. The consensus was that this should be impossible.

I agree with that. It should be impossible.

I've discovered a way to cause a previously-public type or function to disappear from a crate's public API by making innocuous-seeming changes like adding a private type or adding an import, etc. It is not a hypothetical problem, either — I've found at least one real-world Rust project that has been affected by it.
🤯4💩2
Forwarded from shitposting 3.0 [+ dragons]
😁111
Forwarded from Neural Machine
Интернет вредит людям.
👍17
😁16😐6👎4
Forwarded from Один шаг до самиздата
🔥17👍5😁4🤣1
Forwarded from Neural Machine
Каждый день ты сутулишься, перестань
👌17👍31
🥰142
Блог*
Photo
Там, кстати, рядом круглосуточный секс-шоп и... Военкомат
🎉9🌚5🤔4
піймав
👍5🥰3
Блог*
#prog #rust #rustlib Кому-то в расточате требовались параметризованные тесты. Так вот, такая библиотека есть. crates.io/crates/test-case
#prog #rust #rustlib

rstestuses procedural macros to help you on writing fixtures and table-based tests.

Поддерживает:
* параметризованные тесты
- с возможностью шарить тест-кейсы между функциями
- с возможностью задавать значение строками для типов, реализующих FromStr
* фикстуры, использующие другие фикстуры
* асинхронные тесты
- нативная интеграция только с async-std, но можно использовать тест-атрибуты из других библиотек
* таймауты на тесты целиком
- включая асинхронные
* фикстуры, которые вычисляются только один раз и потом используются для всех тестов с передачей по ссылке

Также значения для аргумента можно задавать списком в самом определении функции. В этом случае будут сгенерированы тесты для декартового произведения всех списков значений аргументов. В README есть наглядный пример, который тут, к сожалению, смотрелся бы крайне неудобно.
👍8👎1
#prog #rust #rustlib

mock_instant — библиотека для мгновенного создания моков моканья std::time::Instant, причём независимо для каждого потока. Разумеется, не патчит std, а потому на зависимости не влияет.