From 4eeff7203470e7f83e316acccdce145496e8bdf8 Mon Sep 17 00:00:00 2001 From: Daniel Eades Date: Sat, 19 Jun 2021 10:12:01 +0100 Subject: [PATCH] avoid shadowing 'FromStr' --- backend/src/keymap.rs | 15 ++++++++++----- backend/src/layout/mod.rs | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/src/keymap.rs b/backend/src/keymap.rs index 3c308ff1..302a376f 100644 --- a/backend/src/keymap.rs +++ b/backend/src/keymap.rs @@ -1,6 +1,7 @@ use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::collections::HashMap; use std::io::{Read, Write}; +use std::str::FromStr; use crate::Hs; @@ -66,11 +67,6 @@ impl KeyMap { serde_json::from_reader(rdr) } - /// Parse layout from json string - pub fn from_str(s: &str) -> serde_json::Result { - serde_json::from_str(s) - } - /// Write layout to json file, pretty printed pub fn to_writer_pretty(&self, wtr: W) -> serde_json::Result<()> { serde_json::to_writer_pretty(wtr, self) @@ -81,3 +77,12 @@ impl KeyMap { serde_json::to_string_pretty(self).unwrap() } } + +impl FromStr for KeyMap { + type Err = serde_json::Error; + + /// Parse layout from json string + fn from_str(s: &str) -> Result { + serde_json::from_str(s) + } +} diff --git a/backend/src/layout/mod.rs b/backend/src/layout/mod.rs index 328f4b2c..6d54e1e7 100644 --- a/backend/src/layout/mod.rs +++ b/backend/src/layout/mod.rs @@ -64,7 +64,7 @@ impl Layout { physical_json: &str, ) -> Self { let meta = serde_json::from_str(meta_json).unwrap(); - let default = KeyMap::from_str(default_json).unwrap(); + let default = default_json.parse().unwrap(); let (keymap, scancode_names) = parse_keymap_json(keymap_json); let layout = serde_json::from_str(layout_json).unwrap(); let leds = serde_json::from_str(leds_json).unwrap();