From b68ef1231daf6eb1abeb06a30dc89af1254b833d Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 21 Jul 2020 17:17:21 +0200 Subject: More Rustic API for Env --- crates/ra_db/src/fixture.rs | 2 +- crates/ra_db/src/input.rs | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) (limited to 'crates/ra_db/src') diff --git a/crates/ra_db/src/fixture.rs b/crates/ra_db/src/fixture.rs index 209713987..2aafb9965 100644 --- a/crates/ra_db/src/fixture.rs +++ b/crates/ra_db/src/fixture.rs @@ -222,7 +222,7 @@ impl From for FileMeta { .edition .as_ref() .map_or(Edition::Edition2018, |v| Edition::from_str(&v).unwrap()), - env: Env::from(f.env.iter()), + env: f.env.into_iter().collect(), } } } diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index aaa492759..6f2e5cfc7 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs @@ -6,7 +6,7 @@ //! actual IO. See `vfs` and `project_model` in the `rust-analyzer` crate for how //! actual IO is done and lowered to input. -use std::{fmt, ops, str::FromStr, sync::Arc}; +use std::{fmt, iter::FromIterator, ops, str::FromStr, sync::Arc}; use ra_cfg::CfgOptions; use ra_syntax::SmolStr; @@ -298,18 +298,9 @@ impl fmt::Display for Edition { } } -impl<'a, T> From for Env -where - T: Iterator, -{ - fn from(iter: T) -> Self { - let mut result = Self::default(); - - for (k, v) in iter { - result.entries.insert(k.to_owned(), v.to_owned()); - } - - result +impl FromIterator<(String, String)> for Env { + fn from_iter>(iter: T) -> Self { + Env { entries: FromIterator::from_iter(iter) } } } -- cgit v1.2.3