Skip to main content

Module parser

Module parser 

Source

Re-exportsΒ§

use cargo_util::collections::HashMap; πŸ”’
use cargo_util_terminal::report::AnnotationKind; πŸ”’
use cargo_util_terminal::report::Group; πŸ”’
use cargo_util_terminal::report::Level; πŸ”’
use cargo_util_terminal::report::Snippet; πŸ”’
use std::borrow::Cow; πŸ”’
use std::cell::OnceCell; πŸ”’
use std::collections::BTreeMap; πŸ”’
use std::collections::BTreeSet; πŸ”’
use std::ffi::OsStr; πŸ”’
use std::path::Path; πŸ”’
use std::path::PathBuf; πŸ”’
use std::rc::Rc; πŸ”’
use std::str; πŸ”’
use std::str::FromStr; πŸ”’
use std::sync::Arc; πŸ”’
use crate::AlreadyPrintedError; πŸ”’
use crate::workspace::summary::MissingDependencyError; πŸ”’
use anyhow::Context as _; πŸ”’
use anyhow::anyhow; πŸ”’
use anyhow::bail; πŸ”’
use cargo_platform::Platform; πŸ”’
use cargo_util::paths; πŸ”’
use cargo_util_schemas::manifest; πŸ”’
use cargo_util_schemas::manifest::FeatureDefinition; πŸ”’
use cargo_util_schemas::manifest::FeatureMetadata; πŸ”’
use cargo_util_schemas::manifest::FeatureName; πŸ”’
use cargo_util_schemas::manifest::PackageName; πŸ”’
use cargo_util_schemas::manifest::PathBaseName; πŸ”’
use cargo_util_schemas::manifest::TomlDependency; πŸ”’
use cargo_util_schemas::manifest::TomlDetailedDependency; πŸ”’
use cargo_util_schemas::manifest::TomlManifest; πŸ”’
use cargo_util_schemas::manifest::TomlPackageBuild; πŸ”’
use cargo_util_schemas::manifest::TomlWorkspace; πŸ”’
use cargo_util_schemas::manifest::RustVersion; πŸ”’
use cargo_util_schemas::manifest::StringOrBool; πŸ”’
use itertools::Itertools; πŸ”’
use pathdiff::diff_paths; πŸ”’
use url::Url; πŸ”’
use crate::compiler::CompileKind; πŸ”’
use crate::compiler::CompileTarget; πŸ”’
use crate::context::ConfigRelativePath; πŸ”’
use crate::context::ConfigRelativePathResolveExt; πŸ”’
use crate::context::TOP_LEVEL_CONFIG_KEYS; πŸ”’
use crate::diagnostics::cwd_rel_path; πŸ”’
use crate::diagnostics::get_key_value_span; πŸ”’
use crate::resolver::ResolveBehavior; πŸ”’
use crate::sources::CRATES_IO_INDEX; πŸ”’
use crate::sources::CRATES_IO_REGISTRY; πŸ”’
use crate::util::errors::CargoResult; πŸ”’
use crate::util::errors::ManifestError; πŸ”’
use crate::util::interning::InternedString; πŸ”’
use crate::util; πŸ”’
use crate::util::GlobalContext; πŸ”’
use crate::util::IntoUrl; πŸ”’
use crate::util::OnceExt; πŸ”’
use crate::util::OptVersionReq; πŸ”’
use crate::workspace::dependency::Artifact; πŸ”’
use crate::workspace::dependency::ArtifactTarget; πŸ”’
use crate::workspace::dependency::DepKind; πŸ”’
use crate::workspace::manifest::ManifestMetadata; πŸ”’
use crate::workspace::manifest::TargetSourcePath; πŸ”’
use crate::workspace::CliUnstable; πŸ”’
use crate::workspace::FeatureValue; πŸ”’
use crate::workspace::Patch; πŸ”’
use crate::workspace::PatchLocation; πŸ”’
use crate::workspace::find_workspace_root; πŸ”’
use crate::workspace::resolve_relative_path; πŸ”’
use crate::workspace::Dependency; πŸ”’
use crate::workspace::Manifest; πŸ”’
use crate::workspace::Package; πŸ”’
use crate::workspace::PackageId; πŸ”’
use crate::workspace::Summary; πŸ”’
use crate::workspace::Target; πŸ”’
use crate::workspace::Edition; πŸ”’
use crate::workspace::EitherManifest; πŸ”’
use crate::workspace::Feature; πŸ”’
use crate::workspace::Features; πŸ”’
use crate::workspace::VirtualManifest; πŸ”’
use crate::workspace::Workspace; πŸ”’
use crate::workspace::GitReference; πŸ”’
use crate::workspace::PackageIdSpec; πŸ”’
use crate::workspace::SourceId; πŸ”’
use crate::workspace::WorkspaceConfig; πŸ”’
use crate::workspace::WorkspaceRootConfig; πŸ”’
use self::targets::to_targets; πŸ”’

