Forwarded from На хую vercheniye 🇮🇱🇺🇦
This media is not supported in your browser
VIEW IN TELEGRAM
h/t @hayork
😁26👍4🔥2🤨2🌚1
#prog #rust #rustreleasenotes
Вышла версия Rust 1.76.0... Почти месяц назад. В свою защиту могу сказать, что изменения довольно минорные и потому релиз не обязывает к апдейту. Как обычно, тут только отдельные моменты, целиком в release notes.
▪️Единственная существенная вещь: исправлены ошибки при работе с unsized
▪️Задокументированы гарантии насчёт совместимости по ABI. Они были и раньше, просто теперь записаны.
▪️
▪️Исправлен старый баг с некорректным округлением чисел при форматировании в научной нотации с ограниченным числом десятичных знаков после запятой.
▪️Опция
▪️
▪️Реализации
▪️Как я уже писал,
▪️Пачка новых API:
🔸Option::inspect,
🔸
🔸type_name_of_val
🔸
🔸ptr::addr_eq — потому что сравнение указателей вместе с метаданными почти всегда не то, что нужно
🔸
Вышла версия Rust 1.76.0... Почти месяц назад. В свою защиту могу сказать, что изменения довольно минорные и потому релиз не обязывает к апдейту. Как обычно, тут только отдельные моменты, целиком в release notes.
▪️Единственная существенная вещь: исправлены ошибки при работе с unsized
#[repr(packed(N))]
структурами, где N > 1. Именно — неправильный расчёт смещения до unsized поля и неправильный подсчёт размера и выравнивания в рантайме.▪️Задокументированы гарантии насчёт совместимости по ABI. Они были и раньше, просто теперь записаны.
▪️
dbg!
теперь печатает и колонку места расположения▪️Исправлен старый баг с некорректным округлением чисел при форматировании в научной нотации с ограниченным числом десятичных знаков после запятой.
▪️Опция
create
на File
теперь работает корректно со скрытыми файлами на Windows вместо того, чтобы тихо падать.▪️
Vec::from_iter
теперь переиспользует аллокацию с ещё несколькими итераторами, которые оборачивают vec::IntoIter
.▪️Реализации
Debug
для RwLockReadGuard
и RwLockWriteGuard
теперь не требуют Sized
на типе внутри лока.▪️Как я уже писал,
IMPLIED_BOUNDS_ENTAILMENT
теперь является ошибкой компиляции.▪️Пачка новых API:
🔸Option::inspect,
Result::{
inspect, inspect_err}
(с семантикой, аналогичной Iterator::inspect
)🔸
{Arc, Rc}::
unwrap_or_clone🔸type_name_of_val
🔸
ptr::{
from_ref, from_mut}
. Имеет смысл по тем же причинам, почему вместо as
-кастов на числах используются from
/into
.🔸ptr::addr_eq — потому что сравнение указателей вместе с метаданными почти всегда не то, что нужно
🔸
std::hash::{DefaultHasher, RandomState}
. Строго говоря, не новое API, но раньше это было доступно только через std::collections::hash_map
.blog.rust-lang.org
Announcing Rust 1.76.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
👍8❤1
Самые тяжёлые проблемы в программировании:
* наименование сущностей
* инвалидация кеша
* ошибка на единицу
Самые тяжёлые проблемы в программировании у меня:
* логические выражения
* наименование сущностей
* инвалидация кеша
* ошибка на единицу
Самые тяжёлые проблемы в программировании у меня:
* логические выражения
😁16
Блог*
Самые тяжёлые проблемы в программировании: * наименование сущностей * инвалидация кеша * ошибка на единицу Самые тяжёлые проблемы в программировании у меня: * логические выражения
Я серьёзно. Сегодня две ошибки нашёл на работе. Первая связана с тем, что логическое отрицание поставлено не туда, куда надо. Вторая — что диагностическое выражение не в той ветке if-а. Первую сделал я, ко второй я приложил руку (сделал предложение на code review, принятое без изменений).
Два (значения bool) — это слишком много.
Два (значения bool) — это слишком много.
👌7🤔2🤡1
Forwarded from lolihokage's gallery (loli hokage)
This media is not supported in your browser
VIEW IN TELEGRAM
отправляю каждой девочке лучи любви
мои звёздочки
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮7❤🔥5👍1🥰1🤡1
lolihokage's gallery
Telegram
Ijon Tichy in Чат* ([не]большое [не] хорни [экстремисткое] комьюнити)
А если не хотите, не будьте сильными и не сияйте, только вам решать.
👍1
#prog #article
Encapsulation Is Not Free
TLDR: When you stick an explicit interface between two things, it may reduce the friction of changing the implementation but always at the cost of adding friction whenever you change the interface
Encapsulation Is Not Free
TLDR: When you stick an explicit interface between two things, it may reduce the friction of changing the implementation but always at the cost of adding friction whenever you change the interface
Jesseduffield
Encapsulation Is Not Free
TLDR: When you stick an explicit interface between two things, it may reduce the friction of changing the implementation but always at the cost of adding friction whenever you change the interface
👍3