#prog #cpp #article #suckassstory
Is path convertible to string_view?: a war story
<...>
Philosophical aside: It’s pretty weird that the static properties of types can change over the course of compilation; it kind of subverts the entire point of static typing.
Is path convertible to string_view?: a war story
<...>
Philosophical aside: It’s pretty weird that the static properties of types can change over the course of compilation; it kind of subverts the entire point of static typing.
Arthur O’Dwyer
Is path convertible to string_view?: a war story
This story comes from the libc++ review
implementing P1989 “Range constructor for std::string_view 2: Constrain Harder”
(Corentin Jabot, March 2021). That paper made std::string_view
implicitly convertible-from basically any contiguous range of characters.…
implementing P1989 “Range constructor for std::string_view 2: Constrain Harder”
(Corentin Jabot, March 2021). That paper made std::string_view
implicitly convertible-from basically any contiguous range of characters.…
😁1💩1
#prog #rust #article
Build faster with Buck2: Our open source build system
(если вы в РФ, то понадобится VPN)
* Buck2, our new open source, large-scale build system, is now available on GitHub.
* Buck2 is an extensible and performant build system written in Rust and designed to make your build experience faster and more efficient.
* In our internal tests at Meta, we observed that Buck2 completed builds 2x as fast as Buck1.
Build faster with Buck2: Our open source build system
(если вы в РФ, то понадобится VPN)
* Buck2, our new open source, large-scale build system, is now available on GitHub.
* Buck2 is an extensible and performant build system written in Rust and designed to make your build experience faster and more efficient.
* In our internal tests at Meta, we observed that Buck2 completed builds 2x as fast as Buck1.
Engineering at Meta
Build faster with Buck2: Our open source build system
Buck2, our new open source, large-scale build system, is now available on GitHub. Buck2 is an extensible and performant build system written in Rust and designed to make your build experience faste…
🔥4💩1
Forwarded from реверберирующие нейроны
Как готовиться к отпуску (дома после работы).
1. Отдохните.
2. Порыкивайте.
3. Двигайте телом так, будто вы уже в отпуске.
4. Чувствуйте себя счастливым.
5. Улыбайтесь, скоро отпуск.
6. Многозначительно встаньте и ложитесь обратно.
7. Скажите: "Эххх, отпуск скоро!"
1. Отдохните.
2. Порыкивайте.
3. Двигайте телом так, будто вы уже в отпуске.
4. Чувствуйте себя счастливым.
5. Улыбайтесь, скоро отпуск.
6. Многозначительно встаньте и ложитесь обратно.
7. Скажите: "Эххх, отпуск скоро!"
❤7💩2😁1
⚡️ Эмодзи-наживка
Британские социологи установили, что пользователи Telegram склонны считать посты с эмодзи молнии настоящими новостями вне зависимости от того, на каком канале они опубликованы
Британские социологи установили, что пользователи Telegram склонны считать посты с эмодзи молнии настоящими новостями вне зависимости от того, на каком канале они опубликованы
🔥16😁6🤡3🤔2💩1
Блог*
#prog #article YAGNI exceptions (перевод) I'm essentially a believer in You Aren't Gonna Need It — the principle that you should add features to your software — including generality and abstraction — when it becomes clear that you need them, and not before.…
simonwillison.net
PAGNIs: Probably Are Gonna Need Its
Luke Page has a great post up with his list of YAGNI exceptions. YAGNI—You Ain’t Gonna Need It—is a rule that says you shouldn’t add a feature just because it …
💩1
Кстати, а в Protocol buffers есть менее всратый способ определить набор опций, чем repeated enum?
😁6💩1
Forwarded from Саламандра. Сдвиг окна Овертона (Яна Ике 🔥 (огонёк одобряем))
- Если вам придёт повестка, вы пойдёте на мобилизацию?
- Если у меня возникнут суицидальные наклонности, я решу их другим образом
- Если у меня возникнут суицидальные наклонности, я решу их другим образом
👍20🤔2💩1
Forwarded from Хреногубка
Оцените отрывок из постановления Верховного Суда РФ по делу N-795/2022. Оказывается, что фотография ветерана с надписью «они сражались ради мира» искажает истинные цели и задачи российской армии 🤡 Полнейшее безумие. Тем не менее это хорошая иллюстрация современного «правосудия».
🤡19💔3
#prog #rust
Диагностики о нереализованых бинарных операциях стали полезнее — теперь они указывают на то, почему именно они не реализованы.
github.com/rust-lang/rust/pull/110877
Диагностики о нереализованых бинарных операциях стали полезнее — теперь они указывают на то, почему именно они не реализованы.
github.com/rust-lang/rust/pull/110877
GitHub
Provide better type hints when a type doesn't support a binary operator by compiler-errors · Pull Request #110877 · rust-lang/rust
For example, when checking whether vec![A] == vec![A] holds, we first evaluate the LHS's ty, then probe for any PartialEq implementations for that. If none is found, we report an error by evalu...
#prog #rust
Если некоторое выражение протайпчекано, то для тайпчека его составляющей достаточно взять результаты тайпчека и выделить нужную часть. Посему хранить результаты тайпчека имеет смысл только у выражений самого верхнего уровня. Логично? Логично. Однако до этого PR rustc хранил результаты тайпчека для всего, дублируя информацию ненужным образом. Внесение этого изменения не только ускорило компиляцию, но и резко снизило объём инкрементального кеша на диске. Что интересно, изменить потребовалось всего одну строчку.
github.com/rust-lang/rust/pull/111026
Если некоторое выражение протайпчекано, то для тайпчека его составляющей достаточно взять результаты тайпчека и выделить нужную часть. Посему хранить результаты тайпчека имеет смысл только у выражений самого верхнего уровня. Логично? Логично. Однако до этого PR rustc хранил результаты тайпчека для всего, дублируя информацию ненужным образом. Внесение этого изменения не только ускорило компиляцию, но и резко снизило объём инкрементального кеша на диске. Что интересно, изменить потребовалось всего одну строчку.
github.com/rust-lang/rust/pull/111026
GitHub
Only cache typeck results if it's the typeck root by compiler-errors · Pull Request #111026 · rust-lang/rust
context: https://rust-lang.zulipchat.com/#narrow/stream/241847-t-compiler.2Fwg-incr-comp/topic/incr_comp_query_cache_promotion.20taking.20forever
Basically, typeck children just copy the typeck res...
Basically, typeck children just copy the typeck res...
🔥16🎉6🤔2
#prog #rust
Improve niche placement by trying two strategies and picking the better result
Ровно то, что написано на упаковке. Из приятного в добавленных тестах:
То есть причин использовать библиотеки вроде beef стало немного меньше.
Improve niche placement by trying two strategies and picking the better result
Ровно то, что написано на упаковке. Из приятного в добавленных тестах:
assert_eq!(size_of::<Cow<'static, str>>(), size_of::<String>());
То есть причин использовать библиотеки вроде beef стало немного меньше.
GitHub
Improve niche placement by trying two strategies and picking the better result by the8472 · Pull Request #108106 · rust-lang/rust
Fixes #104807
Fixes #105371
Determining which sort order is better requires calculating the struct size (so we can calculate the niche offset). But that in turn depends on the field order, so happe...
Fixes #105371
Determining which sort order is better requires calculating the struct size (so we can calculate the niche offset). But that in turn depends on the field order, so happe...
👍3
Блог*
#prog #rust Если некоторое выражение протайпчекано, то для тайпчека его составляющей достаточно взять результаты тайпчека и выделить нужную часть. Посему хранить результаты тайпчека имеет смысл только у выражений самого верхнего уровня. Логично? Логично.…
Ну серьёзно. В первичных бенчмарках в топе улучшений serde-derive, cargo и clap
🔥7