mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-20 23:37:56 +03:00
Fix unstable formatting on opaque unions
This commit is contained in:
parent
1d07d9efa1
commit
5f0e3c72c5
@ -95,8 +95,6 @@ impl<'a> Formattable for TypeDef<'a> {
|
||||
let ann_is_where_clause =
|
||||
matches!(ann.extract_spaces().item, TypeAnnotation::Where(..));
|
||||
|
||||
let ann_has_spaces_before = matches!(&ann.value, TypeAnnotation::SpaceBefore(..));
|
||||
|
||||
// Always put the has-derived clause on a newline if it is itself multiline, or
|
||||
// the annotation has a where-has clause.
|
||||
let derived_multiline = if let Some(derived) = derived {
|
||||
@ -107,12 +105,6 @@ impl<'a> Formattable for TypeDef<'a> {
|
||||
|
||||
let make_multiline = ann.is_multiline() || derived_multiline;
|
||||
|
||||
// If the annotation has spaces before, a newline will already be printed.
|
||||
if make_multiline && !ann_has_spaces_before {
|
||||
buf.newline();
|
||||
buf.indent(indent + INDENT);
|
||||
}
|
||||
|
||||
ann.format(buf, indent);
|
||||
|
||||
if let Some(derived) = derived {
|
||||
|
@ -5028,15 +5028,25 @@ mod test_fmt {
|
||||
"#
|
||||
));
|
||||
|
||||
expr_formats_same(indoc!(
|
||||
r#"
|
||||
A :=
|
||||
U8
|
||||
has [Eq, Hash]
|
||||
expr_formats_to(
|
||||
indoc!(
|
||||
r#"
|
||||
A :=
|
||||
U8
|
||||
has [Eq, Hash]
|
||||
|
||||
0
|
||||
"#
|
||||
));
|
||||
0
|
||||
"#
|
||||
),
|
||||
indoc!(
|
||||
r#"
|
||||
A := U8
|
||||
has [Eq, Hash]
|
||||
|
||||
0
|
||||
"#
|
||||
),
|
||||
);
|
||||
|
||||
expr_formats_to(
|
||||
indoc!(
|
||||
@ -5048,8 +5058,7 @@ mod test_fmt {
|
||||
),
|
||||
indoc!(
|
||||
r#"
|
||||
A :=
|
||||
a | a has Hash
|
||||
A := a | a has Hash
|
||||
has [Eq, Hash]
|
||||
|
||||
0
|
||||
|
Loading…
Reference in New Issue
Block a user