The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Обновление Firefox 86.0.1, opennews (??), 11-Мрт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


57. "Обновление Firefox 86.0.1"  +/
Сообщение от Аноним (57), 11-Мрт-21, 21:40 
Тут сразу вопросы:
- почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
- если растаман забудет это сделать, что произойдёт?!
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

66. "Обновление Firefox 86.0.1"  +/
Сообщение от Аноним (-), 11-Мрт-21, 22:37 
> Тут сразу вопросы:
> - почему в расте надо руками проверять вхождение индекса в массив и
> руками вызывать крах программы?
> - если растаман забудет это сделать, что произойдёт?!

Мне вот интересно - местные "знатоки" не только код не смотрели, но новость-то дальше заголовка прочесть не осилили? Или это перепись никогда не писавших ничего кроме хелловрота?

Намекну: размер данных, указанный в хидере файла и размер реальный - могут сильно отличаться.

Ответить | Правка | Наверх | Cообщить модератору

70. "Обновление Firefox 86.0.1"  +/
Сообщение от Аноним (57), 11-Мрт-21, 22:44 
Ясный и понятный ответ от растамана... Растаманы сами не знают, что случилось бы, выйди оффсет за пределы блока, ведь тогда бы их "if" не сработал...
Ответить | Правка | Наверх | Cообщить модератору

85. "Обновление Firefox 86.0.1"  +1 +/
Сообщение от Школота (?), 11-Мрт-21, 23:21 
Это кстати подтверждает и багзилла. Из серии "а если мы поменяет знак, ниче не сломается"? )))
Ответить | Правка | Наверх | Cообщить модератору

115. "Обновление Firefox 86.0.1"  –1 +/
Сообщение от Ordu (ok), 12-Мрт-21, 02:18 
> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?

Потому же, почему и в C: программист должен следить за тем, что и как он индексирует.

> - если растаман забудет это сделать, что произойдёт?!

Паника, aka крах. То есть, если программист делает проверку, с тем чтобы упасть в случае кривого индекса, то он может не делать этой проверки, её за него подставит стандартная библиотека.

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

121. "Обновление Firefox 86.0.1"  +/
Сообщение от Аноним (121), 12-Мрт-21, 03:24 
>> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
> Потому же, почему и в C: программист должен следить за тем, что
> и как он индексирует.

Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст позволяет не иметь знаний о устройстве железа и лабать как индосокодир жо$ой, и ничего не будет страшного, т.к. Rust дофига сикурен от человеческого фактора, в чём и его мегафича?!
>> - если растаман забудет это сделать, что произойдёт?!
> Паника, aka крах. То есть, если программист делает проверку, с тем чтобы
> упасть в случае кривого индекса, то он может не делать этой
> проверки, её за него подставит стандартная библиотека.

Хм, на что-то это похоже... ну да ладно.

Ответить | Правка | Наверх | Cообщить модератору

124. "Обновление Firefox 86.0.1"  +/
Сообщение от Ordu (ok), 12-Мрт-21, 03:37 
>>> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
>> Потому же, почему и в C: программист должен следить за тем, что
>> и как он индексирует.
> Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст
> позволяет не иметь знаний о устройстве железа и лабать как индосокодир
> жо$ой, и ничего не будет страшного, т.к. Rust дофига сикурен от
> человеческого фактора, в чём и его мегафича?!

Да, именно так. А в чём собственно вопрос?

Ответить | Правка | Наверх | Cообщить модератору

208. "Обновление Firefox 86.0.1"  +2 +/
Сообщение от Аноним (-), 13-Мрт-21, 00:08 
> Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст
> позволяет не иметь знаний о устройстве железа и лабать как индосокодир

Вообще-то, исключительно местные подгорельцы пыжились о том, как якобы "растаманы" что-то там и "Rust дофига что-то там".
Видимо, потому что пукан пылает и вбросить хочется ... но без знания матчасти - только глупенькие вбросики детсадовского уровня "А лазве ластаманы не пизились о том ..."

А так - все как обычно на опеннете: анонимы сами что-то придумали и сами гордо что-то опровергли.

Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

192. "Обновление Firefox 86.0.1"  +2 +/
Сообщение от Аноним (192), 12-Мрт-21, 17:54 
- Руками проверять вхождение индекса в массив нет необходимости. Можно использовать .get() и получить Option. Ну то есть Some(значение) если индекс внутри массива или None если вне массива. Но если программисту хочется, то можно и так, как делают в С. Можно даже unsafe сделать. Просто это будет уже выбор программиста, и он должен явно использовать такой метод.

- растаман не может "забыть" проверить результат. Потому что получает Option/Result (в зависимости от чего вызывали). Для массива/слайса/вектора это совсем другой тип, чем тип элемента, дальше просто система вывода типов не пустит во время компиляции;

- panic!() это _не_ sigsegv. Это накрученный аналог fprintf(stderr,"нам капец"); exit(1)  

- что произойдет если грязными ручками по сишному (то есть array[index] ) залезть в массив за его пределами?  Если размер массива и индекс известны на стадии компиляции то компилятор не пропустит. Если динамически, то тот же panic. Явно painc!() обычно пишется для того, чтобы указать вменяемое сообщение об ошибке.

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру