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); // 🛠️❌ ```