#prog #rust #video
В проекте Rust for Linux используется свой собственный вариант Arc. Подробнее о том, почему не используется Arc из std, рассказывается в докладе Arc in the Linux Kernel от Alice Ryhl (серьёзно, на это есть вполне валидные причины). Одно из последствий подобного решения — через собственный Arc нельзя производить unsize coercion и вызов методов на трейт-объектах. В Rust есть трейты, через которое можно настраивать данное поведение (CoerceUnsized и DispatchFromDyn), но они нестабильны — главным образом потому, что их поведение может поменяться. Невозможность реализации этих трейтов на стабильной версии является заметной эргономической проблемой для кастомных указателей.
Для решения этой задачи в Rust недавно предложили
В проекте Rust for Linux используется свой собственный вариант Arc. Подробнее о том, почему не используется Arc из std, рассказывается в докладе Arc in the Linux Kernel от Alice Ryhl (серьёзно, на это есть вполне валидные причины). Одно из последствий подобного решения — через собственный Arc нельзя производить unsize coercion и вызов методов на трейт-объектах. В Rust есть трейты, через которое можно настраивать данное поведение (CoerceUnsized и DispatchFromDyn), но они нестабильны — главным образом потому, что их поведение может поменяться. Невозможность реализации этих трейтов на стабильной версии является заметной эргономической проблемой для кастомных указателей.
Для решения этой задачи в Rust недавно предложили
#[derive(SmartPointer)], который будет стабильным и позволит использовать реализации этих трейтов на стальной версии. Разумеется, это не покрывает всех юзкейсов, но всё же позволит решить насущную проблему. И совсем недавно это предложение было принято к реализации.Rust-For-Linux
Rust for Linux
Adding support for the Rust language to the Linux kernel
🔥7💩1🌚1
Forwarded from ReadMe.txt (Ilya Klishin)
Однажды барона Дельвига, друга Пушкина и первого издателя «Литературной газеты» вызвал к себе начальник III отделения граф Бенкендорф. Не стесняясь в выражениях, он принялся выговаривать Дельвигу за помещение в газете одной либеральной статьи. Дельвиг, со свойственной ему невозмутимостью, спокойно ответил, что статья эта цензурой пропущена, и посему на основании закона отвечать должен цензор, а не издатель.
На это замечание Бенкендорф пришел в ярость: «Законы у нас пишутся для подчиненных, а не для начальства, и вы не имеете права в объяснениях со мною ими оправдываться и на них ссылаться».
На это замечание Бенкендорф пришел в ярость: «Законы у нас пишутся для подчиненных, а не для начальства, и вы не имеете права в объяснениях со мною ими оправдываться и на них ссылаться».
😁17🥴4😢2
Forwarded from Awful Rust snippets for fun and profit
match match is legal and can be occasionally useful- playground
- real-world example from rust-analyzer
- people even do if if sometimes
thanks to @LennyLizowzskiy for suggesting this!
🤯10👍3😭3🥰1🤮1
#prog #rust #rustasync #article
How to configure CPU cores to be used in a Tokio application with core_affinity
TL;DR: крейт core_affinity позволяет пинить текущий тред к конкретному ядру, а у билдера рантайма tokio есть метод on_thread_start, который позволяет установить хук, исполняемый при старте воркер-треда рантайма.
How to configure CPU cores to be used in a Tokio application with core_affinity
TL;DR: крейт core_affinity позволяет пинить текущий тред к конкретному ядру, а у билдера рантайма tokio есть метод on_thread_start, который позволяет установить хук, исполняемый при старте воркер-треда рантайма.
Forwarded from Neural Machine
Характер моей личной вселенной говорит мне, что я один и останусь один.
😢9😁3❤2
Удивительно, что за столько лет развития программирования и железа у нас до сих пор нет средства видеосвязи, которое бы всегда нормально работало
🤣18😢5
Forwarded from /g/‘s Tech Memes (ᅠ ᅠ)
c/c++ - memory safety is a skill issue
zig - memory safety is a skill issue
rust - is a skill issue
zig - memory safety is a skill issue
rust - is a skill issue
😁17👍2🥰2🤡2🤬1🌚1