Size: a a a

2021 January 27

ID

Iv@n Dereviankin in rust_offtopic
Упс
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Alexander Krivitskiy
Он определенно сейфовей. Он хотя бы всякий мусор к инту автоматом не скастит. Но от того что можно пальцы себе переломать пока набираешь Ансейф Раст со всеми этими as, NonNull и что я там ещё любил - это не спасет.
1. прячешь все за красивый интерфейс
2. радуешься

Кмон, люди на всякие малинки где надо писать по адресу чтобы диодом помигать делали нормальный итерфейс в типчиках, неужели мы хуже?
источник

Нк

Не крал in rust_offtopic
Alexander Krivitskiy
Он определенно сейфовей. Он хотя бы всякий мусор к инту автоматом не скастит. Но от того что можно пальцы себе переломать пока набираешь Ансейф Раст со всеми этими as, NonNull и что я там ещё любил - это не спасет.
Лучше ломать пальцы чем прод
источник

ID

Iv@n Dereviankin in rust_offtopic
Не ну про сырые указатели я знаю, но чтоб до такой степени сырые...
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Не крал
Дак и в ансейф расте то же самое можешь сделать...
При чем тут выравнивание то?
Language:
rust


Source:
fn main() {
 let arr = [5,6,7];
 arr += 3;
}


Errors:
error[E0368]: binary assignment operation `+=` cannot be applied to type `[{integer}; 3]`
--> 2092366992/source.rs:3:3
 |
3 |   arr += 3;
 |   ---^^^^^
 |   |
 |   cannot use `+=` on type `[{integer}; 3]`
 |
 = note: an implementation of `std::ops::AddAssign` might be missing for `[{integer}; 3]`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0368`.
источник

AK

Alexander Krivitskiy in rust_offtopic
Αλεχ Zhukovsky
я паршу (ну и интерпретирую) PE - не очень-то высокоуровнево
Я тоже предпочту на Расте парсер, виртуалки и эмуляторы всякие делать. Си для совсем грязной работы нужен.
источник

Нк

Не крал in rust_offtopic
Αλεχ Zhukovsky
Language:
rust


Source:
fn main() {
 let arr = [5,6,7];
 arr += 3;
}


Errors:
error[E0368]: binary assignment operation `+=` cannot be applied to type `[{integer}; 3]`
--> 2092366992/source.rs:3:3
 |
3 |   arr += 3;
 |   ---^^^^^
 |   |
 |   cannot use `+=` on type `[{integer}; 3]`
 |
 = note: an implementation of `std::ops::AddAssign` might be missing for `[{integer}; 3]`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0368`.
Леш, речь про ансейф и арифметику на указателях
источник

Нк

Не крал in rust_offtopic
Я с Растом не первый день знаком, спасибо)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Не крал
Леш, речь про ансейф и арифметику на указателях
ну в расте у тебя вероятно будет слайс, и там не очеьн постреляешь. Будет 1.5 опасных места где будет from_raw_parts и все на этом
источник

Нк

Не крал in rust_offtopic
Αλεχ Zhukovsky
ну в расте у тебя вероятно будет слайс, и там не очеьн постреляешь. Будет 1.5 опасных места где будет from_raw_parts и все на этом
> ансейф и указатели
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Не крал
> ансейф и указатели
ну не будешь ты в расте везде юзать ансейф и указатели, даже в супер-грязном коде у тебя 90%+ кода - сейф
источник

Нк

Не крал in rust_offtopic
Αλεχ Zhukovsky
ну не будешь ты в расте везде юзать ансейф и указатели, даже в супер-грязном коде у тебя 90%+ кода - сейф
А этого никто и не утверждал
источник

Нк

Не крал in rust_offtopic
Dima
Тот же unsafe Раст с 100 раз сейфовие  и эргономичнее(имхо) чем сишечка
^
источник

r

red75prime in rust_offtopic
Iv@n Dereviankin
Разве в ансейфе можно?
В ансейфе с указателеми всё можно. Кроме longjmp
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Не крал
А этого никто и не утверждал
ну давай я утвердю
источник

Нк

Не крал in rust_offtopic
Αλεχ Zhukovsky
ну давай я утвердю
Давай. Я с тобой согласен
источник

Нк

Не крал in rust_offtopic
Но речь то про ансейф 🤷‍♂
источник

ID

Iv@n Dereviankin in rust_offtopic
Αλεχ Zhukovsky
ну в расте у тебя вероятно будет слайс, и там не очеьн постреляешь. Будет 1.5 опасных места где будет from_raw_parts и все на этом
Вот именно что слайс: с тех пор как скоупед треад убрали, многопоточку с массивами только так и приходиться делать, (слайс, сырой указатель на него и вперед)  ибо ссылки на них не живут достаточно, видите ли
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Iv@n Dereviankin
Вот именно что слайс: с тех пор как скоупед треад убрали, многопоточку с массивами только так и приходиться делать, (слайс, сырой указатель на него и вперед)  ибо ссылки на них не живут достаточно, видите ли
ну делаешь объект в котором слайс кладешь и порядок
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
проблемы только с асинком могут быть
источник