mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Remove SmolStr from project model
This commit is contained in:
parent
ddbf43b630
commit
12c70871cc
5 changed files with 7 additions and 19 deletions
|
@ -1,7 +1,6 @@
|
|||
use std::path::{Path, PathBuf};
|
||||
|
||||
use cargo_metadata::{MetadataCommand, CargoOpt};
|
||||
use smol_str::SmolStr;
|
||||
use ra_arena::{Arena, RawId, impl_arena_id};
|
||||
use rustc_hash::FxHashMap;
|
||||
use failure::format_err;
|
||||
|
@ -31,7 +30,7 @@ impl_arena_id!(Target);
|
|||
|
||||
#[derive(Debug, Clone)]
|
||||
struct PackageData {
|
||||
name: SmolStr,
|
||||
name: String,
|
||||
manifest: PathBuf,
|
||||
targets: Vec<Target>,
|
||||
is_member: bool,
|
||||
|
@ -41,13 +40,13 @@ struct PackageData {
|
|||
#[derive(Debug, Clone)]
|
||||
pub struct PackageDependency {
|
||||
pub pkg: Package,
|
||||
pub name: SmolStr,
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
struct TargetData {
|
||||
pkg: Package,
|
||||
name: SmolStr,
|
||||
name: String,
|
||||
root: PathBuf,
|
||||
kind: TargetKind,
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ impl ProjectWorkspace {
|
|||
if let (Some(&from), Some(&to)) =
|
||||
(sysroot_crates.get(&from), sysroot_crates.get(&to))
|
||||
{
|
||||
if let Err(_) = crate_graph.add_dep(from, name.clone(), to) {
|
||||
if let Err(_) = crate_graph.add_dep(from, name.into(), to) {
|
||||
log::error!("cyclic dependency between sysroot crates")
|
||||
}
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ impl ProjectWorkspace {
|
|||
for dep in pkg.dependencies(&self.cargo) {
|
||||
if let Some(&to) = pkg_to_lib_crate.get(&dep.pkg) {
|
||||
for &from in pkg_crates.get(&pkg).into_iter().flatten() {
|
||||
if let Err(_) = crate_graph.add_dep(from, dep.name.clone(), to) {
|
||||
if let Err(_) = crate_graph.add_dep(from, dep.name.clone().into(), to) {
|
||||
log::error!(
|
||||
"cyclic dependency {} -> {}",
|
||||
pkg.name(&self.cargo),
|
||||
|
|
|
@ -3,8 +3,6 @@ use std::{
|
|||
process::Command,
|
||||
};
|
||||
|
||||
use smol_str::SmolStr;
|
||||
|
||||
use ra_arena::{Arena, RawId, impl_arena_id};
|
||||
|
||||
use crate::Result;
|
||||
|
@ -20,7 +18,7 @@ impl_arena_id!(SysrootCrate);
|
|||
|
||||
#[derive(Debug, Clone)]
|
||||
struct SysrootCrateData {
|
||||
name: SmolStr,
|
||||
name: String,
|
||||
root: PathBuf,
|
||||
deps: Vec<SysrootCrate>,
|
||||
}
|
||||
|
@ -81,7 +79,7 @@ impl Sysroot {
|
|||
}
|
||||
|
||||
impl SysrootCrate {
|
||||
pub fn name(self, sysroot: &Sysroot) -> &SmolStr {
|
||||
pub fn name(self, sysroot: &Sysroot) -> &str {
|
||||
&sysroot.crates[self].name
|
||||
}
|
||||
pub fn root(self, sysroot: &Sysroot) -> &Path {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue