En gros, on peut mettre des littéraux dans une définition
Oui, ça permet par exemple de définir des énumérations :
class roles(r: "admin" | "moderator" | "guest")
on peut définir le type d'un champ plus tard.
J'ai pas encore réfléchit à comment implémenter le type unknown. J'aimerais aussi éviter le type any si possible. Je regarderais sûrement l'implémentation de TypeScript pour m'en inspirer.
D'ailleurs, est-ce que tu as déjà codé et tester le "&" et le "non" dans ton typage ?
J'ai l'implémentation qui est décrite dans l'article (les structs OneOfType, AllOfType et NotType).
[^] # Re: type
Posté par David Delassus (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.
Oui, ça permet par exemple de définir des énumérations :
J'ai pas encore réfléchit à comment implémenter le type
unknown. J'aimerais aussi éviter le typeanysi possible. Je regarderais sûrement l'implémentation de TypeScript pour m'en inspirer.J'ai l'implémentation qui est décrite dans l'article (les structs
OneOfType,AllOfTypeetNotType).Avec les tests suivants :
Ce qui en Letlang s'écrirait :
Ça fonctionne bien.
NB: Je vais peut-être changer les symboles pour pas confondre :
!true = false!42 = falsehttps://link-society.com - https://kubirds.com - https://github.com/link-society/flowg