From 09b46e3df0a8a1ed78b69e43706b96a658ad35b1 Mon Sep 17 00:00:00 2001 From: akulij Date: Wed, 19 Nov 2025 09:16:44 +0700 Subject: [PATCH] vault backup: 2025-11-19 09:16:44 --- 4.2/2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4.2/2.md b/4.2/2.md index a0603ca..9b27f83 100644 --- a/4.2/2.md +++ b/4.2/2.md @@ -241,7 +241,7 @@ fn get_entities_at(entities: &mut [T], indices: [usize; N]) - Теперь гарантии происходят внутри самой функции. Спустя некоторое время вашему коллеге поступило ТЗ, что эта функция должна выдавать индексы только по энтити, которые видимы (пускай будет трейт с методом is_visible). Изменим код: **код** -Но останется ли такой код безопасным? Читающему код придётся снова разбирать, какие инварианты нужно соблюсти, чтобы код оставался безопасным. Но этого можно было бы избежать, если бы мы обозначали, какие инварианты мы соблюли, +Но останется ли такой код безопасным? Читающему код придётся снова разбирать, какие инварианты нужно соблюсти, чтобы код оставался безопасным. Но этого можно было бы избежать, если бы мы обозначали, какие инварианты мы соблюли. По примеру Safety у функций, у unsafe блоков обозна **Начать с проблемы, когда компилятор не может гарантировать безопасность по памяти (но без этого невозможно написать программу), возможно из ub** Допустим, на вход вашей функции