Безопасная Ржавчина НЕБЕЗОПАСНА!? (cve-rs)

YOUTUBE · 01.12.2025 07:00

Ключевые темы и таймкоды

Rust и управление памятью

0:00
  • Rust - язык программирования, который защищает память от ошибок.
  • Проблема ненадежности: можно обмануть Rust, чтобы он не защищал память или тип.

Создание значения и заимствование

2:06
  • Создание вектора чисел и заимствование его для использования в функции.
  • Правило: если у нас есть заимствование, которое длится долго, то оно должно пережить это время.

Странная функция и ее использование

7:54
  • Создание функции, которая принимает два времени жизни и тип и возвращает ссылку на этот тип.
  • Использование этой функции для преобразования ссылки, которая длится в течение времени жизни "а", в ссылку, которая длится в течение времени жизни "б".

Обсуждение ковариации и контравариантности

15:49
  • В видео обсуждается идея ковариации и контравариантности, где функции, возвращающие кошек, считаются функциями, возвращающими животных, и наоборот.
  • Это относится не только к типам функций, но и к другим типам, таким как векторы.

Создание функции, которая может принимать ссылки на разные типы

19:17
  • Создается функция, которая принимает ссылки на разные типы, но может быть использована для любой ссылки, которая живет короткое время.
  • Это позволяет использовать функцию для ссылок, которые живут вечно, и наоборот.

Проблемы с безопасностью памяти в C++

20:04
  • В C++ возникают проблемы с безопасностью памяти, когда функции пытаются получить доступ к произвольным областям памяти.
  • Это может привести к непредсказуемым результатам и ошибкам.