Re[7]: Rust vs C++ 17
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 10.01.16 04:31
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Что насчёт проверки границ? Крайне распространённый случай.


Само собой есть. Выглядит как-то так:
fn main() {
    let v = vec![1, 2, 3];

    let t = v[3];
}

thread '<main>' panicked at 'index out of bounds: the len is 3 but the index is 3', ../src/libcollections/vec.rs:1137

С одной стороны, никакого непредвиденного поведения с отложенным падением, с другой, на этапе компиляции такие ошибки не отслеживаются (можно ли такое отследить во время компиляции отдельный вопрос). Само собой, можно повторить типичный C/C++ выход за границы с непредсказуемым падением воспользовавшись unsafe.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.