Skip to content

Commit b365214

Browse files
authored
Merge 7b02a50 into aedc983
2 parents aedc983 + 7b02a50 commit b365214

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

compiler/noirc_frontend/src/ast/statement.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ impl StatementKind {
109109
// Semicolons are optional for these expressions
110110
(ExpressionKind::Block(_), semi, _)
111111
| (ExpressionKind::Unsafe(..), semi, _)
112+
| (ExpressionKind::Interned(..), semi, _)
113+
| (ExpressionKind::InternedStatement(..), semi, _)
112114
| (ExpressionKind::If(_), semi, _) => {
113115
if semi.is_some() {
114116
StatementKind::Semi(expr)
@@ -865,7 +867,11 @@ impl Display for StatementKind {
865867

866868
impl Display for LetStatement {
867869
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
868-
write!(f, "let {}: {} = {}", self.pattern, self.r#type, self.expression)
870+
if matches!(&self.r#type.typ, UnresolvedTypeData::Unspecified) {
871+
write!(f, "let {} = {}", self.pattern, self.expression)
872+
} else {
873+
write!(f, "let {}: {} = {}", self.pattern, self.r#type, self.expression)
874+
}
869875
}
870876
}
871877

compiler/noirc_frontend/src/parser/parser.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1621,11 +1621,11 @@ mod test {
16211621
#[test]
16221622
fn statement_recovery() {
16231623
let cases = vec![
1624-
Case { source: "let a = 4 + 3", expect: "let a: unspecified = (4 + 3)", errors: 0 },
1624+
Case { source: "let a = 4 + 3", expect: "let a = (4 + 3)", errors: 0 },
16251625
Case { source: "let a: = 4 + 3", expect: "let a: error = (4 + 3)", errors: 1 },
1626-
Case { source: "let = 4 + 3", expect: "let $error: unspecified = (4 + 3)", errors: 1 },
1627-
Case { source: "let = ", expect: "let $error: unspecified = Error", errors: 2 },
1628-
Case { source: "let", expect: "let $error: unspecified = Error", errors: 3 },
1626+
Case { source: "let = 4 + 3", expect: "let $error = (4 + 3)", errors: 1 },
1627+
Case { source: "let = ", expect: "let $error = Error", errors: 2 },
1628+
Case { source: "let", expect: "let $error = Error", errors: 3 },
16291629
Case { source: "foo = one two three", expect: "foo = one", errors: 1 },
16301630
Case { source: "constrain", expect: "constrain Error", errors: 2 },
16311631
Case { source: "assert", expect: "constrain Error", errors: 1 },
@@ -1659,7 +1659,7 @@ mod test {
16591659
},
16601660
Case {
16611661
source: "{ return 123; let foo = 4 + 3; }",
1662-
expect: concat!("{\n", " Error\n", " let foo: unspecified = (4 + 3)\n", "}"),
1662+
expect: concat!("{\n", " Error\n", " let foo = (4 + 3)\n", "}"),
16631663
errors: 1,
16641664
},
16651665
Case {
@@ -1709,7 +1709,7 @@ mod test {
17091709
expect: concat!(
17101710
"{\n",
17111711
" if ({\n",
1712-
" let foo: unspecified = (bar { baz: 42 })\n",
1712+
" let foo = (bar { baz: 42 })\n",
17131713
" (foo == (bar { baz: 42 }))\n",
17141714
" }) {\n",
17151715
" }\n",

0 commit comments

Comments
 (0)