История изменений
Исправление fsb4000, (текущая версия) :
Можно разъяснить причину веселья?
В опасном С++ в Debug режиме будут проверяться выходы за границы у массивов, векторов, слайсов и всех контейнеров в методе, который не проверяет выходы за границы.
В безопасном Rust в Debug режиме не будут проверяться выходы за границы массивов, векторов, слайсов и т.д в аналогичном методе.
Вот для сравнения:
https://godbolt.org/z/c3d3vbn58
https://godbolt.org/z/dj3de8fv6
https://godbolt.org/z/jqzbvnaq5
https://godbolt.org/z/rdTevh1d3
Безопасный Rust не захотел добавить проверок в Debug, а лишь написал комментарий:
// SAFETY: the caller guarantees that `slice` is not dangling, so it
// cannot be longer than `isize::MAX`. They also guarantee that
// `self` is in bounds of `slice` so `self` cannot overflow an `isize`,
// so the call to `add` is safe.
Исправление fsb4000, :
Можно разъяснить причину веселья?
В опасном С++ в Debug режиме будут проверяться выходы за границы у массивов, векторов, слайсов и всех контейнеров в методе, который не проверяет выходы за границы.
В безопасном Rust в Debug режиме не будут проверяться выходы за границы массивов, векторов, слайсов и т.д в аналогичном методе.
Вот для сравнения:
https://godbolt.org/z/c3d3vbn58
https://godbolt.org/z/dj3de8fv6
https://godbolt.org/z/jqzbvnaq5
https://godbolt.org/z/ojjMvGEGT
Безопасный Rust не захотел добавить проверок в Debug, а лишь написал комментарий:
// SAFETY: the caller guarantees that `slice` is not dangling, so it
// cannot be longer than `isize::MAX`. They also guarantee that
// `self` is in bounds of `slice` so `self` cannot overflow an `isize`,
// so the call to `add` is safe.
Исправление fsb4000, :
Можно разъяснить причину веселья?
В опасном С++ в Debug режиме будут проверяться выходы за границы у массивов, векторов, слайсов и всех контейнеров в методе, который не проверяет выходы за границы.
В безопасном Rust в Debug режиме не будут проверяться выходы за границы массивов, векторов, слайсов и т.д в аналогичном методе.
Вот для сравнения:
https://godbolt.org/z/c3d3vbn58
https://godbolt.org/z/dj3de8fv6
https://godbolt.org/z/jqzbvnaq5
Безопасный Rust не захотел добавить проверок в Debug, а лишь написал комментарий:
// SAFETY: the caller guarantees that `slice` is not dangling, so it
// cannot be longer than `isize::MAX`. They also guarantee that
// `self` is in bounds of `slice` so `self` cannot overflow an `isize`,
// so the call to `add` is safe.
Исправление fsb4000, :
Можно разъяснить причину веселья?
В опасном С++ в Debug режиме будут проверяться выходы за границы у массивов, векторов, слайсов и всех контейнеров в методе, который не проверяет выходы за границы.
В безопасном Rust в Debug режиме не будут проверяться выходы за границы массивов, векторов, слайсов и т.д в аналогичном методе.
Вот для сравнения:
https://godbolt.org/z/c3d3vbn58
Исходная версия fsb4000, :
Можно разъяснить причину веселья?
В опасном С++ в Debug режиме будут проверяться выходы за границы у массивов, векторов, слайсов и всех контейнеров на методе, который не проверяет выходы за границы.
В безопасном Rust в Debug режиме не будут проверяться выходы за границы массивов, векторов, слайсов и т.д.
Вот для сравнения:
https://godbolt.org/z/c3d3vbn58