- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
// Это означает что, например, поведение следующего кода не определено:
fn cast(x: f32) -> u8 {
x as u8
}
fn main() {
let f = 300.0;
let x = cast(f);
println!("x: {}", x);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
// Это означает что, например, поведение следующего кода не определено:
fn cast(x: f32) -> u8 {
x as u8
}
fn main() {
let f = 300.0;
let x = cast(f);
println!("x: {}", x);
}
https://habr.com/ru/post/511546/
> Это мы называем ошибкой «корректности» (ведь unsafe кода тут нет) — то есть ошибка, когда компилятор делает неправильные вещи. Мы отмечаем их в нашем трекере как I-unsound, и относимся к ним очень серьёзно.
Пусть хотя бы математически докажут корректность центрального процессора, а то постоянно какие-то очередные мелтдауны и спектры всплывают.
>>> On Rust 1.44.0, this happens to print "x: 0" on my machine. But it could print anything, or do anything: this is undefined behavior.
Какой багор )))
>Изначально Issue 10184 была открыта в октябре 2013 года, за полтора года до выпуска Rust 1.0. Так как rustc использует LLVM в качестве backend-компилятора
То есть анскильная растомразь своровала чужое, обосралась ещё до релиза, но с неё так никто за это и не спросил.
Ну а чего они хотели построить на ворованной инфраструктуре.
https://tsar1997.blogspot.com/2019/11/blog-post_16.html?showComment=1574636735401#c 5507874678266117068
Ладно, «Zephir» — узкоспециализированный ЯП, который придумали, чтобы быстро разрабатывать нативные расширения для «PHP». Но «Rust» вроде позиционировали как серьёзный ЯП. На него даже «Фуррифокс» попытались перевести.
Извольте. Скоро в «Julia» UB найдут?