From 1c3e88826161cdacf146595558b5360bb6322be0 Mon Sep 17 00:00:00 2001 From: Adrian Rebola-Pardo <adrian.rebola@tuwien.ac.at> Date: Mon, 31 Mar 2025 09:52:45 +0200 Subject: [PATCH] added examples description --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a3c4331..53a380c 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,10 @@ Its main purpose was to provide the audience with enough information about Rust * [Design Principles](./design-principles/): Contains slides describing the general design principles of the Rust language and how it relates to other languages. * [Ecosystem](./ecosystem/): Contains slides describing the Rust ecosystem, including how the language is developed, which tools are available and who uses Rust today. * [Pros/Cons](./pros-cons/): Contains slides listing several reasons for and against Rust that one should be aware of. -* [Unsafe](./unsafe-rust/): Contains slides introducing unsafe Rust and myths around it. This part is accompanied by the code in the other directories. +* [Unsafe](./unsafe-rust/): Contains slides introducing unsafe Rust and myths around it. This part is accompanied by the code in the other directories: + + - ["Pointer dereference"](./ptr-deref/): Contains an example of the kinds of behavior unsafe Rust allows without incurring undefined behavior. + - ["No unsafe, no bugs"](./no-unsafe-no-bugs/): Contains an example of a safe Rust program that nevertheless contains a data race-based bug. + - ["Safe means safe"](./safe-means-safe/): Contains an example of a safe Rust program with `#[forbid(unsafe_code)]` that nevertheless contains unsafe code under the hood. + - ["Unsafe Rust is C++"](./unsafe-rust-is-cpp/): Contains an example of an unsafe program that is correct under C++ semantics but results in undefined behavior in Rust. + - ["Enforcing invariants"](./enforcing-invariants/): Contains an example on how to power-use the safe-unsafe boundary to guarantee that methods can only be safely applied; this example is a very simplified version of two-watched literal lists in SAT solving. -- GitLab