From 32f6ee5b95412da19337e080e3fee7965f3fd11d Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Sun, 01 May 2022 10:40:40 +0000 Subject: [PATCH] feat: change preserved field ordering sort Per discussion in https://github.com/google/jsonnet/issues/903 --- --- a/crates/jrsonnet-evaluator/src/obj.rs +++ b/crates/jrsonnet-evaluator/src/obj.rs @@ -261,17 +261,15 @@ let mut out = FxHashMap::default(); self.enum_fields(SuperDepth::default(), &mut |depth, name, member| { let new_sort_key = FieldSortKey::new(depth, member.original_index); + let entry = out.entry(name.clone()); + let (visible, _) = entry.or_insert((true, new_sort_key)); match member.visibility { - Visibility::Normal => { - let entry = out.entry(name.clone()); - let v = entry.or_insert((true, new_sort_key)); - v.1 = new_sort_key; - } + Visibility::Normal => {} Visibility::Hidden => { - out.insert(name.clone(), (false, new_sort_key)); + *visible = false; } Visibility::Unhide => { - out.insert(name.clone(), (true, new_sort_key)); + *visible = true; } }; false -- gitstuff