# 48. Inventaire des points V1 encore OUVERTS Cette section constitue la checklist principale avant de considérer la Bible V1 comme suffisamment normative pour une implémentation complète. ## 48.1 Lexical / grammaire Points désormais largement figés : UTF-8 source, code ASCII hors contenu textuel, whitespace non sémantique, identifiants ASCII, commentaires, Saseldoc, littéraux numériques, `char`, String normales/raw/multilignes, escapes, séparateurs numériques, règles de fichiers source, statements/blocs/`;`, absence de trailing comma, `if`/`elseif`/`else`, boucles de base, `match`, `emit` et noyau des patterns structurels. Restent à fermer : - liste exhaustive finale des mots-clés actifs, futurs et `reserved-foreign` après audit de toute la Bible ; - choix canonique `{expr}` vs `${expr}` à l'intérieur de `i"..."` ; - matrice finale des préfixes de littéraux combinables (`i`, `r`, `b`, `c`, `u8/u16/u32`, `t`, etc.) et leur disponibilité V1/V2 ; - limite normative éventuelle du nombre de `#` des raw strings ; - grammaire syntaxique complète au-delà des blocs/statements déjà figés ; - syntaxe exacte des annotations/métadonnées de code lorsqu'elles seront retenues. ## 48.2 Types - domaine exact des types admissibles à `Nullable` avec le modèle mémoire/FFI ; - audit mécanique final de la surface Core des conversions numériques à partir de la matrice désormais largement figée ; - règles de sous-typage interface/class au-delà des règles génériques déjà fixées ; - callable/function types ; - lambdas/closures ; - variadiques (un seul variadique prévu) ; - String : APIs avancées restantes (graphemes, normalisation/collation, builders/buffers spécialisés) ; - exact float semantics hors conversions déjà figées (opérations arithmétiques IEEE restantes, `%`, division par zéro, etc.). ## 48.3 Mémoire - value/reference model ; - object allocation ; - ownership/move/copy/clone ; - references/borrowing visibles ou internes ; - allocator ; - cycles ; - destruction partielle ; - thread safety ; - raw pointers ; - unsafe operation inventory. ## 48.4 Erreurs Points désormais largement figés : hiérarchie `Error` / `ResultError` / `Exception` / `Fault`, `Result::Ok` / `Result::Err`, contraintes de `Result`, absence de `unwrap` et `?` V1, `throw` / `throws` pour les exceptions checked, `fault` / `faults` pour les faults unchecked, `catch` limité aux branches `Exception` et `Fault`, contrats d'override `throws`, causes, i18n, code de `ResultError`, stack trace diagnostique et sémantique LIFO/non-escaping de `defer`. Restent à fermer : - interaction exacte cleanup/destruction/unwind pendant un `Fault` ; - unité d'exécution exacte terminée par un `Fault` non capturé ; - constructors faillibles et construction partielle ; - ordre exact `defer` / destructeurs automatiques avec le modèle mémoire ; - représentation Core/runtime exacte de `I18nMessage`, `ResultErrorCode`, `StackTrace` et `StackFrame` ; - politique de lint/documentation pour les `Fault` explicites non listés dans `faults` ; - éventuels helpers Core futurs de `Result` seulement si un besoin réel est démontré. ## 48.5 Contrôle de flux - harmonisation finale des literal/named-constant patterns avec les règles générales des constantes et des types ; - détails d'implémentation/Core des capacités Range et organisation de leurs namespaces ; - generators/yield décision V1 ; - lambdas ; - async/concurrency. ## 48.6 Opérateurs - signatures exactes des membres des interfaces `Op...` ; - relation précise PartialEqual/Equal et PartialCompare/Compare ; - règles de comparaison hétérogène et reverse implementation ; - index assignability formelle ; - bitcast safe/unsafe table ; ## 48.7 Object model - `protected` via autres instances ; - clsmethod inheritance exact ; - associated constants interface ; - conflict resolution syntax when choosing among defaults ; - visibility/default visibility if omitted (préférence actuelle : explicite) ; - precise constructor synthesis grammar. ## 48.8 Packages/tooling - grammaire finale des imports `from "vendor/package@requirement"` ; - format TOML sérialisé exact de `saselang.lock` ; - détails FFI/linker des composants physiques des variants natifs, après fixation complète de la FFI ; - syntaxe TOML finale des features et groupes de features ; - syntaxe exacte des directives `module.saselmod` ; - syntaxe exacte de `compile if` et de ses éventuels `else` ; - API Core/compiler exacte de l'environnement de compilation ; - choix final `enum` vs identifiant extensible pour quelques domaines Core lors de l'implémentation, sans changer le modèle conceptuel ; - liste des targets LLVM officiellement validés par la première toolchain V1 ; - ordre final des entrées `.saselib` après le manifest interne et niveau Zstandard canonique, après benchmark ; - sémantique détaillée du mode `standalone` face aux bibliothèques non redistribuables/dynamiques ; - grammaire CLI finale des options et sélecteurs de projet ; - liste finale des options backend LLVM au-delà de `lto`, uniquement si elles sont nécessaires ; - détails de `saseldoc` après fixation du format documentaire et des tests. ## 48.9 Core/SDK - frontière Core/SDK définitive ; - `Vector` et interaction avec `Slice` lors des reallocations ; - contrats `Hashable` / égalité et implémentations HashSet/HashMap ; - opérations avancées de bornes/ranges pour `SortedSet` / `SortedMap` ; - propagation formelle de `const` dans `View`, `Option`, `Iterator` et autres wrappers ; - String encodings ; - regex ; - filesystem/network/process ; - math/algebra ; - logging/tracing ; - testing APIs ; - reflection/TypeInfo. ---