git.delta.rocks / jrsonnet / refs/commits / f7f32731a252

difftreelog

style(evaluator) borrow output only once

Лач2020-06-10parent: #f2f61f4.patch.diff
in: master

1 file changed

modifiedcrates/jsonnet-evaluator/src/obj.rsdiffbeforeafterboth
68 pub fn fields_visibility(&self) -> IndexMap<String, bool> {68 pub fn fields_visibility(&self) -> IndexMap<String, bool> {
69 let out = Rc::new(RefCell::new(IndexMap::new()));69 let out = Rc::new(RefCell::new(IndexMap::new()));
70 self.enum_fields(&|name, visibility| {70 self.enum_fields(&|name, visibility| {
71 let mut out = out.borrow_mut();
71 match visibility {72 match visibility {
72 Visibility::Normal => {73 Visibility::Normal => {
73 if !out.borrow_mut().contains_key(name) {74 if !out.contains_key(name) {
74 out.borrow_mut().insert(name.to_owned(), true);75 out.insert(name.to_owned(), true);
75 }76 }
76 }77 }
77 Visibility::Hidden => {78 Visibility::Hidden => {
78 out.borrow_mut().insert(name.to_owned(), false);79 out.insert(name.to_owned(), false);
79 }80 }
80 Visibility::Unhide => {81 Visibility::Unhide => {
81 out.borrow_mut().insert(name.to_owned(), true);82 out.insert(name.to_owned(), true);
82 }83 }
83 };84 };
84 });85 });