TGViewer
Channel Public Channel
Блог*

Блог*

@dereference_pointer_there

Блог со звёздочкой.

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

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Subscribers
1.98K
Photos
4K
Videos
157
Links
4.1K

Showing posts older than #10331 · Back to latest

Older Posts 20 shown
Post #10330 972
#justrustaceanthings

Source
  • 😢 11
  • ❤ 8
  • 😁 7
Post #10329 1.07K
#prog #rust #rustreleasenotes

Вышла версия Rust 1.91.0! Как всегда, тут только избранные части, всё остальное — в детальных заметках о релизе.

Если бы этот релиз можно было описать одним словом, то это было бы слово "полировка": релиз скорее про улучшение уже существующих фич и стабилизацию старых, давно бывших в nightly, чем про добавление чего-то действительно нового.

▪️Компилятор теперь не даёт компилировать код с суффиксами на индексах для кортежей и кортежных структур. Это было разрешено ранее по недосмотру.

▪️Добавили предупреждение на создание повисших указателей на локальные переменные. Сама по себе эта операция не является небезопасной, но на таком указателе определено очень мало осмысленных операций. Пример (из PR):

fn f() -> *const u8 {
let x = 0;
&x // returns a dangling ptr to `x`
}

⬇️

warning: a dangling pointer will be produced because the local variable x will be dropped
--> src/lib.rs:3:5
|
1 | fn f() -> *const u8 {
| --------- return type of the function is *const u8
2 | let x = 0;
| - x is part the function and will be dropped at the end of the function
3 | &x // returns a dangling ptr to x
| ^^
|
= note: pointers do not have a lifetime; after returning, the u8 will be deallocated at the end of the function because nothing is referencing it as far as the type system is concerned
= note: #[warn(dangling_pointers_from_locals)] on by default

Анализ достаточно умный, чтобы понимать поток управления и цепочки кастов (примеры в тестах в PR).

▪️Компилятор теперь не выдаёт предупреждение о мёртвом коде на as-касты из выражений типа never. Да, это действительно мёртвый код, но в некоторых ситуациях подобные касты были нужны (главным образом для todo!() в функциях, возвращающих impl Trait).

▪️Уровень поддержки для Windows с нативным ABI на ARM (aarch64-pc-windows-msvc) подняли до Tier 1.

▪️Парочка дополнений насчёт потоков: попытка установки минимального размера стека теперь возвращает ошибку при невозможности это сделать вместо паники. Сообщение о панике теперь включает в себя ID потока, в котором её начали.

▪️Задокументировали разумное предположение о Clone и PartialEq/Eq, на которое опирается стандартная библиотека (главным образом коллекции): копия значения, полученная путём вызова .clone(), должна быть равна исходному значению (при условии, что исходное значение равно самому себе).

▪️Ещё одно дополнение к документации (и соответствующий фикс): функции {min, max, minmax}_by из std::cmp передают сравниваемые значения в функцию-компаратор в том же порядке, в котором они передаются в саму функцию.

▪️Стабилизировали громадное количество функций:
🔸 Path::file_prefix для извлечения порции имени файла до расширения. В отличие от существующей Path::file_stem, отрезает все расширения, а не только последнее:

assert_eq!("foo", Path::new("foo.tar.gz").file_prefix().unwrap());
assert_eq!("foo.tar", Path::new("foo.tar.gz").file_stem().unwrap());


🔸Несколько методов для модификации AtomicPtr.
🔸strict_*-методы на примитивных числах, которые паникуют при переполнении вне зависимости от профиля компиляции, включая методы для операций с различной знаковостью.
🔸uN::checked_signed_diff для вычисления знаковой разницы беззнаковых чисел.
🔸array::repeat (в отличие от встроенного синтаксиса, работает не только с Copy-типами).
🔸Duration::from_mins и Duration::from_hours.
🔸BTreeMap::extract_if и BTreeSet::extract_if для ленивого вытаскивания из коллекций значений, удовлетворяющих предикату.
🔸str::ceil_char_boundary и str::floor_char_boundary.

▪️const TypeId::of 🎉🎉🎉

▪️У cargo теперь есть настройка для указывания того, куда складывать промежуточные артефакты компиляции.

▪️Для ключа --target в cargo теперь можно указывать значение host-tuple, которое будет заменено на target tuple для платформы, на которой проходит компиляция.
blog.rust-lang.org Announcing Rust 1.91.0 | Rust Blog Empowering everyone to build reliable and efficient software.
  • 😢 16
  • 👍 5
  • ❤ 4
  • 🎉 3
Post #10327 976
#meme про собеседования
  • 😁 16
  • 😢 16
  • 🌚 3
Post #10322 1.02K
Провёл второй ваншот в жизни
  • 😢 15
  • 🎉 13
  • 🤮 2
  • 💩 2
  • 🤡 1
Post #10321 1.09K

Forwarded from Техножрица 👩‍💻👩‍🏫👩‍🔧

Сижу себе спокойно, пишу ревью на препринты, поданные на ICLR 2026... как вдруг один из них внезапно приоткрывает предо мною настоящую бездну в виде блок-схемы на рис. 1 (в статье это тоже Fig.1).

Как вам такой пайплайн, друзья? Рекомендую вглядеться в картинку повнимательнее, особенно в правую её часть. Через какое-то время вглядывания вам начнет казаться, что картинка тоже в вас вглядывается - механическими глазами диффузионного генератора. #генерация
  • 😢 18
  • 😁 10
  • 🍌 6
  • 🤯 4
  • 🤩 1
Post #10320 1.16K
Блог* Word of the day: GARAMA!
#meme #моё
  • 😢 11
  • 😁 6
Post #10319 1.44K
#video

Вы когда-нибудь видели, как зевает лягушка?

youtu.be/iNU5UmIsw38

these frogs are really unique because they aren’t like frogs in many ways. For one they can’t swim and will drown if you put them in deep water. Second, they don’t have tadpole babies, but instead hatch mini baby frogs. And third they cannot hop, but they crawl fast if they wanted to.
YouTube Good Morning, Potato Fairy! Do you know Common Rain Frog? https://en.wikipedia.org/wiki/Breviceps_adspersus Music:Le Coquin Song by Bob Hart https://artlist.io/song/97319/le-coquin
  • 😢 12
  • 🥰 8
  • ❤ 1
Post #10318 1.09K
#prog #article

Why SSA?

If you’ve read anything about compilers in the last two decades or so, you have almost certainly heard of SSA compilers, a popular architecture featured in many optimizing compilers<...>

SSA is actually very simple once you forget everything you think your programs are actually doing. We will develop the concept of SSA form, a simple SSA IR, prove facts about it, and design some optimizations on it.

Содержит кусочки теории графов.
  • 😢 19
  • 👍 4
Post #10317 1.18K
Femboys are the best for you and your family
  • 😢 15
  • 👌 10
  • 👍 4
  • 🤡 2
Post #10316 1.1K
#ml #meme
  • 💩 27
  • 😢 15
  • 🤡 5
  • 💯 4
  • 😁 3
  • 👍 1
Post #10315 1.09K
#prog #python #meme
  • ❤ 24
  • 😢 18
  • 👍 6
  • 💯 3
  • 🤔 1
Post #10314 1.27K
#go #meme
  • 😁 49
  • 😢 20
  • 🤔 8
Post #10313 1.1K
Блог* Папищек подсказал про #prog квиз по email-адресам: e-mail.wtf Я набрал 15/21 (thanks @bushes_in_my_mind)
#prog квиз по YAML

ohyaml.wtf
  • 😢 14
  • 🌚 5
  • 👍 2
Post #10312 1.05K
Linker Unsafe Тут народ подсказывает, что в Котлине есть нехилая такая дыра в типобезопасности: https://twitter.com/kotlin/status/1276083456854941697
#prog #kotlin

Говорят, что в Kotlin таки будет деструктуризация по именам. Даже какое-то шевеление в трекере есть.

Всё ещё не отвечает на вопрос, почему только сейчас.
Medium Kotlin 2.4 Introduces Name-based Destructuring: Stop Guessing Which Variable Goes Where Good news, Kotlin fans! The upcoming name-based destructuring feature is coming to Kotlin 2.4, and it’s going to save us from that…
  • 😢 11
  • 🤣 4
  • ❤ 2
  • 🤔 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →