Блог* – Telegram
1.9K subscribers
3.46K photos
135 videos
15 files
3.7K links
Блог со звёздочкой.

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

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
error: cannot construct `HashMap<_, _, _>` with struct literal syntax due to private fields
--> $DIR/suggest-box-new.rs:16:13
|
LL | let _ = std::collections::HashMap {};
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: ... and other private field `base` that was not provided
help: you might have meant to use an associated function to build this type
|
LL | let _ = std::collections::HashMap::new();
| ~~~~~~~
LL | let _ = std::collections::HashMap::with_capacity(_);
| ~~~~~~~~~~~~~~~~~~
LL | let _ = std::collections::HashMap::with_hasher(_);
| ~~~~~~~~~~~~~~~~
LL | let _ = std::collections::HashMap::with_capacity_and_hasher(_, _);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
help: consider using the `Default` trait
|
LL | let _ = <std::collections::HashMap as std::default::Default>::default();
| +

Изменение важно также и тем, что помогает новичкам узнавать о доступных конструкторах без ручного чтения документации.

▪️В fmt исправлен баг с некорректным округлением при использовании экспоненциальной нотации.

▪️В Clippy внесли несколько новых линтов. Отмечу только парочку:
🔸Вы знали, что один и тот же тип не может реализовывать одновременно Borrow<str>, Borrow<[u8]> и Hash? Теперь знаете. А новый линт impl_hash_borrow_with_str_and_bytes объяснит почему: str и [u8] хешируются по разному.
🔸Path::join замещает путь целиком, если добавляемый путь является абсолютным. Это документированное, но неочевидное поведение. Линт join_absolute_paths предупреждает о случаях, когда это происходит безусловно — почти наверняка это не то, чего хочет программист.
5👍2
#prog

Отдельное изменение в стандартной библиотеке #rust заслуживает отдельного упоминания — не потому, что оно затрагивает многих пользователей, но потому, что изменение может привести к трудно диагностируемым ошибкам. Именно, после этого PR методы strong_count и weak_count на Arc и sync::Weak загружают соответствующие счётчики с порядком Relaxed вместо Acquire. Если вы использовали эти методы в каком-то сложном lockless коде, то вам может понадобиться вставить Acquire memory fence.

На всякий случай: если вы просто хотите получить уникальную ссылку на содержимое Arc, то вам лучше использовать методы Arc::get_mut и Arc::make_mut. Код вида

if Arc::strong_count(&arc_ptr) == 1 {
let ptr = unsafe { &mut *(Arc::as_ptr(&arc_ptr) as *mut _) };
// ...
}

практически никогда не является верным из-за возможных гонок.
👍3
Немного сексисткий #meme
1
Forwarded from Meme Trap (10satka)
❤‍🔥13🤡6🥰1
Блог* pinned «#prog #rust Апкаст трейтов стабилизировали буквально вчера! Из наиболее насущного вопроса: да, апкаст сырого указателя на dyn Trait с невалидной vtable является UB.»
Forwarded from Segment@tion fault
Если ваша работа кажется вам бесполезной, вспомните что кто-то собирает пакеты cargo и rustc для Debian.
👎16👍4🤔3👌1
Forwarded from dev optozorax
У меня появился новый товарищ
9🥰3🎉1
Блог*
#video Anime Rock Paper Scissors (thanks @ffarnn) А как посмотрите — предлагаю посмотреть видео о том, как это создавалось.
#video

ANIME ROCK, PAPER, SCISSORS 2

Впечатляет, отчасти из-за увеличенного хронометража, отчасти из-за того, что удалось создать убедительные молодые версии персонажей, сыгранных теми же взрослыми актёрами.
Но в некоторых аспектах это скорее шаг назад: именно, анимация рта серьёзно пострадала. Во многих сценах рот говорящего человека не шевелится, а в парочке сцен с крупным планом AI сделал персонажу два ряда зубов.

Ну и, конечно, видео о создании.
Наиболее практичное применение #ml
Forwarded from Бэкдор
This media is not supported in your browser
VIEW IN TELEGRAM
Максимальный киберпанк: на базе нейронки Runway запустили телевидение. Это бесконечный стрим рандомных нейророликов и трейлеров, будто из параллельных вселенных.

Если смотрели «Рик и Морти» и помните Межвселенское ТВ — это оно. Залипать тут.

@whackdoor
🔥6
#prog #rust #rustlib

copypasta — библиотека для кроссплатформерной работы с буфером обмена
7
#prog #rust #rustlib

cargo-debstatus — инструмент для оценки того, насколько проект пригоден к опакечиванию в Debian.

cargo-deb — инструмент для собственно проведения этой операции.

cargo-dist — инструмент для автоматизации публикации новых релизов, с возможностью автоматически генерировать скрипты для релиза артефактов для CI:

For instance, enabling GitHub CI with cargo dist init will generate release.yml, which implements the full pipeline of plan, build, host, publish, announce:

🔹Plan
🔸Waits for you to push a git tag for a new version (v1.0.0, my-app-v1.0.0, my-app/1.0.0, ...)
🔸Selects what apps in your workspace to announce new releases for based on that tag
🔸Generates a machine-readable manifest with changelogs and build plans
🔹Build
🔸Spins up machines for each platform you support
🔸Builds your binaries and tarballs
🔸Builds installers for your binaries
🔹Publish:
🔸Uploads to package managers
🔹Host + Announce:
🔸Creates (or edits) a GitHub Release
🔸Uploads build artifacts to the Release
🔸Adds relevant release notes from your RELEASES/CHANGELOG
👍3🔥1
#prog #rust #serde #article

Faster Rust Serialization

Или несколько советов о том, как делать меньше лишней работы при сериализации с использованием serde.
👍4👎1
Forwarded from Neural Machine
Бойтесь жить в одиночестве или вместе с людьми
👍3😁2🤮2😱1
Forwarded from Д їде дахом
🤣22👍81
Нечасто мне снится, что я кого-то целую.

Тем более мальчика.
🤮22❤‍🔥12🌚7🥰3🤔1
Хочу ходить в таких брюках и говорить "потрогай траву"
🍌18🤮5👍1
#meme философский