floats iter 1.1: Literal::Float variant + canonical hex serde + drift-test anchors

This commit is contained in:
2026-05-10 14:36:08 +02:00
parent cdc9d64169
commit ec2811194b
12 changed files with 83 additions and 2 deletions
+3
View File
@@ -925,6 +925,7 @@ impl<'a> Emitter<'a> {
let g = self.intern_string("str", value);
("ptr".to_string(), format!("@{g}"))
}
Literal::Float { .. } => unimplemented!("Floats milestone iter 4: codegen"),
};
if val_ty != lty {
return Err(CodegenError::Internal(format!(
@@ -1224,6 +1225,7 @@ impl<'a> Emitter<'a> {
(format!("@{g}"), "ptr".into())
}
Literal::Unit => ("0".into(), "i8".into()),
Literal::Float { .. } => unimplemented!("Floats milestone iter 4: codegen"),
}),
Term::Var { name } => {
// Iter 16d: `__unreachable__` is a polymorphic bottom
@@ -2358,6 +2360,7 @@ impl<'a> Emitter<'a> {
Literal::Bool { .. } => Type::bool_(),
Literal::Str { .. } => Type::str_(),
Literal::Unit => Type::unit(),
Literal::Float { .. } => Type::float(),
}),
Term::Var { name } => {
// Lookup precedence: extras (let-bindings introduced