From db3fe27758a6a6e3cf00f72a040c7ecdd7aaa3f0 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 5 Jul 2024 14:52:21 +0200 Subject: [PATCH] Print structs in a stable order --- internal/compiler/expression_tree.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/compiler/expression_tree.rs b/internal/compiler/expression_tree.rs index ef2701437d3..5dff6f28a5e 100644 --- a/internal/compiler/expression_tree.rs +++ b/internal/compiler/expression_tree.rs @@ -1727,9 +1727,12 @@ pub fn pretty_print(f: &mut dyn std::fmt::Write, expression: &Expression) -> std write!(f, "]") } Expression::Struct { ty: _, values } => { + let mut keys: Vec<_> = values.keys().collect(); + keys.sort(); write!(f, "{{ ")?; - for (name, e) in values { - write!(f, "{}: ", name)?; + for k in keys { + let e = values.get(k).unwrap(); + write!(f, "{}: ", k)?; pretty_print(f, e)?; write!(f, ", ")?; }