#prog #rust #article
A formulation for scoped tasks in Rust
Или о том, почему асинхронный аналог thread::scope невозможен в текущем языке
A formulation for scoped tasks in Rust
Или о том, почему асинхронный аналог thread::scope невозможен в текущем языке
Tyler Mandry
A formulation for scoped tasks in Rust
For just about as long as I’ve been working on async Rust, the topic of scoped tasks has come up. These are async tasks that borrow from their environment, and they would come in handy in a lot of situations.
Last year the standard library stabilized thread::scope…
Last year the standard library stabilized thread::scope…
💩1
Блог*
Achievement get: Заработать мозоль на ладони, попытавшись открутить очень тугую пробку на бутылке 🙄
Снова, но на этот раз синяк
🤡5💩1
Forwarded from мне не нравится реальность
\/\/\/((.*)(?:[^\]][^:])|) [^\[`]\w+::
Love using regexes, they are very readable and easy to grasp ❤️💩4
Forwarded from Технологический Болт Генона
This media is not supported in your browser
VIEW IN TELEGRAM
Начинаем среду с полезной информации
🌚7😁5💩3
#politota
Роскомпозор утвердил список критериев пропаганды ЛГБТ. Что ж, ко мне они не применимы: если я, будучи бисексуалом, и создаю какой-то образ об ЛГБТ, то явно не положительный 🥴
Роскомпозор утвердил список критериев пропаганды ЛГБТ. Что ж, ко мне они не применимы: если я, будучи бисексуалом, и создаю какой-то образ об ЛГБТ, то явно не положительный 🥴
Telegram
ТАСС
Роскомнадзор утвердил критерии оценки материалов, содержащих пропаганду ЛГБТ.
Ресурсы будут включать в Единый реестр запрещенных сайтов Роскомнадзора за публикацию:
◾️информации, вызывающей интерес к нетрадиционным сексуальным отношениям;
◾️информации…
Ресурсы будут включать в Единый реестр запрещенных сайтов Роскомнадзора за публикацию:
◾️информации, вызывающей интерес к нетрадиционным сексуальным отношениям;
◾️информации…
😁10❤4💩2
Блог*
#politota Роскомпозор утвердил список критериев пропаганды ЛГБТ. Что ж, ко мне они не применимы: если я, будучи бисексуалом, и создаю какой-то образ об ЛГБТ, то явно не положительный 🥴
Ну а если серьёзно — это позор, конечно, как я уже и говорил. Особенно "радует" пункт:
> ◾️информации, направленной на формирование искаженного представления о социальной равноценности традиционных и нетрадиционных сексуальных отношений;
То есть высказываться об ЛГБТ даже нейтрально де-юре будет противозаконно. Мрази, а 😒
> ◾️информации, направленной на формирование искаженного представления о социальной равноценности традиционных и нетрадиционных сексуальных отношений;
То есть высказываться об ЛГБТ даже нейтрально де-юре будет противозаконно. Мрази, а 😒
🤮9💩5👍1
#prog #rust #rustreleasenotes
Вышла версия Rust 1.69.0! Как всегда, расскажу только о том, что интересует меня, а об остальном читайте в ченджлоге.
▪️Создание невыровненных ссылок на поля packed-структур наконец-то является ошибкой компиляции, которую нельзя подавить линтом.
▪️Так как изменение выше сломало некоторый (очень) старый код, derive-макросы теперь имеют меньше ограничений при использовании на packed типах.
▪️В union теперь можно использовать типы, определённые через ассоциированные типы трейтов. Даже странно, что раньше было нельзя.
▪️Методы трейтов не могут быть вызваны на dyn-объектах, если у них есть ограничения на Self. В принципе, это логично, поскольку апкаст до трейт-объекта стирает тип, и определить в рантайме, реализовывал ли изначальный тип трейт, нельзя. С другой стороны, auto-трейты не имеют никаких методов и потому не добавляют новых записей в vtable. Начиная с этой версии Rust, на трейт-объектах можно вызывать методы трейтов с баундами вида where Self: AutoTrait. При этом вызывать можно будет только для трейт-объектов, у которых через + эти auto-трейты указаны.
Иными словами, если
, то
▪️До релиза докатился фикс бага компилятора (&*).
▪️Поиск в rustdoc теперь ищет лишь макросы, если запрос оканчивается на !.
▪️Стабилизировали CStr::from_bytes_until_nul, который сам ищет первый nul-байт в переданном слайсе (и возвращает ошибку, если их нету вовсе).
▪️Cargo теперь по умолчанию собирает build-зависимости без отладочной информации, если они потом не используются для сборки итогового бинаря как runtime-зависимости. Автор провёл замеры и показал, что это действительно ускоряет компиляцию.
Вышла версия Rust 1.69.0! Как всегда, расскажу только о том, что интересует меня, а об остальном читайте в ченджлоге.
▪️Создание невыровненных ссылок на поля packed-структур наконец-то является ошибкой компиляции, которую нельзя подавить линтом.
▪️Так как изменение выше сломало некоторый (очень) старый код, derive-макросы теперь имеют меньше ограничений при использовании на packed типах.
▪️В union теперь можно использовать типы, определённые через ассоциированные типы трейтов. Даже странно, что раньше было нельзя.
▪️Методы трейтов не могут быть вызваны на dyn-объектах, если у них есть ограничения на Self. В принципе, это логично, поскольку апкаст до трейт-объекта стирает тип, и определить в рантайме, реализовывал ли изначальный тип трейт, нельзя. С другой стороны, auto-трейты не имеют никаких методов и потому не добавляют новых записей в vtable. Начиная с этой версии Rust, на трейт-объектах можно вызывать методы трейтов с баундами вида where Self: AutoTrait. При этом вызывать можно будет только для трейт-объектов, у которых через + эти auto-трейты указаны.
Иными словами, если
trait Trait {
fn foo(&self) where Self: Sync;
}, то
foo можно вызвать на dyn Trait + Sync, но нельзя на dyn Trait.▪️До релиза докатился фикс бага компилятора (&*).
▪️Поиск в rustdoc теперь ищет лишь макросы, если запрос оканчивается на !.
▪️Стабилизировали CStr::from_bytes_until_nul, который сам ищет первый nul-байт в переданном слайсе (и возвращает ошибку, если их нету вовсе).
▪️Cargo теперь по умолчанию собирает build-зависимости без отладочной информации, если они потом не используются для сборки итогового бинаря как runtime-зависимости. Автор провёл замеры и показал, что это действительно ускоряет компиляцию.
blog.rust-lang.org
Announcing Rust 1.69.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
👍12❤4💩1