v0.2.14
This commit is contained in:
@@ -1,4 +1,33 @@
|
||||
# Changelog documentaire — 0.2.12
|
||||
# Changelog documentaire — 0.2.14
|
||||
|
||||
## 0.2.14
|
||||
|
||||
- fermeture du socle generics V1 : syntaxe, inférence d'appel, contraintes nominales, invariance, absence de CTAD/wildcards/spécialisation ;
|
||||
- `Numeric` retenu comme vraie abstraction Core utilisable dans les contraintes génériques ;
|
||||
- const generics V1 limités aux types de paramètres `bool`, `char`, `uint8..uint256` et enums simples sans payload ;
|
||||
- arguments const generic volontairement boring : aucune callable directement dans `<...>` ; calcul complexe matérialisé d'abord dans une `const` ;
|
||||
- inférence const generic structurelle uniquement, sans solveur algébrique ;
|
||||
- récursivité générique régulière autorisée ; auto-référence transformante et polymorphic recursion interdites V1 ;
|
||||
- toute récursivité by-value interdite, y compris via une instanciation de taille théoriquement nulle ;
|
||||
- cycles d'héritage interdits, diamants non cycliques autorisés ;
|
||||
- classes récursives autorisées via leurs références d'objet ;
|
||||
- distinction nominalement connu / sémantiquement complet / layout-complet et suppression du besoin de forward declarations utilisateur ;
|
||||
- imports explicites requis même entre deux types du même namespace ; les imports sont déclaratifs, non exécutables, et leurs cycles sont autorisés ;
|
||||
- `NaN`, infinities et zéros signés stabilisés pour `float -> float` ;
|
||||
- `NumericConversionError` stabilisé conceptuellement autour de `NotFinite`, `NotIntegral`, `OutOfRange`, `Inexact` ;
|
||||
- matrice `float -> integer` réduite par paire selon la règle anti-doublon ;
|
||||
- conversions fondamentales Core obligatoires pour toute paire de types supportés, avec émulation logicielle lorsque raisonnable ;
|
||||
- nomenclature de capabilities organisée par propriétaires `language.*`, `core.*`, `target.*`, `platform.*`, `sdk.*` ;
|
||||
- V1/V2 explicitement positionnées comme bases/POC, V3 comme première baseline publique de stabilité.
|
||||
|
||||
|
||||
## 0.2.13
|
||||
|
||||
- règle générale de composition Core figée : aucune méthode combinée lorsqu'une chaîne d'opérations existantes exprime exactement la même sémantique ;
|
||||
- suppression conceptuelle des alias `tryFloorTo...`, `tryCeilTo...`, `tryRoundTo...` et `tryTruncateTo...` ;
|
||||
- `float -> integer` réduit aux familles `tryTo...`, `trySaturateTo...` et `tryWrapTo...`, composables avec `floor()`, `ceil()`, `round()` et `truncate()` ;
|
||||
- maintien des méthodes combinées uniquement lorsqu'une composition changerait le contrat ou perdrait l'information nécessaire ;
|
||||
- `saturatingRoundToFloatXX()` reste justifié pour les conversions flottantes où arrondi et saturation ne peuvent pas être séparés sans changer la sémantique.
|
||||
|
||||
## 0.2.12
|
||||
|
||||
|
||||
Reference in New Issue
Block a user