From 8cf6c5f94836db866d9a64a8391eaf8a59bfa633 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Thu, 1 Oct 2020 14:12:15 +0000 Subject: [PATCH] syntax: Let older rustc understand symbolmap's lifetime --- src/data.rs | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/src/data.rs b/src/data.rs index d8599fcb..a08f2bdb 100644 --- a/src/data.rs +++ b/src/data.rs @@ -386,38 +386,36 @@ impl Layout { extract_symbol_names(&button_actions) ); - let button_states = button_actions.into_iter().map(|(name, action)| { - let keycodes = match &action { - ::action::Action::Submit { text: _, keys } => { - keys.iter().map(|named_keysym| { - *symbolmap.get(named_keysym.0.as_str()) - .expect( - format!( - "keysym {} in key {} missing from symbol map", - named_keysym.0, - name - ).as_str() - ) - }).collect() - }, - action::Action::Erase => vec![ - *symbolmap.get("BackSpace") - .expect(&format!("BackSpace missing from symbol map")), - ], - _ => Vec::new(), - }; - ( - name.into(), - KeyState { - pressed: PressType::Released, - keycodes, - action, - } - ) - }); - let button_states = HashMap::::from_iter( - button_states + button_actions.into_iter().map(|(name, action)| { + let keycodes = match &action { + ::action::Action::Submit { text: _, keys } => { + keys.iter().map(|named_keysym| { + *symbolmap.get(named_keysym.0.as_str()) + .expect( + format!( + "keysym {} in key {} missing from symbol map", + named_keysym.0, + name + ).as_str() + ) + }).collect() + }, + action::Action::Erase => vec![ + *symbolmap.get("BackSpace") + .expect(&format!("BackSpace missing from symbol map")), + ], + _ => Vec::new(), + }; + ( + name.into(), + KeyState { + pressed: PressType::Released, + keycodes, + action, + } + ) + }) ); let keymap_str = match generate_keymap(symbolmap) {