mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-25 04:23:25 +00:00
More Rustic API for Env
This commit is contained in:
parent
eb613c74da
commit
b68ef1231d
4 changed files with 8 additions and 20 deletions
|
@ -222,7 +222,7 @@ impl From<Fixture> 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(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<T> for Env
|
||||
where
|
||||
T: Iterator<Item = (&'a String, &'a String)>,
|
||||
{
|
||||
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<T: IntoIterator<Item = (String, String)>>(iter: T) -> Self {
|
||||
Env { entries: FromIterator::from_iter(iter) }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
use std::sync::Arc;
|
||||
|
||||
use ra_cfg::CfgOptions;
|
||||
use ra_db::{CrateName, Env, FileSet, SourceRoot, VfsPath};
|
||||
use ra_db::{CrateName, FileSet, SourceRoot, VfsPath};
|
||||
use test_utils::{
|
||||
extract_annotations, extract_range_or_offset, Fixture, RangeOrOffset, CURSOR_MARKER,
|
||||
};
|
||||
|
@ -110,7 +110,7 @@ impl MockAnalysis {
|
|||
data.edition.and_then(|it| it.parse().ok()).unwrap_or(Edition::Edition2018);
|
||||
|
||||
let file_id = FileId(i as u32 + 1);
|
||||
let env = Env::from(data.env.iter());
|
||||
let env = data.env.into_iter().collect();
|
||||
if path == "/lib.rs" || path == "/main.rs" {
|
||||
root_crate = Some(crate_graph.add_crate_root(
|
||||
file_id,
|
||||
|
|
|
@ -258,10 +258,7 @@ impl ProjectWorkspace {
|
|||
let file_path = &krate.root_module;
|
||||
let file_id = load(&file_path)?;
|
||||
|
||||
let mut env = Env::default();
|
||||
for (k, v) in &krate.env {
|
||||
env.set(k, v.clone());
|
||||
}
|
||||
let env = krate.env.clone().into_iter().collect();
|
||||
let proc_macro = krate
|
||||
.proc_macro_dylib_path
|
||||
.clone()
|
||||
|
|
Loading…
Reference in a new issue