// Created on savesnippets.com ยท https://savesnippets.com/gj4xu5TLKqijFy #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] struct UserId(u64); #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] struct PostId(u64); fn delete_user(id: UserId) { println!("deleting user {}", id.0); } fn main() { let u = UserId(42); let p = PostId(99); delete_user(u); // โœ“ // delete_user(p); // โŒ mismatched types: expected UserId // delete_user(42); // โŒ expected UserId, got integer }