Ещё одно классное:
А основная причина скорее всего всё та-же: некорректный код в диагностике неправильных аргументов функции.
(|_, ()| ())([return, ()]);
На этот раз аж ICE (internal compiler error)!А основная причина скорее всего всё та-же: некорректный код в диагностике неправильных аргументов функции.
Для тех, кто не знаком с синтаксисом раста, объясняю что за бред я вообще писал.
Далее я это замыкание сразу же вызываю со странными аргументами.
В обоих случаях передаётся только один аргумент из двух, что ломает компилятор из-за бага в коде который анализирует и показывает ошибку про несоответствие аргументов.
Если написать такое:
|_, ()| () — это замыкание, с двуми аргументами. аргументы это паттерны, _ игнорирует аргумент, () матчит по единственному значению юнит типа. () в конце это возврат юнита из замыкания.Далее я это замыкание сразу же вызываю со странными аргументами.
while true {} — обычный while цикл. в расте он является выражением (типа (), юнит) поэтому его можно передать как первый аргумент (и как любой другой на самом деле).[return, ()] — массив из двух элементов, return и (). () это всё ещё юнит, а return "имеет тип" ! который приводится к любому типу. так можно потому что после return код очевидно не выполняется и не важно какие там типы, переменные и т.д.В обоих случаях передаётся только один аргумент из двух, что ломает компилятор из-за бага в коде который анализирует и показывает ошибку про несоответствие аргументов.
Если написать такое:
(|_, ()| ())(while true {}, ());
(|_, ()| ())([return, ()], ());
То код просто напросто скомпилируется.Оцените прошедший день
Final Results
18%
+2 (прекрасно)
30%
+1
23%
0 (нейтрально)
11%
-1
19%
-2 (ужасно)
Forwarded from ozkriff.games 🦀 (ozkriff🇺🇦)
# lib.rs Version Pages Now Link to Git Commits
When you publish a crate, Cargo makes a note of its git repository commit hash and includes it in the crates-io crate tarball. A few days ago Kornel announced that lib.rs started exposing this information, nice!
Also, check out https://lib.rs/stats if you haven't seen it yet, it has a bunch of cool graphs.
When you publish a crate, Cargo makes a note of its git repository commit hash and includes it in the crates-io crate tarball. A few days ago Kornel announced that lib.rs started exposing this information, nice!
Also, check out https://lib.rs/stats if you haven't seen it yet, it has a bunch of cool graphs.
никто:
абсолютно никто:
вафель: *пол часа рассказывает как нашёл баг в rustc*
абсолютно никто:
вафель: *пол часа рассказывает как нашёл баг в rustc*
Оцените прошедший день
Final Results
12%
+2 (прекрасно)
15%
+1
34%
0 (нейтрально)
14%
-1
25%
-2 (ужасно)
Оцените прошедший день
Final Results
15%
+2 (прекрасно)
25%
+1
29%
0 (нейтрально)
12%
-1
19%
-2 (ужасно)
Оцените прошедший день
Final Results
15%
+2 (прекрасно)
25%
+1
28%
0 (нейтрально)
5%
-1
28%
-2 (ужасно)
Я обновил свой первый блог пост! Добавил заметки про Java, Scala и Swift.
(Пере)читать можно у меня в блоге:
https://ihatereality.space/01-why-null-sucks/
(Пере)читать можно у меня в блоге:
https://ihatereality.space/01-why-null-sucks/
ihatereality.space
Why null sucks, even if it's checked
We all know that `null` is a "billion-dollar mistake", that it creates a lot of easy ways to make terrible mistakes. But it's only so bad when it's not checked by anyone and the compiler doesn't force you to check it, right? Well, the title might be a spoiler…
Оцените прошедший день
Final Results
19%
+2 (прекрасно)
23%
+1
23%
0 (нейтрально)
13%
-1
23%
-2 (ужасно)
ДОБРОЕ УТРО
сегодня меня разбудила эта птица, залетевшая через приоткрытое окно
(мы её уже выпустили, всё в порядке)
сегодня меня разбудила эта птица, залетевшая через приоткрытое окно
(мы её уже выпустили, всё в порядке)