| 1.1, Аноним (1), 13:51, 17/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Раст настолько неинтересен, что приходится несколько несвязанных новостей мерджить в одну, чтоб хоть как-то заинтересовать.
| | |
| |
| |
| 3.5, Аноним (2), 14:02, 17/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> А будет UNREACHABLE
Не будет, а может быть. Зависит от компилятора. Но суть ясна.
| | |
| |
| 4.24, Аноним (24), 14:37, 17/04/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
Т.е эта та самая "переносимость", которой постоянно хвастаются?
Ну типа "у нас переносимый ассемблер", "у нас 100500 платформ и компиляторов" и так далее.
Что больше похоже на маркетинговую замануху.
Интересно, весьма интересно получается.
| | |
|
| 3.9, Аноним (9), 14:07, 17/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
А все фанаты Rust пишут такой заведомо бессмысленный код? Если да, то неудивительно, почему боров так часто бьет их по рукам.
| | |
| 3.14, Аноним (12), 14:18, 17/04/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Если бы я был вместо компилятора, я бы вообще заменил выкинул весь этот бред и заменил на int main(){}. А все дальнейшие вопросы к тому кто написал такой бред.
| | |
| |
| 4.40, Аноним (40), 15:05, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Языки программирования, особенно низкоуровневые, должны быть устроены по принципу what you see is what you get. Не обязательно настолько буквально, как это пытается делать Zig, но у тебя должна быть возможность просто глядя на код дедуктивно прийти к пониманию его поведения (вне зависимости от трансформаций, которые с ним сделают оптимизации компилятора) - и должна быть возможность понять поведение кода используя только local reasoning. Если написал пустой бесконечный цикл, значит должен случиться бессмысленный прогрев вселенной, потому что это ровно то, о чем ты попросил и тут нельзя ничего соптимизировать, т.к. оптимизации не должны менять поведение, а ожидаемое поведение - прогрев вселенной. Если ты читаешь код на совершенно стандартном подмножестве языка, безо всяких всяких указаний here be dragons (unsafe) и получаешь какую-то чушь в качестве результата, это не особо хорошо, скажем фигурально, ни для разума, ни для психики.
| | |
|
| 3.33, Аноним (1), 14:57, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
ХЗ с чего ты это взял, но у меня просто запустился бесконечный цикл. Собирал gcc.
| | |
| |
| 4.38, eugener (ok), 15:02, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
ИИ мне уже разъяснил:
--- цитата ---
Тот самый «UNREACHABLE» — это визитная карточка Clang (до версии 11).
Его логика была доведена до абсолюта:
Цикл while(1){} без побочных эффектов — это UB.
Компилятор оптимизирует код, исходя из того, что UB не существует.
Раз это UB, значит, этот участок кода недостижим (unreachable) или просто удаляется.
Clang удалял тело функции loop(), и она становилась «пустой» в бинарном коде. В некоторых случаях выполнение просто «проваливалось» (fallthrough) в следующую по порядку функцию в памяти, которой оказывалась foo().
--- конец цитаты ---
gcc такой фигнёй не страдал.
| | |
|
|
| 2.3, Аноним (3), 13:59, 17/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
"настолько неинтересен" что ты прибежал первым написать об этом.
Это же классическое "мне настолько по**й, что я не могу об этом молчать!!" 😂
Тут скорее мало кому интересен какой-то Mir отдельной новостью.
Да и местных kлованов горела пятая точка, когда новостей было много.
| | |
| 2.8, Аноним (12), 14:04, 17/04/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Раст это наступившее настоящее, пора бы уже это признать! Ничего скоро стадия отрицания закончится;)
| | |
| 2.10, Соль земли2 (?), 14:09, 17/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если тебе неинтересен Rust, то зачем ты пишешь сюда? Высказать своё бесполезное мнение?
| | |
|
| 1.4, Аноним (4), 14:01, 17/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
>возможность указания выражений "if let" внутри блоков "match" для создания условных сопоставлений по шаблону
Как же плохо это выглядит на таком одиночном примере, а представляете, как это будет при множестве блоков и разных условий?
| | |
| |
| 2.7, Аноним (3), 14:04, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Как же плохо это выглядит
"Плохо" это оценочное суждение.
Есть ли какие-то аргументы "почему"?
Или просто "мне не нравится потому что")?
| | |
| |
| 3.13, Аноним (13), 14:16, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Знаете что такое регулярные выражения? Rust идет ровно по их шагам - проще переписать, чем разбираться с проблемой.
| | |
| |
| 4.15, Аноним (3), 14:21, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Хм.. сравнение если честно так себе.
Тут есть четкое деление кода на логические части.
С другой стороны, а покажи-ка мне серьезный проект в котором не используются "регулярные выражения"))
| | |
| |
| 5.18, Аноним (12), 14:26, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Тоже не понял, при чем тут регулярки?;) А так да, Регулярки для некоторых задач это вообще то что доктор прописал!)
| | |
| 5.19, Аноним (19), 14:27, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>покажи-ка мне серьезный проект в котором не используются "регулярные выражения"
Я где-то говорил, что регулярки это плохо? Плохо, что Rust из-за обилия сахара становится сплошной регуляркой.
| | |
| |
| 6.21, Аноним (21), 14:30, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Я где-то говорил, что регулярки это плохо?
"проще переписать, чем разбираться с проблемой" не звучит как ʼхорошоʼ.
> Плохо, что Rust из-за обилия сахара становится сплошной регуляркой.
Вкусовщина.
Я не вижу плохой читаемости в текущих функциях.
Возможно это дело привычки.
Но ты можешь предложить "как надо".
Боюсь будет или более многословно, или более запутано.
| | |
| 6.22, Аноним (12), 14:33, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Никто вас не заставляет кушать весь этот сахар, если он вам не по душе. Используйте только то что считаете нужны! Однако если присоединились к проекту где это используется сахар - то что называется будьте любезны:) Не вижу проблем. Более того вы даже можете забить на лайфтаймы если они вас так бесят и не использовать ссылки вообще! В этом случае просто используйте механизм владения и забудьте про заимствование, да придется быть местами многословным, но главное что даже тут у вас будет выбор!
| | |
| |
| 7.25, Аноним (25), 14:38, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Никто вас не заставляет кушать весь этот сахар, если он вам не по душе.
Эм, вообще-то заставляет. Их в любом случае нужно держать в голове, если работаешь над каким-то проектом не один.
>Более того вы даже можете забить на лайфтаймы если они вас так бесят и не использовать ссылки вообще!
Да, знаю, используйте .clone().
| | |
| |
| 8.28, Аноним (12), 14:44, 17/04/2026 [^] [^^] [^^^] [ответить] | +/– | Можно таже посмотоеть в сторону языка Hylo Там вообще не надо будет забивать го... текст свёрнут, показать | | |
|
|
|
| 5.20, Аноним (20), 14:28, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
По такой логике любой проект на расте не может быт серьёзным, потому что у него вместо регулярок какая-то задупа. Я уже не говорю, что re2 пойдёт с оговорками, даже а питоне вменяемые. Но не в расте.
| | |
|
|
|
| |
| 3.23, Аноним (23), 14:34, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
Никак не должно. Разрабам Rust давно пора остановиться с добавлением сахара.
| | |
| 3.34, Аноним (34), 14:59, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
А зачем спрашивать если можно показать, и пускай мимокрокодилы составят свое мнение.
Было:
match value {
Some(x) => {
if let Ok(y) = compute(x) {
println!("{}, {}", x, y);
}
}
_ => {}
}
Стало:
match value {
Some(x) if let Ok(y) = compute(x) => {
println!("{}, {}", x, y);
}
_ => {}
}
| | |
|
| 2.44, Аноним (42), 15:13, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Как же плохо это выглядит
Фраза, котора с головой выдаёт человека, знающего только один язык программирования.
Если изучить несколько разных языков, сама мысль о том, что какой-то код "плохо выглядит" просто не придёт в голову.
| | |
|
| |
| 2.30, Аноним (30), 14:47, 17/04/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
А Раста идеология статической компоновки всех библиотек.
>всё ещё не умеет?
Не хотят. А не, не умеет.
| | |
| 2.32, alex13sh (?), 14:53, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
В теории, давно умеет. А на практике дл сих пор нет стабильного ABI также как и у C++.
Все мы вынуждены использовать C ABI и ffi
| | |
| |
| |
| 4.45, Аноним (45), 15:16, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Если от сишки останется только ffi то это будет уже гроб-гроб-кладбище.
Думаю через пару лет будет стабилизация спецификации (спасибо ферроцену).
К тому времени дополируют оставшиеся шероховатости.
Может тогда будет запрос на стабильное АБИ.
| | |
|
| 3.39, Аноним (39), 15:04, 17/04/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что говоришь? У раста нет стабильного ABI? Значит самое время внедрять раст в критические системы!
| | |
| |
| 4.43, Аноним (43), 15:12, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– |
У С++ тоже нет.
А операционки на нем пишут. Удивительно, правда?
И в эмбедедщине используют.
Наверное наяривание на ABI это просто воздуханство?
| | |
| 4.47, Аноним (40), 15:21, 17/04/2026 [^] [^^] [^^^] [ответить]
| +/– | |
А зачем тебе стабильный ABI раста, когда есть C ABI и его за глаза хватает?
Rust, если что, даже в планах стабильного ABI не имеет, чтобы оставлять себе пространство оптимизировать memory layout у структур (выставлять паддинги, сортировать поля и вот это все, чем на практике в коде на C руками занимаются только два с половиной землекопа).
Есть отдельные телодвижения, чтобы когда-нибудь сделать какой-то более Rust-ориентированный стабильный ABI, который бы поддерживался компилятором ровно в таком же виде, в котором он сейчас поддерживает C ABI, но тоже как бы особо не горит, т.к. C ABI хватает.
| | |
|
|
|
| 1.26, ZeroTwo (ok), 14:41, 17/04/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>[dependencies]
>aya = "0.13"
Ожидаемо уже из названия. Год назад писал "firewall" (скорее PoC) на нём - офигенная штука.
| | |
|