diff --git a/crates/ailang-core/src/ast.rs b/crates/ailang-core/src/ast.rs index 175c390..84abff3 100644 --- a/crates/ailang-core/src/ast.rs +++ b/crates/ailang-core/src/ast.rs @@ -565,8 +565,8 @@ mod hex_u64 { /// /// The JSON discriminator is the `kind` field. `Unit` carries no /// payload and serializes as `{"kind":"unit"}`. `Float` carries a -/// `u64` IEEE-754 binary64 bit pattern, serialized via the -/// [`hex_u64`] helper as a 16-character lowercase hex string — +/// `u64` IEEE-754 binary64 bit pattern, serialized via a private +/// `hex_u64` helper as a 16-character lowercase hex string — /// canonical-JSON bytes therefore stay bit-stable for hashing and /// can represent NaN / ±Inf (which JSON numbers cannot). #[derive(Debug, Clone, Serialize, Deserialize)] @@ -581,7 +581,8 @@ pub enum Literal { /// The unit value `()`. Unit, /// IEEE-754 binary64 (LLVM `double`) carried as its bit pattern. - /// See [`hex_u64`] for the serialization rationale. + /// The private `hex_u64` helper module above documents why the + /// field is routed through the JSON string path. Float { #[serde(with = "hex_u64")] bits: u64,