Size: a a a

2020 May 26
Блог*
#prog #rust #бомбёжкипост
источник
Блог*
Имплементируешь нестабильный трейт из стд для своего типа
@
Его изменили 11 дней назад
@
У тебя старый найтли компилятор и ты имплементировал старую версию
@
В CI НОВЫЙ КОМПИЛЯТОР И CI ВАЛИТСЯ
источник
2020 May 27
Блог*
Если бы Рик Эстли писал бы Never gonna give you up в наши дни, то в ней, вероятно, была бы строчка "Never gonna send dickpic"
источник
2020 May 28
Блог*
#prog #rust #article

Офигенная статья о заблуждениях касательно лайфтаймов. Очень хорошее подспорье новичкам. Как пишет автор в своём первом посте:

While learning Rust I was struggling with certain concepts so I tried to organize my thoughts by writing them down in markdown files and well... I soon had several markdown files. I thought "Maybe I should start a blog?" but then I realized "I probably shouldn't, my posts will never be as good as anything written on Rust by Niko Matsakis, Saoirse Shipwreckt, Huon Wilson, David Tolnay, Alexis Beingessner, Daniel Keep, Carl Fredrik Samson, Aleksey Kladov, Amos Wegner, Pascal Hertleif, Dimitri Sabadie, Daniel Henry-Mantilla, Steve Klabnik, Jake Goulding, or Carol Nichols". That list isn't even exhaustive, there's easily dozens of people I left out! There's lots of super smart folk who are already writing about Rust. However, I have one unique advantage that none of those people have: I'm dumb. Super smart people tend to write super smart articles that only other super smart people understand. There's a gap in the market for us dummies, and it's that gap I intend to fill with my writing.

Советую приглядывать за этим блогом, это явно что-то многообещающее.

github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
источник
Блог*
#prog

Есть искусство. Есть современное искусство. А есть ну совсем современное искусство: сайт, который исчезнет, если на нём в течение суток не будут размещать ни одного сообщения.
источник
Блог*
источник
Блог*
#prog #cpp #article

Разбор устройства и процесса запуска простейшей программы на C++. В шоу выступают секции бинарника, скрипты компоновщика, запускатели программ и легаси, а также ещё много всего.

На самом деле, весьма познавательное чтиво.

oneraynyday.github.io/dev/2020/05/03/Analyzing-The-Simplest-C++-Program/
источник
Блог*
#blog #art #gamedev

Кстати, написано частично на расте с компиляцией в WASM
источник
Блог*
🌀⭐️ orb.farm ⭐️🌀

виртуальный аквариум со своей экосистемой: водорослями, дафниями, бактериями и, конечно, золотыми рыбками

автор: Макс Битткер
источник
Блог*
На вопросы "а что с блогом стало" буду теперь отсылать на этот пост.

(thanks @aftertime)
источник
Блог*
Стало интересно собрать статистику по Cloud & SaaS. Кто и что использует на работе или просто для себя. На текущем месте работы, а так же и на прошлом.

Даже если вы с этими вещами не работаете (в силу специализации), но знаете, что есть в вашей фирме используется - попрошу вас ответить :)

Результаты выложу на след неделе, думаю за 3-4 дня будет собрано достаточно ответов. Репост приветствуется, или хотя бы ссылку на опрос киньте покидайте другим.

https://forms.gle/v4wppXeC1thfHJ4J9

Спасибо.
источник
2020 May 29
Блог*
#prog

Восхитительно. Просто, чёрт побери, восхитительно.

https://twitter.com/wouldntfix/status/1265954470673989632
источник
Блог*
#prog #web

Хозяйке на заметку: как делать скриншоты в Firefox, включая скриншоты отдельных элементов с разрешением, отличным от экранного

developer.mozilla.org/en-US/docs/Tools/Taking_screenshots
источник
Блог*
dereference_pointer_there
#prog

Челлендж закончился, и что же Leetcode предлагает теперь? Вы не поверите — ещё один месячный челлендж.
С другой стороны, мне мероприятие понравилось, так что в майском варианте я также буду участвовать. Тем более что теперь я смогу решать все задачи в тот же день, что они появились, и таким образом получить шанс на выигрыш призов.

