Empty tuple is unit type, not ()
@@ -265,8 +265,12 @@ fn translate_base_typ<'a>(tau: BaseTyp) -> RcDoc<'a, ()> {
},
BaseTyp::Variable(id) => RcDoc::as_string(format!("t{}", id.0)),
BaseTyp::Tuple(args) => {
+ if args.len() == 0 {
+ RcDoc::as_string("unit")
+ } else {
make_typ_tuple(args.into_iter().map(|(arg, _)| translate_base_typ(arg)))
}
+ }
BaseTyp::NaturalInteger(_secrecy, modulo, _bits) => RcDoc::as_string("nat_mod")
.append(RcDoc::space())
.append(RcDoc::as_string(format!("0x{}", &modulo.0)))
