#prog #rust
Если вы делаете вклад в Rust и не меняете LLVM — не собирайте LLVM сами, а возьмите готовый из артефактов CI, это сэкономит вам кучу времени.
Если вы делаете вклад в Rust и не меняете LLVM — не собирайте LLVM сами, а возьмите готовый из артефактов CI, это сэкономит вам кучу времени.
GitHub
rust/config.toml.example at 001bd7762c9fc0d032b502b6a50ad67694c30b2c · rust-lang/rust
Empowering everyone to build reliable and efficient software. - rust-lang/rust
#prog #cpp
Статья-введение о папире, описывающем проблему с отложенным UB в LLVM (если коротко, то там есть два отличающихся варианта представления неопределённых значений и разные оптимизации не всегда согласованы между собой в том, как они трактуют семантику этих неопределённых значений) и предлагающем способ разрешить эти проблемы, не нанеся при этом существенного ущерба качеству генерируемого кода.
Статья-введение о папире, описывающем проблему с отложенным UB в LLVM (если коротко, то там есть два отличающихся варианта представления неопределённых значений и разные оптимизации не всегда согласованы между собой в том, как они трактуют семантику этих неопределённых значений) и предлагающем способ разрешить эти проблемы, не нанеся при этом существенного ущерба качеству генерируемого кода.
Forwarded from Shady Bytes
“Wow. In the
nytimes, a doctor explains why the CDC chose to de-emphasize the elderly, even though doing so would've saved lives:
"Older populations are whiter...Instead of giving add'l health benefits to those who already had them, we can start to level the playing field a bit"”. Расизм стал нормой. https://twitter.com/JCompson_III/status/1339814373121011712
nytimes, a doctor explains why the CDC chose to de-emphasize the elderly, even though doing so would've saved lives:
"Older populations are whiter...Instead of giving add'l health benefits to those who already had them, we can start to level the playing field a bit"”. Расизм стал нормой. https://twitter.com/JCompson_III/status/1339814373121011712
Shady Bytes
“Wow. In the nytimes, a doctor explains why the CDC chose to de-emphasize the elderly, even though doing so would've saved lives: "Older populations are whiter...Instead of giving add'l health benefits to those who already had them, we can start to level…
Статья, о которой идёт речь (спасибо, Тимур): https://www.nytimes.com/2020/12/05/health/covid-vaccine-first.html
Nytimes
The Elderly vs. Essential Workers: Who Should Get the Coronavirus Vaccine First? (Published 2020)
The C.D.C. will soon decide which group to recommend next, and the debate over the trade-offs is growing heated. Ultimately, states will determine whom to include.
#prog #go #rust
Очередная длиннющая статья от Амоса, показывающая преимущества сильных типов Rust и то, как они помогают предотвращать баги и больше выражать в коде, нежели чем в документациях. На этот раз грушами для битья выступают Go и Javascript.
Абзац из этой статьи даже стал цитатой недели в TWiR:
Engineering is not about "not doing mistakes". Engineering is about designing systems that ensure fewer mistakes occur.
Rust is such a system.
Очередная длиннющая статья от Амоса, показывающая преимущества сильных типов Rust и то, как они помогают предотвращать баги и больше выражать в коде, нежели чем в документациях. На этот раз грушами для битья выступают Go и Javascript.
Абзац из этой статьи даже стал цитатой недели в TWiR:
Engineering is not about "not doing mistakes". Engineering is about designing systems that ensure fewer mistakes occur.
Rust is such a system.
fasterthanli.me
Aiming for correctness with types
The Nature weekly journal of science was first published in 1869. And after one and a half century, it has finally completed one cycle of carcinization, by publishing an article about the Rust prog...
Forwarded from HN Best Comments
Re: Twitter cut off the ability to read a tweet by fet...
You can HTTP GET tweets again by changing your useragent to Googlebot.
curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +https://google.com/bot.html)" "https://twitter.com/zarfeblong/status/1339742840142872577"
Peak SEO when users are faced with more friction than Googlebots and crawlers.
nullify88, 19 hours ago
You can HTTP GET tweets again by changing your useragent to Googlebot.
curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +https://google.com/bot.html)" "https://twitter.com/zarfeblong/status/1339742840142872577"
Peak SEO when users are faced with more friction than Googlebots and crawlers.
nullify88, 19 hours ago
#prog #rust
Взгляните на этот код:
Кажется, он должен просто проверить равенство двух величин и потом дропнуть
...Всё ещё лучше C++.
Взгляните на этот код:
#[derive(PartialEq, Debug)]
struct A;
impl Drop for A {
fn drop(&mut self) {
println!("Dropping A");
}
}
fn main() {
let vec: Vec<A> = vec![];
let a = A;
assert_eq!(vec, [a; 0]);
}
Кажется, он должен просто проверить равенство двух величин и потом дропнуть
a
, напечатав Dropping A
. Так вот, этого не происходит, инициализатор массива нулевой длины попросту утекает. Да, это баг. Да, это регрессия между стабильными версиями....Всё ещё лучше C++.
GitHub
Initializing a zero-length array leaks the initializer · Issue #74836 · rust-lang/rust
This bug was reported on StackOverflow today. Filipe Rodrigues noticed that the initializer of a zero-length array is leaked: #[derive(PartialEq, Debug)] struct A; impl Drop for A { fn drop(&am...
#prog #rust
На чуть менее саркастичной ноте: в Rust1.50 1.51 будет стабилизирована
Ну и нормальное деление на NonZero* типы.
На чуть менее саркастичной ноте: в Rust
min_const_generics
! 🎉Ну и нормальное деление на NonZero* типы.
GitHub
stabilize `#![feature(min_const_generics)]` in 1.51 by lcnr · Pull Request #79135 · rust-lang/rust
A new Kind
A Sort long Prophesized
Once Fragile, now Eternal
Stabilization report
This is the stabilization report for #![feature(min_const_generics)] (tracking issue #74878), a subset of #![featur...
A Sort long Prophesized
Once Fragile, now Eternal
Stabilization report
This is the stabilization report for #![feature(min_const_generics)] (tracking issue #74878), a subset of #![featur...
#prog #rust
TL;DR: тык
Одним из аргументов, упоминаемых против Rust, является непривычный для мейнстримного программиста синтаксис. В частности, часто упоминается, чтожо ягодицы (есть ещё вариант, что этот человек — мужчина по имени Никита, обожающий Clojure, но это совсем особый случай).
Так вот, этот аргумент сейчас (ладно, три месяца назад) стал совершенно несостоятелен: один хороший человек, Roberto Vidal, запилил сайт, на котором можно вставить код на Rust, тыкнуть в (не)понятное место мышью и получить описание данного синтаксического элемента.
⚙️▶️ jrvidal.github.io/explaine.rs ◀️⚙️
P. S.: отчёт от автора о прогрессе за три месяца.
TL;DR: тык
Одним из аргументов, упоминаемых против Rust, является непривычный для мейнстримного программиста синтаксис. В частности, часто упоминается, что
#[]
и ..=
нельзя загуглить, из-за чего якобы сложнее понять код. Раньше у меня на это был ответ, что человек, который действительно хочет изучить язык, читает один раз растбук и всё понимает, в крайнем случае сверяясь по мере необходимости с Appendix B: Operators and symbols, а те, кто так говорят — либо позёры/хейтеры, которые и не собираются изучать Rust, или просто ленивые Так вот, этот аргумент сейчас (ладно, три месяца назад) стал совершенно несостоятелен: один хороший человек, Roberto Vidal, запилил сайт, на котором можно вставить код на Rust, тыкнуть в (не)понятное место мышью и получить описание данного синтаксического элемента.
⚙️▶️ jrvidal.github.io/explaine.rs ◀️⚙️
P. S.: отчёт от автора о прогрессе за три месяца.
Как же иногда хочется простого, человеческого
Finished release [optimized] target(s) in 12.59s
<илья as Человек>
Антона не поздравляю
В связи с недавними тенденциями предлагаю начать расшифровывать ПОНВ как "Пока Оптозоракс Не Видит"
#prog #rust
Статья о том, как достичь в Rust динамического полиморфизма без использования жирных указателей. Актуально, если вам нужно передавать объекты с динамической диспетчеризацией по FFI, поскольку нативные trait objects не являются типами, которые можно передавать через границу FFI.
Статья о том, как достичь в Rust динамического полиморфизма без использования жирных указателей. Актуально, если вам нужно передавать объекты с динамической диспетчеризацией по FFI, поскольку нативные trait objects не являются типами, которые можно передавать через границу FFI.
Michael-F-Bryan
FFI-Safe Polymorphism: Thin Trait Objects
A while ago someone posted a question on the Rust User Forums asking how to achieve polymorphism in a C API and while lots of good suggestions were made, I’d like to explore my take on things.
As a recap, Rust provides two mechanisms for letting you write…
As a recap, Rust provides two mechanisms for letting you write…
#prog #rust
Статья, рассказывающая о впечатлениях от Rust после года использования в продакшене. Содержит не только типичные восхваления (To quote a coworker: “NO DAMN NULL POINTERS” (emphasis theirs)), но и замечания о тех частях, которые нуждаются в улучшениях.
Статья, рассказывающая о впечатлениях от Rust после года использования в продакшене. Содержит не только типичные восхваления (To quote a coworker: “NO DAMN NULL POINTERS” (emphasis theirs)), но и замечания о тех частях, которые нуждаются в улучшениях.
deislabs.io
Still Rusting - One Year Later
The good, bad, and ugly of using Rust after a year
я: Вы с ума сошли по выходным работать?
xxx: ты ещё в офисе не ночевал
yyy: @insert_reference_here, не ведись...
yyy: Там ночью крысы большущие и чубакабры.
zzz: Вообще называть так своих программистов это нарушение code of conduct
#quotes #трудовыебудни
xxx: ты ещё в офисе не ночевал
yyy: @insert_reference_here, не ведись...
yyy: Там ночью крысы большущие и чубакабры.
zzz: Вообще называть так своих программистов это нарушение code of conduct
#quotes #трудовыебудни
Блог*
#prog #article Помните, я писал, что JSON отстой? Так вот, YAML не лучше.
Просто сборник информации о том, почему не стоит использовать YAML и о возможных альтернативах