pub use self::resolver::Resolve;
pub use self::shell::{Shell, Verbosity};
pub use self::source::{GitReference, Source, SourceId, SourceMap};
-pub use self::summary::Summary;
+pub use self::summary::{FeatureMap, Summary};
pub use self::workspace::{Members, Workspace, WorkspaceConfig, WorkspaceRootConfig};
pub mod source;
use std::cell::{Ref, RefCell};
-use std::collections::{BTreeMap, HashMap};
+use std::collections::HashMap;
use std::fmt;
use std::hash;
use std::path::{Path, PathBuf};
use lazycell::LazyCell;
use core::{Dependency, Manifest, PackageId, SourceId, Target};
-use core::{SourceMap, Summary};
+use core::{FeatureMap, SourceMap, Summary};
use core::interning::InternedString;
use util::{internal, lev_distance, Config};
use util::errors::{CargoResult, CargoResultExt};
source: &'a SourceId,
dependencies: &'a [Dependency],
targets: &'a [Target],
- features: &'a BTreeMap<String, Vec<String>>,
+ features: &'a FeatureMap,
manifest_path: &'a str,
}
struct Inner {
package_id: PackageId,
dependencies: Vec<Dependency>,
- features: BTreeMap<String, Vec<String>>,
+ features: FeatureMap,
checksum: Option<String>,
links: Option<InternedString>,
}
pub fn dependencies(&self) -> &[Dependency] {
&self.inner.dependencies
}
- pub fn features(&self) -> &BTreeMap<String, Vec<String>> {
+ pub fn features(&self) -> &FeatureMap {
&self.inner.features
}
pub fn checksum(&self) -> Option<&str> {
self.inner.package_id == other.inner.package_id
}
}
+
+pub type FeatureMap = BTreeMap<String, Vec<String>>;