Skip to content

Commit b1cd852

Browse files
committed
Surround with parentheses just in case
1 parent 10654f0 commit b1cd852

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

tooling/nargo_cli/src/cli/expand_cmd/printer.rs

+27-20
Original file line numberDiff line numberDiff line change
@@ -1183,11 +1183,13 @@ impl<'interner, 'def_map, 'string> Printer<'interner, 'def_map, 'string> {
11831183
self.push_str(&field_element.to_string());
11841184
}
11851185
Type::InfixExpr(lhs, op, rhs, _) => {
1186+
self.push('(');
11861187
self.show_type(lhs);
11871188
self.push(' ');
11881189
self.push_str(&op.to_string());
11891190
self.push(' ');
11901191
self.show_type(rhs);
1192+
self.push(')');
11911193
}
11921194
Type::Unit
11931195
| Type::Bool
@@ -1236,35 +1238,40 @@ impl<'interner, 'def_map, 'string> Printer<'interner, 'def_map, 'string> {
12361238
HirExpression::Block(hir_block_expression) => {
12371239
self.show_hir_block_expression(hir_block_expression);
12381240
}
1239-
HirExpression::Prefix(hir_prefix_expression) => {
1240-
match hir_prefix_expression.operator {
1241-
UnaryOp::Minus => {
1242-
self.push('-');
1243-
}
1244-
UnaryOp::Not => {
1245-
self.push('!');
1246-
}
1247-
UnaryOp::Reference { mutable } => {
1248-
if mutable {
1249-
self.push_str("&mut ");
1250-
} else {
1251-
self.push_str("&");
1252-
}
1241+
HirExpression::Prefix(hir_prefix_expression) => match hir_prefix_expression.operator {
1242+
UnaryOp::Minus => {
1243+
self.push_str("-(");
1244+
self.show_hir_expression_id(hir_prefix_expression.rhs);
1245+
self.push(')');
1246+
}
1247+
UnaryOp::Not => {
1248+
self.push_str("!(");
1249+
self.show_hir_expression_id(hir_prefix_expression.rhs);
1250+
self.push(')');
1251+
}
1252+
UnaryOp::Reference { mutable } => {
1253+
if mutable {
1254+
self.push_str("&mut ");
1255+
} else {
1256+
self.push_str("&");
12531257
}
1254-
UnaryOp::Dereference { implicitly_added } => {
1255-
if !implicitly_added {
1256-
self.push('*');
1257-
}
1258+
self.show_hir_expression_id(hir_prefix_expression.rhs);
1259+
}
1260+
UnaryOp::Dereference { implicitly_added } => {
1261+
if !implicitly_added {
1262+
self.push('*');
12581263
}
1264+
self.show_hir_expression_id(hir_prefix_expression.rhs);
12591265
}
1260-
self.show_hir_expression_id(hir_prefix_expression.rhs);
1261-
}
1266+
},
12621267
HirExpression::Infix(hir_infix_expression) => {
1268+
self.push('(');
12631269
self.show_hir_expression_id(hir_infix_expression.lhs);
12641270
self.push(' ');
12651271
self.push_str(&hir_infix_expression.operator.kind.to_string());
12661272
self.push(' ');
12671273
self.show_hir_expression_id(hir_infix_expression.rhs);
1274+
self.push(')');
12681275
}
12691276
HirExpression::Index(hir_index_expression) => {
12701277
self.show_hir_expression_id(hir_index_expression.collection);

0 commit comments

Comments
 (0)