Skip to content

Commit 9b73209

Browse files
authored
chore: more 1-tuple printing fixes (#8699)
1 parent f8f230d commit 9b73209

6 files changed

Lines changed: 26 additions & 6 deletions

File tree

compiler/noirc_frontend/src/ast/expression.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,11 @@ impl Display for ExpressionKind {
591591
MemberAccess(access) => access.fmt(f),
592592
Tuple(elements) => {
593593
let elements = vecmap(elements, ToString::to_string);
594-
write!(f, "({})", elements.join(", "))
594+
if elements.len() == 1 {
595+
write!(f, "({},)", elements[0])
596+
} else {
597+
write!(f, "({})", elements.join(", "))
598+
}
595599
}
596600
Lambda(lambda) => lambda.fmt(f),
597601
Parenthesized(sub_expr) => write!(f, "({sub_expr})"),

compiler/noirc_frontend/src/ast/mod.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,11 @@ impl std::fmt::Display for UnresolvedTypeData {
279279
TraitAsType(s, args) => write!(f, "impl {s}{args}"),
280280
Tuple(elements) => {
281281
let elements = vecmap(elements, ToString::to_string);
282-
write!(f, "({})", elements.join(", "))
282+
if elements.len() == 1 {
283+
write!(f, "({},)", elements[0])
284+
} else {
285+
write!(f, "({})", elements.join(", "))
286+
}
283287
}
284288
Expression(expression) => expression.fmt(f),
285289
Function(args, ret, env, unconstrained) => {

compiler/noirc_frontend/src/ast/statement.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,7 +978,11 @@ impl Display for Pattern {
978978
Pattern::Mutable(name, _, _) => write!(f, "mut {name}"),
979979
Pattern::Tuple(fields, _) => {
980980
let fields = vecmap(fields, ToString::to_string);
981-
write!(f, "({})", fields.join(", "))
981+
if fields.len() == 1 {
982+
write!(f, "({},)", fields[0])
983+
} else {
984+
write!(f, "({})", fields.join(", "))
985+
}
982986
}
983987
Pattern::Struct(typename, fields, _) => {
984988
let fields = vecmap(fields, |(name, pattern)| format!("{name}: {pattern}"));

compiler/noirc_frontend/src/hir_def/types.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3167,7 +3167,11 @@ impl std::fmt::Debug for Type {
31673167
Type::TraitAsType(_id, name, generics) => write!(f, "impl {}{:?}", name, generics),
31683168
Type::Tuple(elements) => {
31693169
let elements = vecmap(elements, |arg| format!("{:?}", arg));
3170-
write!(f, "({})", elements.join(", "))
3170+
if elements.len() == 1 {
3171+
write!(f, "({},)", elements[0])
3172+
} else {
3173+
write!(f, "({})", elements.join(", "))
3174+
}
31713175
}
31723176
Type::Bool => write!(f, "bool"),
31733177
Type::String(len) => write!(f, "str<{len:?}>"),

compiler/noirc_frontend/src/monomorphization/ast.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,11 @@ impl std::fmt::Display for Type {
635635
Type::Unit => write!(f, "()"),
636636
Type::Tuple(elements) => {
637637
let elements = vecmap(elements, ToString::to_string);
638-
write!(f, "({})", elements.join(", "))
638+
if elements.len() == 1 {
639+
write!(f, "({},)", elements[0])
640+
} else {
641+
write!(f, "({})", elements.join(", "))
642+
}
639643
}
640644
Type::Function(args, ret, env, unconstrained) => {
641645
if *unconstrained {

compiler/noirc_frontend/src/monomorphization/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ fn simple_closure_with_no_captured_variables() {
130130
tmp$l5.1(tmp$l5.0)
131131
}
132132
}
133-
fn lambda$f1(mut env$l2: (Field)) -> Field {
133+
fn lambda$f1(mut env$l2: (Field,)) -> Field {
134134
env$l2.0
135135
}
136136
");

0 commit comments

Comments
 (0)