mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Fix tests being non-deterministic
This commit is contained in:
parent
0485a85ee2
commit
cdb8c3a327
10 changed files with 221 additions and 175 deletions
|
@ -295,11 +295,30 @@ pub struct CrateData {
|
|||
pub is_proc_macro: bool,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Default, Clone, PartialEq, Eq)]
|
||||
pub struct Env {
|
||||
entries: FxHashMap<String, String>,
|
||||
}
|
||||
|
||||
impl fmt::Debug for Env {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
struct EnvDebug<'s>(Vec<(&'s String, &'s String)>);
|
||||
|
||||
impl fmt::Debug for EnvDebug<'_> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_map().entries(self.0.iter().copied()).finish()
|
||||
}
|
||||
}
|
||||
f.debug_struct("Env")
|
||||
.field("entries", &{
|
||||
let mut entries: Vec<_> = self.entries.iter().collect();
|
||||
entries.sort();
|
||||
EnvDebug(entries)
|
||||
})
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct Dependency {
|
||||
pub crate_id: CrateId,
|
||||
|
@ -660,8 +679,16 @@ impl Env {
|
|||
self.entries.get(env).cloned()
|
||||
}
|
||||
|
||||
pub fn iter(&self) -> impl Iterator<Item = (&str, &str)> {
|
||||
self.entries.iter().map(|(k, v)| (k.as_str(), v.as_str()))
|
||||
pub fn extend_from_other(&mut self, other: &Env) {
|
||||
self.entries.extend(other.entries.iter().map(|(x, y)| (x.to_owned(), y.to_owned())));
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Env> for Vec<(String, String)> {
|
||||
fn from(env: Env) -> Vec<(String, String)> {
|
||||
let mut entries: Vec<_> = env.entries.into_iter().collect();
|
||||
entries.sort();
|
||||
entries
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,13 +58,6 @@ impl CfgOptions {
|
|||
self.enabled.insert(CfgAtom::KeyValue { key, value });
|
||||
}
|
||||
|
||||
pub fn difference<'a>(
|
||||
&'a self,
|
||||
other: &'a CfgOptions,
|
||||
) -> impl Iterator<Item = &'a CfgAtom> + 'a {
|
||||
self.enabled.difference(&other.enabled)
|
||||
}
|
||||
|
||||
pub fn apply_diff(&mut self, diff: CfgDiff) {
|
||||
for atom in diff.enable {
|
||||
self.enabled.insert(atom);
|
||||
|
|
|
@ -407,8 +407,7 @@ impl ProcMacroExpander for Expander {
|
|||
call_site: Span,
|
||||
mixed_site: Span,
|
||||
) -> Result<tt::Subtree<Span>, ProcMacroExpansionError> {
|
||||
let env = env.iter().map(|(k, v)| (k.to_owned(), v.to_owned())).collect();
|
||||
match self.0.expand(subtree, attrs, env, def_site, call_site, mixed_site) {
|
||||
match self.0.expand(subtree, attrs, env.clone(), def_site, call_site, mixed_site) {
|
||||
Ok(Ok(subtree)) => Ok(subtree),
|
||||
Ok(Err(err)) => Err(ProcMacroExpansionError::Panic(err.0)),
|
||||
Err(err) => Err(ProcMacroExpansionError::System(err.to_string())),
|
||||
|
|
|
@ -11,6 +11,7 @@ pub mod msg;
|
|||
mod process;
|
||||
mod version;
|
||||
|
||||
use base_db::Env;
|
||||
use indexmap::IndexSet;
|
||||
use paths::AbsPathBuf;
|
||||
use rustc_hash::FxHashMap;
|
||||
|
@ -152,16 +153,13 @@ impl ProcMacro {
|
|||
&self,
|
||||
subtree: &tt::Subtree<Span>,
|
||||
attr: Option<&tt::Subtree<Span>>,
|
||||
env: Vec<(String, String)>,
|
||||
env: Env,
|
||||
def_site: Span,
|
||||
call_site: Span,
|
||||
mixed_site: Span,
|
||||
) -> Result<Result<tt::Subtree<Span>, PanicMessage>, ServerError> {
|
||||
let version = self.process.lock().unwrap_or_else(|e| e.into_inner()).version();
|
||||
let current_dir = env
|
||||
.iter()
|
||||
.find(|(name, _)| name == "CARGO_MANIFEST_DIR")
|
||||
.map(|(_, value)| value.clone());
|
||||
let current_dir = env.get("CARGO_MANIFEST_DIR");
|
||||
|
||||
let mut span_data_table = IndexSet::default();
|
||||
let def_site = span_data_table.insert_full(def_site).0;
|
||||
|
@ -172,7 +170,7 @@ impl ProcMacro {
|
|||
macro_name: self.name.to_string(),
|
||||
attributes: attr.map(|subtree| FlatTree::new(subtree, version, &mut span_data_table)),
|
||||
lib: self.dylib_path.to_path_buf().into(),
|
||||
env,
|
||||
env: env.into(),
|
||||
current_dir,
|
||||
has_global_spans: ExpnGlobals {
|
||||
serialize: version >= HAS_GLOBAL_SPANS,
|
||||
|
|
|
@ -98,6 +98,11 @@ fn get_test_json_file<T: DeserializeOwned>(file: &str) -> T {
|
|||
}
|
||||
}
|
||||
|
||||
fn replace_cargo(s: &mut String) {
|
||||
let path = toolchain::Tool::Cargo.path().to_string().escape_debug().collect::<String>();
|
||||
*s = s.replace(&path, "$CARGO$");
|
||||
}
|
||||
|
||||
fn replace_root(s: &mut String, direction: bool) {
|
||||
if direction {
|
||||
let root = if cfg!(windows) { r#"C:\\ROOT\"# } else { "/ROOT/" };
|
||||
|
@ -156,7 +161,9 @@ fn to_crate_graph(project_workspace: ProjectWorkspace) -> (CrateGraph, ProcMacro
|
|||
|
||||
fn check_crate_graph(crate_graph: CrateGraph, expect: ExpectFile) {
|
||||
let mut crate_graph = format!("{crate_graph:#?}");
|
||||
|
||||
replace_root(&mut crate_graph, false);
|
||||
replace_cargo(&mut crate_graph);
|
||||
replace_fake_sys_root(&mut crate_graph);
|
||||
expect.assert_eq(&crate_graph);
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -25,20 +24,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -77,7 +78,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -85,20 +85,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -144,7 +146,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -152,20 +153,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "an_example",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -211,7 +214,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -219,20 +221,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "it",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -278,7 +282,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=default",
|
||||
"feature=std",
|
||||
],
|
||||
|
@ -286,7 +289,6 @@
|
|||
potential_cfg_options: Some(
|
||||
CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=align",
|
||||
"feature=const-extern-fn",
|
||||
"feature=default",
|
||||
|
@ -299,20 +301,22 @@
|
|||
),
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "libc",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "The Rust Project Developers",
|
||||
"CARGO_PKG_DESCRIPTION": "Raw FFI bindings to platform libraries like libc.\n",
|
||||
"CARGO_PKG_HOMEPAGE": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_LICENSE": "MIT OR Apache-2.0",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_NAME": "libc",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_README": "README.md",
|
||||
"CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "2",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -25,20 +24,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -77,7 +78,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -85,20 +85,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -144,7 +146,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -152,20 +153,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "an_example",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -211,7 +214,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
"test",
|
||||
],
|
||||
|
@ -219,20 +221,22 @@
|
|||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "it",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -278,7 +282,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=default",
|
||||
"feature=std",
|
||||
],
|
||||
|
@ -286,7 +289,6 @@
|
|||
potential_cfg_options: Some(
|
||||
CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=align",
|
||||
"feature=const-extern-fn",
|
||||
"feature=default",
|
||||
|
@ -299,20 +301,22 @@
|
|||
),
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "libc",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "The Rust Project Developers",
|
||||
"CARGO_PKG_DESCRIPTION": "Raw FFI bindings to platform libraries like libc.\n",
|
||||
"CARGO_PKG_HOMEPAGE": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_LICENSE": "MIT OR Apache-2.0",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_NAME": "libc",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_README": "README.md",
|
||||
"CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "2",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
|
|
@ -17,27 +17,28 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -76,27 +77,28 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "hello_world",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -142,27 +144,28 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "an_example",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -208,27 +211,28 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"rust_analyzer",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "it",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$hello-world",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_NAME": "hello-world",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_README": "",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.1.0",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "1",
|
||||
"CARGO_PKG_VERSION_PATCH": "0",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
@ -274,7 +278,6 @@
|
|||
),
|
||||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=default",
|
||||
"feature=std",
|
||||
],
|
||||
|
@ -282,7 +285,6 @@
|
|||
potential_cfg_options: Some(
|
||||
CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"feature=align",
|
||||
"feature=const-extern-fn",
|
||||
"feature=default",
|
||||
|
@ -295,20 +297,22 @@
|
|||
),
|
||||
env: Env {
|
||||
entries: {
|
||||
"CARGO_PKG_LICENSE": "",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "",
|
||||
"CARGO": "$CARGO$",
|
||||
"CARGO_CRATE_NAME": "libc",
|
||||
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.98",
|
||||
"CARGO_PKG_AUTHORS": "The Rust Project Developers",
|
||||
"CARGO_PKG_DESCRIPTION": "Raw FFI bindings to platform libraries like libc.\n",
|
||||
"CARGO_PKG_HOMEPAGE": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_LICENSE": "MIT OR Apache-2.0",
|
||||
"CARGO_PKG_LICENSE_FILE": "",
|
||||
"CARGO_PKG_HOMEPAGE": "",
|
||||
"CARGO_PKG_DESCRIPTION": "",
|
||||
"CARGO_PKG_NAME": "libc",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO": "cargo",
|
||||
"CARGO_PKG_REPOSITORY": "",
|
||||
"CARGO_PKG_README": "README.md",
|
||||
"CARGO_PKG_REPOSITORY": "https://github.com/rust-lang/libc",
|
||||
"CARGO_PKG_RUST_VERSION": "",
|
||||
"CARGO_PKG_VERSION": "0.2.98",
|
||||
"CARGO_PKG_VERSION_MAJOR": "0",
|
||||
"CARGO_PKG_VERSION_MINOR": "2",
|
||||
"CARGO_PKG_VERSION_PATCH": "98",
|
||||
"CARGO_PKG_VERSION_PRE": "",
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -53,6 +54,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -82,6 +84,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -111,6 +114,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -140,6 +144,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -184,6 +189,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -213,6 +219,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -299,6 +306,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -328,6 +336,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
@ -357,6 +366,7 @@
|
|||
cfg_options: CfgOptions(
|
||||
[
|
||||
"debug_assertions",
|
||||
"miri",
|
||||
],
|
||||
),
|
||||
potential_cfg_options: None,
|
||||
|
|
|
@ -209,7 +209,7 @@ impl ChangeFixture {
|
|||
assert!(default_crate_root.is_none());
|
||||
default_crate_root = Some(file_id);
|
||||
default_cfg.extend(meta.cfg.into_iter());
|
||||
default_env.extend(meta.env.iter().map(|(x, y)| (x.to_owned(), y.to_owned())));
|
||||
default_env.extend_from_other(&meta.env);
|
||||
}
|
||||
|
||||
source_change.change_file(file_id, Some(text));
|
||||
|
|
Loading…
Reference in a new issue