https://leetcode.com/explore/challenge/card/may-leetcoding-challenge/
#prog

Вы будете смеяться, но... Да, вы правильно догадались.

leetcode.com/discuss/general-discussion/655704/leetcode-polo-shirt-june-leetcoding-challenge
источник
Блог*
dereference_pointer_there
Ради чего вы подписаны на канал?
Анонимный опрос
15%
Мемы
24%
Типострадания на расте
22%
Разбор теоретических концепций (вроде аффинных типов)
16%
Ссылки на (научно-) популярные статьи
18%
Ссылки на статьи по CS
4%
Рекомендации видеоигр
2%
Другое (в @decltype_chat_ptr_t)
Проголосовало: 819
Всем новоподписавшимся предлагаю пройти опрос
источник
2020 May 30
Блог*
C++20 has has me me seeing seeing double double

#prog #cpp
twitter.com/slurpsmadrips/status/1266080792012140545
источник
2020 May 31
Блог*
dereference_pointer_there
C++20 has has me me seeing seeing double double

#prog #cpp
twitter.com/slurpsmadrips/status/1266080792012140545
#prog #cpp

И это не бессмыслица, как может показаться с первого взгляда.

Что означает noexcept(noexcept(iter.dereference()))? Это одинаковые имена для разных вещей.

Первое использование noexcept  — это noexcept specifier, который является частью типа функции (но не участвует в перегрузке, т. е. две функции не могут отличаться только этим) и описывает, бросает ли функция исключения. Если исключение должно покинуть noexcept функцию, вместо этого вызывается std::terminate, что обычно означает завершение работы программы. После ключевого слова noexcept в скобках может стоять константное булево выражение. В этом случае то, является ли функция не-бросающей-исключения, зависит от того, во что это выражение вычисляется. Это полезно, если функция шаблонная и она пробрасывает исключения из внешних функций.

Второе использование noexcept — это noexcept operator. Он применяется к выражению в скобках и возвращает, является ли выражение noexcept (в смысле спецификации noexcept). Этот оператор можно использовать везде, где требуется выражение булевого типа, но чаще всего он используется вкупе с noexcept specifier. Таким образом, сложив  два и два, получаем, что noexcept(noexcept(iter.dereference())) означает, что функция dereference не бросает исключения только в том случае, если метод iterator_type::dereference не бросает исключения.

Что же за история с requires requires? Тут ситуация похожая, но несколько более сложная.

Первое употребление requires относится к require clause. Это, гм... Спецификатор? ...Который принимает константное булево выражение и запрещает инстанцирование шаблона, если выражение вычисляется в false. Это фича предназначается для раннего отсечения неправильного использования шаблонов, раньше, чем инстанцирование будет сделано до конца. Принципиально эта фича, строго говоря, не добавляет нового функционала, поскольку подобные проверки можно было делать и раньше с использованием идиомы SFINAE (тот же std::enable_if), но использование requires приводит к куда более ранним диагностикам и, как следствие, более понятным сообщениям об ошибках.

Второе употребление requires относится к requires expression. Это оператор, который применяется к, гм, "requirement-seq" (это кусок синтаксиса с грамматикой, отличающейся от грамматики C++) и отвечает на вопрос, является код после него well-formed — т. е. компилируется ли он вообще. Как и оператор noexcept, этот оператор может быть использован всюду, где ожидается булево выражение. В итоге мы получаем, что requires requires { iter.dereference(); } означает "эта специализация шаблона определена только тогда, когда на переменной iter можно вызвать метод dereference (и это не приведёт к ошибке компиляции)".

Дополнительное чтение: вопрос на Stack Overflow про requires requires.
источник
Блог*
dereference_pointer_there
C++20 has has me me seeing seeing double double

#prog #cpp
twitter.com/slurpsmadrips/status/1266080792012140545
Лучшая реакция (моего знакомого) на этот твит: "Да-да".

А ещё, пока я писал этот пост, на канале появился 333 подписчик, ура!
(Почему я не писал про это тогда, когда подписчиков было действительно 333? Потому что в число этих подписчиков вхожу и я сам)
источник
Блог*
⬇️ шутка про borrow checker
источник
Блог*
Железный человек сражается со злейшим врагом - ржавчиной.
источник