From 93f198051e5198ccf97b7b98ba76d1ef6ce7e8fc Mon Sep 17 00:00:00 2001 From: LukeMathWalker <20745048+LukeMathWalker@users.noreply.github.com> Date: Mon, 7 Jul 2025 13:33:25 +0200 Subject: [PATCH] Use a more coincise symbol to signal compilation errors in slides --- src/idiomatic/leveraging-the-type-system/newtype-pattern.md | 6 ++---- .../newtype-pattern/semantic-confusion.md | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/idiomatic/leveraging-the-type-system/newtype-pattern.md b/src/idiomatic/leveraging-the-type-system/newtype-pattern.md index 17f5f896..18104d73 100644 --- a/src/idiomatic/leveraging-the-type-system/newtype-pattern.md +++ b/src/idiomatic/leveraging-the-type-system/newtype-pattern.md @@ -19,8 +19,7 @@ fn double(n: u64) -> u64 { n * 2 } -// This doesn't compile ❌ -double(UserId(1)); +double(UserId(1)); // 🛠️❌ ``` The Rust compiler won't implicitly convert to (or from) the underlying type.\ @@ -28,8 +27,7 @@ It won't let you use methods or operators defined on the underlying type either: ```rust,compile_fail # pub struct UserId(u64); -// This doesn't compile ❌ -assert_ne!(UserId(1), UserId(2)); +assert_ne!(UserId(1), UserId(2)); // 🛠️❌ ```
diff --git a/src/idiomatic/leveraging-the-type-system/newtype-pattern/semantic-confusion.md b/src/idiomatic/leveraging-the-type-system/newtype-pattern/semantic-confusion.md index 6cabb87d..f7a9620f 100644 --- a/src/idiomatic/leveraging-the-type-system/newtype-pattern/semantic-confusion.md +++ b/src/idiomatic/leveraging-the-type-system/newtype-pattern/semantic-confusion.md @@ -35,8 +35,7 @@ pub fn login(username: &Username, password: &Password) -> Result<(), LoginError> # let password = Password("password".into()); # let username = Username("username".into()); -// Compiler error 🎉 -login(password, username); +login(password, username); // 🛠️❌ ```