LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

это все статические инварианты, которые проверяет компилятор.

safe блок не может вызвать unsafe, а только safe или trusted.

unsafe вызывает любой блок

trusted вызывает тоже любой блок, но усиливает утверждение если вызвал unsafe. и тут надо чета написать.

int x = trusting some_unsafe_func(); ///я доверяю в данном контексте some_unsafe_func()!!!

чтобы проверить на всякие небезопасные какашки надо просмотреть код на пример uhsafe частей и тех мест, где они переводятся в trusting.

safe код чист всегда.

trusted считается условно чистым и его можно использовать в чистом.

unsafe всегда грязный


программа в идеале не должна содержать unsafe частей, а только trusted и safe

Исправление alysnix, :

это все статические инварианты, которые проверяет компилятор.

safe блок не может вызвать unsafe, а только safe или trusted.

unsafe вызывает любой блок

trusted вызывает тоже любой блок, но усиливает утверждение если вызвал unsafe. и тут надо чета написать.

int x = trusting some_unsafe_func(); ///я доверяю в данном контексте some_unsafe_func()!!!

чтобы проверить на всякие небезопасные какашки надо просмотреть код на пример uhsafe частей и тех мест, где они переводятся в trusting.

safe код чист всегда.

trusted считается условно чистым и его можно использовать в чистом.

unsafe всегда грязный

Исходная версия alysnix, :

это все статические инварианты, которые проверяет компилятор.

safe блок не может вызвать unsafe, а только safe или trusted.

unsafe вызывает любой блок

trusted вызывает тоже любой блок, но усиливает утверждение если вызвал unsafe. и тут надо чета написать.

int x = trusting some_unsafe_func(); ///я доверяю в данном контексте some_unsafe_func()!!!

чтобы проверить на всякие небезопасные какашки надо просмотреть код на пример uhsafe частей и тех мест, где они переводятся в trusting.

safe код чист всегда.

trusting считается условно чистым и его можно использовать в чистом.

unsafe всегда грязный