diff --git a/crates/aiken-lang/src/format.rs b/crates/aiken-lang/src/format.rs index 5fb377c3..7bd755aa 100644 --- a/crates/aiken-lang/src/format.rs +++ b/crates/aiken-lang/src/format.rs @@ -946,9 +946,7 @@ impl<'comments> Formatter<'comments> { fn call<'a>(&mut self, fun: &'a UntypedExpr, args: &'a [CallArg]) -> Document<'a> { let is_constr = match fun { UntypedExpr::Var { name, .. } => name[0..1].chars().all(|c| c.is_uppercase()), - UntypedExpr::FieldAccess { container, .. } => { - matches!(&**container, UntypedExpr::Var { name, .. } if name[0..1].chars().all(|c| c.is_uppercase())) - } + UntypedExpr::FieldAccess { label, .. } => label[0..1].chars().all(|c| c.is_uppercase()), _ => false, }; diff --git a/crates/aiken-lang/src/tests/format.rs b/crates/aiken-lang/src/tests/format.rs index 8a0ca4d4..9154e290 100644 --- a/crates/aiken-lang/src/tests/format.rs +++ b/crates/aiken-lang/src/tests/format.rs @@ -34,6 +34,23 @@ fn comment_at_end_of_file() { assert_fmt(input, output); } +#[test] +fn module_select_record() { + let input = indoc! { r#" + fn smth() { + let a = foo.Foo { bar: 1 } + } + "#}; + + let output = indoc! { r#" + fn smth() { + let a = foo.Foo { bar: 1 } + } + "#}; + + assert_fmt(input, output); +} + #[test] fn test_format_if() { let src = indoc! {r#"