mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-30 13:51:31 +00:00
fix: Split toolchain and datalayout out of CrateData
This commit is contained in:
parent
a01655552d
commit
b1404d387a
22 changed files with 246 additions and 345 deletions
|
@ -501,7 +501,7 @@ fn get_doc_base_urls(
|
|||
let Some(krate) = def.krate(db) else { return Default::default() };
|
||||
let Some(display_name) = krate.display_name(db) else { return Default::default() };
|
||||
let crate_data = &db.crate_graph()[krate.into()];
|
||||
let channel = crate_data.channel().unwrap_or(ReleaseChannel::Nightly).as_str();
|
||||
let channel = db.toolchain_channel(krate.into()).unwrap_or(ReleaseChannel::Nightly).as_str();
|
||||
|
||||
let (web_base, local_base) = match &crate_data.origin {
|
||||
// std and co do not specify `html_root_url` any longer so we gotta handwrite this ourself.
|
||||
|
|
|
@ -253,11 +253,11 @@ impl Analysis {
|
|||
Env::default(),
|
||||
false,
|
||||
CrateOrigin::Local { repo: None, name: None },
|
||||
Err("Analysis::from_single_file has no target layout".into()),
|
||||
None,
|
||||
);
|
||||
change.change_file(file_id, Some(Arc::from(text)));
|
||||
change.set_crate_graph(crate_graph);
|
||||
change.set_target_data_layouts(vec![Err("fixture has no layout".into())]);
|
||||
change.set_toolchains(vec![None]);
|
||||
host.apply_change(change);
|
||||
(host.analysis(), file_id)
|
||||
}
|
||||
|
|
|
@ -39,8 +39,6 @@ pub(crate) fn shuffle_crate_graph(db: &mut RootDatabase) {
|
|||
data.env.clone(),
|
||||
data.is_proc_macro,
|
||||
data.origin.clone(),
|
||||
data.target_layout.clone(),
|
||||
data.toolchain.clone(),
|
||||
);
|
||||
new_proc_macros.insert(new_id, proc_macros[&old_id].clone());
|
||||
map.insert(old_id, new_id);
|
||||
|
|
|
@ -72,8 +72,6 @@ pub(crate) fn status(db: &RootDatabase, file_id: Option<FileId>) -> String {
|
|||
dependencies,
|
||||
origin,
|
||||
is_proc_macro,
|
||||
target_layout,
|
||||
toolchain,
|
||||
} = &crate_graph[crate_id];
|
||||
format_to!(
|
||||
buf,
|
||||
|
@ -91,12 +89,6 @@ pub(crate) fn status(db: &RootDatabase, file_id: Option<FileId>) -> String {
|
|||
format_to!(buf, " Env: {:?}\n", env);
|
||||
format_to!(buf, " Origin: {:?}\n", origin);
|
||||
format_to!(buf, " Is a proc macro crate: {}\n", is_proc_macro);
|
||||
format_to!(buf, " Workspace Target Layout: {:?}\n", target_layout);
|
||||
format_to!(
|
||||
buf,
|
||||
" Workspace Toolchain: {}\n",
|
||||
toolchain.as_ref().map_or_else(|| "n/a".into(), |v| v.to_string())
|
||||
);
|
||||
let deps = dependencies
|
||||
.iter()
|
||||
.map(|dep| format!("{}={}", dep.name, dep.crate_id.into_raw()))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue