-
Notifications
You must be signed in to change notification settings - Fork 0
Newtype
Joel Alvarez edited this page Jul 12, 2026
·
1 revision
Newtype crea tipos pequeños alrededor de valores existentes para darles significado de dominio.
Un valor como String, u64 o i64 puede representar muchas cosas. Newtype crea un tipo distinto para que el compilador ayude a evitar mezclas accidentales.
En Rust suele aparecer como:
- Tupla structs como
UserId(String). - Constructores que validan antes de crear el valor.
- Métodos de acceso controlados.
- Traits como
Display,Eq,Hash,CloneyCopycuando hacen sentido.
- IDs tipados para usuario, orden y producto:
src/patterns/rust_idiomatic/newtype/typed_ids.rs - Dinero y moneda sin mezclar unidades:
src/patterns/rust_idiomatic/newtype/money_currency.rs - Tipos seguros para email y token:
src/patterns/rust_idiomatic/newtype/safe_email_token.rs
La guía cercana al código vive en:
patterns/rust_idiomatic/newtype/README.md