# Exemples / DO-DON'T — Chapitre 7 — Types nominaux et fichiers `.saseltype` > Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même. ## Exemples extraits du chapitre ### Exemple 1 ```text class struct interface enum union ``` ### Exemple 2 ```text class Foo; struct Bar; ``` ### Exemple 3 ```text nominalement connu identité du type, kind et paramètres génériques connus sémantiquement complet déclaration, héritage, interfaces et contrats résolus layout-complet représentation by-value, taille et alignement calculables lorsque nécessaires ``` ### Exemple 4 ```text struct A { A value; } ``` ### Exemple 5 ```text struct A { B b; } struct B { A a; } ``` ### Exemple 6 ```text struct A { StaticArray values; } ``` ### Exemple 7 ```text class A { B b; } class B { A a; } ``` ### Exemple 8 ```text class A extends B class B extends A ``` ### Exemple 9 ```text interface A extends B interface B extends A ``` ### Exemple 10 ```text cyclic inheritance recursive by-value layout ``` ## DO / DON'T / WHY / compiler error / edge cases À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.