ModulesΒ§

embedded πŸ”’
targets πŸ”’
This module implements Cargo conventions for directory layout:

MacrosΒ§

package_field_getter πŸ”’
Defines simple getter methods for inheritable fields.

StructsΒ§

InheritableFields
A group of fields that are inheritable by members of the workspace
ManifestContext πŸ”’

ConstantsΒ§

DEFAULT_README_FILES

StaticsΒ§

EXPECTED_LINT_CONFIG πŸ”’

TraitsΒ§

ResolveToPath

FunctionsΒ§

config_patch_to_dependency πŸ”’
Transforms a patch entry from Cargo config to a Dependency.
default_readme_from_package_root πŸ”’
Checks if a file with any of the default README file names exists in the package root. If so, returns a String representing that name.
dep_to_dependency πŸ”’
dependency_inherit_with πŸ”’
deprecated_underscore πŸ”’
Warn about paths that have been deprecated and may conflict.
deprecated_ws_default_features πŸ”’
deserialize_toml πŸ”’
emit_frontmatter_diagnostic πŸ”’
emit_toml_diagnostic πŸ”’
field_inherit_with πŸ”’
gather_dependencies πŸ”’
inheritable_from_path πŸ”’
inner_dependency_inherit_with πŸ”’
is_embedded
See also bin/cargo/commands/run.rss is_manifest_command
lints_inherit_with πŸ”’
lints_to_rustflags πŸ”’
load_inheritable_fields πŸ”’
lookup_path_base πŸ”’
make_document_owned πŸ”’
Transform the parsed TOML document so that all its values are owned, so that it has a ’static lifetime, to make it easier to work with it.
missing_dep_diagnostic πŸ”’
normalize_dependencies πŸ”’
normalize_features πŸ”’
normalize_package_readme πŸ”’
Returns the name of the README file for a manifest::TomlPackage.
normalize_package_toml πŸ”’
normalize_patch πŸ”’
normalize_path_dependency πŸ”’
normalize_path_sep πŸ”’
normalize_path_string_sep
normalize_toml πŸ”’
See Manifest::normalized_toml for more details
parse_document πŸ”’
patch πŸ”’
prepare_for_publish
Make the Package self-contained so its ready for packaging
prepare_target_for_publish
prepare_targets_for_publish
prepare_toml_for_publish πŸ”’
Prepares the manifest for publishing.
read_manifest
Loads a Cargo.toml from a file on disk.
read_toml_string πŸ”’
replace πŸ”’
stringify πŸ”’
to_dependency_source_id πŸ”’
to_real_manifest
to_virtual_manifest πŸ”’
to_workspace_config πŸ”’
to_workspace_root_config πŸ”’
unique_build_targets πŸ”’
Checks a list of build targets, and ensures the target names are unique within a vector. If not, the name of the offending build target is returned.
unused_dep_keys πŸ”’
validate_dependencies πŸ”’
validate_feature_definitions πŸ”’
validate_profile
Checks syntax validity and unstable feature gate for a given profile.
validate_profile_layer πŸ”’
Validates a profile.
validate_profile_override πŸ”’
Validation that is specific to an override.
validate_profiles πŸ”’
Checks syntax validity and unstable feature gate for each profile.
verify_lints πŸ”’
warn_on_unused πŸ”’