#prog #cpp #article
Why safety profiles failed
TL;DR:
10 лет назад Страуструп и Ко представили идею safety profiles: набор стандартизированных статических анализаторов, которые бы увеличивали безопасность кода на C++, причём практически без изменений исходного кода, и которые можно было бы активировать одной командой компилятора. Идея оказалась настолько привлекательной, что комитет по C++ (WG21) принял несколько предложений касательно профилей.
Однако за 10 лет весь выхлоп от профилей весьма мал: криво работающий -Wlifetime и... Вроде бы всё. Даже спецификации какой-то за столько времени так и не сделали.
В своём тексте Sean Baxter, автор компилятора Circle, пишет о том, почему идея safety profiles не работает и, более того, в принципе не может работать.
Why safety profiles failed
TL;DR:
10 лет назад Страуструп и Ко представили идею safety profiles: набор стандартизированных статических анализаторов, которые бы увеличивали безопасность кода на C++, причём практически без изменений исходного кода, и которые можно было бы активировать одной командой компилятора. Идея оказалась настолько привлекательной, что комитет по C++ (WG21) принял несколько предложений касательно профилей.
Однако за 10 лет весь выхлоп от профилей весьма мал: криво работающий -Wlifetime и... Вроде бы всё. Даже спецификации какой-то за столько времени так и не сделали.
В своём тексте Sean Baxter, автор компилятора Circle, пишет о том, почему идея safety profiles не работает и, более того, в принципе не может работать.
👍2
#prog #rust хайлайты:
▪️Стабилизировали апкаст трейтов:
Больше никаких костылей с внедрением методов для апкаста в определения самих трейтов! Жаль, конечно, что только сейчас, по хорошему это ещё с первой версии должно было быть.
▪️Стабилизировали HashMap::get_many_mut (под именем
▪️Не столь существенно, как предыдущие варианты, но: стабилизировали Vec::pop_if. Не то чтобы прям остро необходимая вещь, но иногда полезная, и теперь позволяет обойтись без возни с unwrap.
▪️Стабилизировали апкаст трейтов:
trait Super {}
trait Sub: Super {}
fn upcast(x: &dyn Sub) -> &dyn Super {
x
}
Больше никаких костылей с внедрением методов для апкаста в определения самих трейтов! Жаль, конечно, что только сейчас, по хорошему это ещё с первой версии должно было быть.
▪️Стабилизировали HashMap::get_many_mut (под именем
get_disjoint_mut
). Итоговая версия возвращает массив опциональных ссылок, что, возможно, не совсем удобно для наиболее частого случая, но позволяет обработать ситуацию, когда найдена только часть нужных значений. Эта версия также паникует на одинаковых ключах. Чтобы избежать этого, можно воспользоваться unsafe вариантом get_disjoint_unchecked_mut
— не проверяет одинаковость ключей, но даёт UB, если предусловие не выполнено.▪️Не столь существенно, как предыдущие варианты, но: стабилизировали Vec::pop_if. Не то чтобы прям остро необходимая вещь, но иногда полезная, и теперь позволяет обойтись без возни с unwrap.
GitHub
Stabilize `feature(trait_upcasting)` by WaffleLapkin · Pull Request #134367 · rust-lang/rust
This feature was "done" for a while now, I think it's finally time to stabilize it! Stabilization report: #134367 (comment).
cc reference PR: rust-lang/reference#1622.
Clo...
cc reference PR: rust-lang/reference#1622.
Clo...
👍3❤1🤔1🤯1
Forwarded from Мемный Болт Генона
Linus Torvalds Would Reportedly Merge Rust Kernel Code Over Maintainer Objections
https://www.phoronix.com/news/Torvalds-Override-On-Rust-Code
Открытка @itpgchannel
https://www.phoronix.com/news/Torvalds-Override-On-Rust-Code
Открытка @itpgchannel
😁28👍3🥴2
Блог*
#game Slice&Dice (доступна на PC и на Android) — пошаговая тактическая боёвка, в которой способности всех действующих лиц являются гранями игральных кубиков. На мой вкус, игра — скрытая жемчужина. Она приятно выглядит, достаточно сложная, чтобы заставить…
IMG_20250219_213833_491.jpg
198.3 KB
❤2😁1😐1
#psy
Romantic Relationships Matter More to Men than to Women
We propose that relative to women: (a) men expect to obtain greater benefits from relationship formation and thus strive more strongly for a romantic partner, (b) men benefit more from romantic relationship involvement in terms of their mental and physical health, (c) men are less likely to initiate breakups, and (d) men suffer more from relationship dissolution.
С учётом того, что это мета-анализ более чем 50 предыдущих исследований, можно считать, что выводы достаточно надёжны. Надо отметить, что исследование касалось конкретно отношений в разнополых парах.
Romantic Relationships Matter More to Men than to Women
We propose that relative to women: (a) men expect to obtain greater benefits from relationship formation and thus strive more strongly for a romantic partner, (b) men benefit more from romantic relationship involvement in terms of their mental and physical health, (c) men are less likely to initiate breakups, and (d) men suffer more from relationship dissolution.
С учётом того, что это мета-анализ более чем 50 предыдущих исследований, можно считать, что выводы достаточно надёжны. Надо отметить, что исследование касалось конкретно отношений в разнополых парах.
Cambridge Core
Romantic Relationships Matter More to Men than to Women | Behavioral and Brain Sciences | Cambridge Core
🤷8❤6😢5👍2🤔1🌚1😐1
Блог*
#music Извините, я не буду ждать до 26 апреля. youtube.com/watch?v=C3KPlowsyJs
YouTube
I kissed a girl (but from the other girl's pov)
hello beautiful people!
this message is for all the weirdos who read the description box (aka people like me):
HAPPY NEW YEAR’S EVE!!
ugh i’m so glad to have finally posted a new cover for you guys! it’s been WAY too long, but i hope you all enjoy this…
this message is for all the weirdos who read the description box (aka people like me):
HAPPY NEW YEAR’S EVE!!
ugh i’m so glad to have finally posted a new cover for you guys! it’s been WAY too long, but i hope you all enjoy this…
Forwarded from Neural Machine
Мне так надоело быть милашкой, но мужчина должен это делать.
🫡11❤4😐3👍1🥰1