From 0f9dbfd874a0efe688e256cc504f558c39c88f8c Mon Sep 17 00:00:00 2001 From: KtorZ Date: Thu, 21 Mar 2024 18:20:19 +0100 Subject: [PATCH] Fixes #883. --- crates/aiken-lang/src/format.rs | 17 +++++++++++------ crates/aiken-lang/src/tests/format.rs | 13 ++++++++++++- .../src/tests/snapshots/fuzzer_annotations.snap | 7 +++++++ 3 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 crates/aiken-lang/src/tests/snapshots/fuzzer_annotations.snap diff --git a/crates/aiken-lang/src/format.rs b/crates/aiken-lang/src/format.rs index 3dfb5944..22401e1d 100644 --- a/crates/aiken-lang/src/format.rs +++ b/crates/aiken-lang/src/format.rs @@ -476,12 +476,17 @@ impl<'comments> Formatter<'comments> { let doc_comments = self.doc_comments(arg.location.start); - let doc = arg - .arg_name - .to_doc() - .append(" via ") - .append(self.expr(&arg.via, false)) - .group(); + let doc = match &arg.annotation { + None => arg.arg_name.to_doc(), + Some(a) => arg + .arg_name + .to_doc() + .append(": ") + .append(self.annotation(a)), + } + .append(" via ") + .append(self.expr(&arg.via, false)) + .group(); let doc = doc_comments.append(doc.group()).group(); diff --git a/crates/aiken-lang/src/tests/format.rs b/crates/aiken-lang/src/tests/format.rs index 47206b58..0baaf22b 100644 --- a/crates/aiken-lang/src/tests/format.rs +++ b/crates/aiken-lang/src/tests/format.rs @@ -478,7 +478,7 @@ fn format_many_assignment_patterns() { assert_format!( r#" fn backpassing() -> Int { - + let elem, accumulator, wow, who, @@ -744,3 +744,14 @@ fn fail_expr() { "# ); } + +#[test] +fn fuzzer_annotations() { + assert_format!( + r#" + test foo(n: Int via int()) { + todo + } + "# + ); +} diff --git a/crates/aiken-lang/src/tests/snapshots/fuzzer_annotations.snap b/crates/aiken-lang/src/tests/snapshots/fuzzer_annotations.snap new file mode 100644 index 00000000..eebda0fc --- /dev/null +++ b/crates/aiken-lang/src/tests/snapshots/fuzzer_annotations.snap @@ -0,0 +1,7 @@ +--- +source: crates/aiken-lang/src/tests/format.rs +description: "Code:\n\ntest foo(n: Int via int()) {\n todo\n}\n" +--- +test foo(n: Int via int()) { + todo +}