Full Code of rust-lang/cargo for AI

master 6e62fbb83f78 cached
2481 files
12.7 MB
3.5M tokens
10606 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (13,830K chars total). Download the full file to get everything.
Repository: rust-lang/cargo
Branch: master
Commit: 6e62fbb83f78
Files: 2481
Total size: 12.7 MB

Directory structure:
gitextract_myxolkbh/

├── .cargo/
│   └── config.toml
├── .git-blame-ignore-revs
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   ├── feature_request.yml
│   │   ├── new_lint.yml
│   │   └── tracking_issue.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── renovate.json5
│   └── workflows/
│       ├── audit.yml
│       ├── contrib.yml
│       ├── main.yml
│       └── release.yml
├── .gitignore
├── .ignore
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Cargo.toml
├── LICENSE-APACHE
├── LICENSE-MIT
├── LICENSE-THIRD-PARTY
├── README.md
├── benches/
│   ├── README.md
│   ├── benchsuite/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── benches/
│   │   │   ├── global_cache_tracker.rs
│   │   │   ├── resolve.rs
│   │   │   └── workspace_initialization.rs
│   │   ├── global-cache-tracker/
│   │   │   ├── global-cache-sample
│   │   │   └── random-sample
│   │   └── src/
│   │       ├── bin/
│   │       │   └── capture-last-use.rs
│   │       └── lib.rs
│   ├── capture/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   └── workspaces/
│       ├── cargo.tgz
│       ├── diem.tgz
│       ├── empty.tgz
│       ├── gecko-dev.tgz
│       ├── rust-ws-inherit.tgz
│       ├── rust.tgz
│       ├── servo.tgz
│       ├── substrate.tgz
│       ├── tikv.tgz
│       └── toml-rs.tgz
├── build.rs
├── ci/
│   ├── clean-test-output.sh
│   ├── dump-environment.sh
│   ├── fetch-smoke-test.sh
│   ├── generate.py
│   ├── validate-man.sh
│   └── validate-version-bump.sh
├── clippy.toml
├── crates/
│   ├── build-rs/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── ident.rs
│   │       ├── input.rs
│   │       ├── lib.rs
│   │       └── output.rs
│   ├── build-rs-test-lib/
│   │   ├── Cargo.toml
│   │   ├── build.rs
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-platform/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   └── matches.rs
│   │   ├── src/
│   │   │   ├── cfg.rs
│   │   │   ├── error.rs
│   │   │   └── lib.rs
│   │   └── tests/
│   │       └── test_cfg.rs
│   ├── cargo-test-macro/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-test-support/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── build.rs
│   │   ├── containers/
│   │   │   ├── apache/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── bar/
│   │   │   │   │   ├── Cargo.toml
│   │   │   │   │   └── src/
│   │   │   │   │       └── lib.rs
│   │   │   │   └── httpd-cargo.conf
│   │   │   └── sshd/
│   │   │       ├── Dockerfile
│   │   │       └── bar/
│   │   │           ├── Cargo.toml
│   │   │           └── src/
│   │   │               └── lib.rs
│   │   └── src/
│   │       ├── compare.rs
│   │       ├── containers.rs
│   │       ├── cross_compile.rs
│   │       ├── git.rs
│   │       ├── install.rs
│   │       ├── lib.rs
│   │       ├── paths.rs
│   │       ├── publish.rs
│   │       └── registry.rs
│   ├── cargo-util/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── du.rs
│   │       ├── lib.rs
│   │       ├── paths.rs
│   │       ├── process_builder.rs
│   │       ├── process_error.rs
│   │       ├── read2.rs
│   │       ├── registry.rs
│   │       └── sha256.rs
│   ├── cargo-util-schemas/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── index.schema.json
│   │   ├── lockfile.schema.json
│   │   ├── manifest.schema.json
│   │   └── src/
│   │       ├── core/
│   │       │   ├── mod.rs
│   │       │   ├── package_id_spec.rs
│   │       │   ├── partial_version.rs
│   │       │   └── source_kind.rs
│   │       ├── index.rs
│   │       ├── lib.rs
│   │       ├── lockfile.rs
│   │       ├── manifest/
│   │       │   ├── mod.rs
│   │       │   └── rust_version.rs
│   │       ├── messages.rs
│   │       ├── restricted_names.rs
│   │       └── schema.rs
│   ├── crates-io/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── lib.rs
│   ├── home/
│   │   ├── CHANGELOG.md
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── env.rs
│   │       ├── lib.rs
│   │       └── windows.rs
│   ├── mdman/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── doc/
│   │   │   ├── mdman.md
│   │   │   └── out/
│   │   │       ├── mdman.1
│   │   │       ├── mdman.md
│   │   │       └── mdman.txt
│   │   ├── src/
│   │   │   ├── format/
│   │   │   │   ├── man.rs
│   │   │   │   ├── md.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── text.rs
│   │   │   ├── hbs.rs
│   │   │   ├── lib.rs
│   │   │   ├── main.rs
│   │   │   └── util.rs
│   │   └── tests/
│   │       ├── compare/
│   │       │   ├── expected/
│   │       │   │   ├── formatting.1
│   │       │   │   ├── formatting.md
│   │       │   │   ├── formatting.txt
│   │       │   │   ├── links.1
│   │       │   │   ├── links.md
│   │       │   │   ├── links.txt
│   │       │   │   ├── options.1
│   │       │   │   ├── options.md
│   │       │   │   ├── options.txt
│   │       │   │   ├── tables.1
│   │       │   │   ├── tables.md
│   │       │   │   ├── tables.txt
│   │       │   │   ├── vars.7
│   │       │   │   ├── vars.md
│   │       │   │   └── vars.txt
│   │       │   ├── formatting.md
│   │       │   ├── includes/
│   │       │   │   ├── links-include.md
│   │       │   │   └── options-common.md
│   │       │   ├── links.md
│   │       │   ├── options.md
│   │       │   ├── tables.md
│   │       │   └── vars.md
│   │       ├── compare.rs
│   │       ├── invalid/
│   │       │   ├── nested.md
│   │       │   └── not-inside-options.md
│   │       └── invalid.rs
│   ├── resolver-tests/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── src/
│   │   │   ├── helpers.rs
│   │   │   ├── lib.rs
│   │   │   └── sat.rs
│   │   └── tests/
│   │       ├── proptests.rs
│   │       ├── pubgrub.rs
│   │       ├── resolve.rs
│   │       └── validated.rs
│   ├── rustfix/
│   │   ├── CHANGELOG.md
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   └── fix-json.rs
│   │   ├── proptest-regressions/
│   │   │   └── replace.txt
│   │   ├── src/
│   │   │   ├── diagnostics.rs
│   │   │   ├── error.rs
│   │   │   ├── lib.rs
│   │   │   └── replace.rs
│   │   └── tests/
│   │       ├── edge-cases/
│   │       │   ├── empty.json
│   │       │   ├── empty.rs
│   │       │   ├── indented_whitespace.json
│   │       │   ├── no_main.json
│   │       │   ├── no_main.rs
│   │       │   ├── out_of_bounds.recorded.json
│   │       │   └── utf8_idents.recorded.json
│   │       ├── edge_cases.rs
│   │       ├── everything/
│   │       │   ├── .gitignore
│   │       │   ├── E0178.fixed.rs
│   │       │   ├── E0178.json
│   │       │   ├── E0178.rs
│   │       │   ├── closure-immutable-outer-variable.fixed.rs
│   │       │   ├── closure-immutable-outer-variable.json
│   │       │   ├── closure-immutable-outer-variable.rs
│   │       │   ├── dedup-suggestions.fixed.rs
│   │       │   ├── dedup-suggestions.json
│   │       │   ├── dedup-suggestions.rs
│   │       │   ├── handle-insert-only.fixed.rs
│   │       │   ├── handle-insert-only.json
│   │       │   ├── handle-insert-only.rs
│   │       │   ├── lt-generic-comp.fixed.rs
│   │       │   ├── lt-generic-comp.json
│   │       │   ├── lt-generic-comp.rs
│   │       │   ├── multiple-solutions.fixed.rs
│   │       │   ├── multiple-solutions.json
│   │       │   ├── multiple-solutions.rs
│   │       │   ├── replace-only-one-char.fixed.rs
│   │       │   ├── replace-only-one-char.json
│   │       │   ├── replace-only-one-char.rs
│   │       │   ├── str-lit-type-mismatch.fixed.rs
│   │       │   ├── str-lit-type-mismatch.json
│   │       │   ├── str-lit-type-mismatch.rs
│   │       │   ├── use-insert.fixed.rs
│   │       │   ├── use-insert.json
│   │       │   └── use-insert.rs
│   │       └── parse_and_replace.rs
│   ├── semver-check/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-build-man/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-bump-check/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       ├── main.rs
│   │       └── xtask.rs
│   ├── xtask-lint-docs/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-spellcheck/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   └── xtask-stale-label/
│       ├── Cargo.toml
│       └── src/
│           └── main.rs
├── credential/
│   ├── README.md
│   ├── cargo-credential/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── file-provider.rs
│   │   │   └── stdout-redirected.rs
│   │   ├── src/
│   │   │   ├── error.rs
│   │   │   ├── lib.rs
│   │   │   ├── secret.rs
│   │   │   └── stdio.rs
│   │   └── tests/
│   │       └── examples.rs
│   ├── cargo-credential-1password/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── main.rs
│   ├── cargo-credential-libsecret/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-credential-macos-keychain/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   └── cargo-credential-wincred/
│       ├── Cargo.toml
│       ├── README.md
│       └── src/
│           └── lib.rs
├── deny.toml
├── publish.py
├── rustfmt.toml
├── src/
│   ├── bin/
│   │   └── cargo/
│   │       ├── cli.rs
│   │       ├── commands/
│   │       │   ├── add.rs
│   │       │   ├── bench.rs
│   │       │   ├── build.rs
│   │       │   ├── check.rs
│   │       │   ├── clean.rs
│   │       │   ├── config.rs
│   │       │   ├── doc.rs
│   │       │   ├── fetch.rs
│   │       │   ├── fix.rs
│   │       │   ├── generate_lockfile.rs
│   │       │   ├── git_checkout.rs
│   │       │   ├── help.rs
│   │       │   ├── info.rs
│   │       │   ├── init.rs
│   │       │   ├── install.rs
│   │       │   ├── locate_project.rs
│   │       │   ├── login.rs
│   │       │   ├── logout.rs
│   │       │   ├── metadata.rs
│   │       │   ├── mod.rs
│   │       │   ├── new.rs
│   │       │   ├── owner.rs
│   │       │   ├── package.rs
│   │       │   ├── pkgid.rs
│   │       │   ├── publish.rs
│   │       │   ├── read_manifest.rs
│   │       │   ├── remove.rs
│   │       │   ├── report.rs
│   │       │   ├── run.rs
│   │       │   ├── rustc.rs
│   │       │   ├── rustdoc.rs
│   │       │   ├── search.rs
│   │       │   ├── test.rs
│   │       │   ├── tree.rs
│   │       │   ├── uninstall.rs
│   │       │   ├── update.rs
│   │       │   ├── vendor.rs
│   │       │   ├── verify_project.rs
│   │       │   ├── version.rs
│   │       │   └── yank.rs
│   │       └── main.rs
│   ├── cargo/
│   │   ├── core/
│   │   │   ├── compiler/
│   │   │   │   ├── artifact.rs
│   │   │   │   ├── build_config.rs
│   │   │   │   ├── build_context/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── target_info.rs
│   │   │   │   ├── build_runner/
│   │   │   │   │   ├── compilation_files.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── compilation.rs
│   │   │   │   ├── compile_kind.rs
│   │   │   │   ├── crate_type.rs
│   │   │   │   ├── custom_build.rs
│   │   │   │   ├── fingerprint/
│   │   │   │   │   ├── dep_info.rs
│   │   │   │   │   ├── dirty_reason.rs
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── rustdoc.rs
│   │   │   │   ├── future_incompat.rs
│   │   │   │   ├── job_queue/
│   │   │   │   │   ├── job.rs
│   │   │   │   │   ├── job_state.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── layout.rs
│   │   │   │   ├── links.rs
│   │   │   │   ├── locking.rs
│   │   │   │   ├── lto.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── output_depinfo.rs
│   │   │   │   ├── output_sbom.rs
│   │   │   │   ├── rustdoc.rs
│   │   │   │   ├── standard_lib.rs
│   │   │   │   ├── timings/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   ├── report.rs
│   │   │   │   │   └── timings.js
│   │   │   │   ├── unit.rs
│   │   │   │   ├── unit_dependencies.rs
│   │   │   │   └── unit_graph.rs
│   │   │   ├── dependency.rs
│   │   │   ├── features.rs
│   │   │   ├── gc.rs
│   │   │   ├── global_cache_tracker.rs
│   │   │   ├── manifest.rs
│   │   │   ├── mod.rs
│   │   │   ├── package.rs
│   │   │   ├── package_id.rs
│   │   │   ├── package_id_spec.rs
│   │   │   ├── profiles.rs
│   │   │   ├── registry.rs
│   │   │   ├── resolver/
│   │   │   │   ├── conflict_cache.rs
│   │   │   │   ├── context.rs
│   │   │   │   ├── dep_cache.rs
│   │   │   │   ├── encode.rs
│   │   │   │   ├── errors.rs
│   │   │   │   ├── features.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── resolve.rs
│   │   │   │   ├── types.rs
│   │   │   │   └── version_prefs.rs
│   │   │   ├── shell.rs
│   │   │   ├── source_id.rs
│   │   │   ├── summary.rs
│   │   │   └── workspace.rs
│   │   ├── lib.rs
│   │   ├── lints/
│   │   │   ├── mod.rs
│   │   │   └── rules/
│   │   │       ├── blanket_hint_mostly_unused.rs
│   │   │       ├── im_a_teapot.rs
│   │   │       ├── implicit_minimum_version_req.rs
│   │   │       ├── missing_lints_inheritance.rs
│   │   │       ├── mod.rs
│   │   │       ├── non_kebab_case_bins.rs
│   │   │       ├── non_kebab_case_features.rs
│   │   │       ├── non_kebab_case_packages.rs
│   │   │       ├── non_snake_case_features.rs
│   │   │       ├── non_snake_case_packages.rs
│   │   │       ├── redundant_homepage.rs
│   │   │       ├── redundant_readme.rs
│   │   │       ├── unknown_lints.rs
│   │   │       ├── unused_workspace_dependencies.rs
│   │   │       └── unused_workspace_package_fields.rs
│   │   ├── macros.rs
│   │   ├── ops/
│   │   │   ├── cargo_add/
│   │   │   │   ├── crate_spec.rs
│   │   │   │   └── mod.rs
│   │   │   ├── cargo_clean.rs
│   │   │   ├── cargo_compile/
│   │   │   │   ├── compile_filter.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── packages.rs
│   │   │   │   └── unit_generator.rs
│   │   │   ├── cargo_config.rs
│   │   │   ├── cargo_doc.rs
│   │   │   ├── cargo_fetch.rs
│   │   │   ├── cargo_install.rs
│   │   │   ├── cargo_new.rs
│   │   │   ├── cargo_output_metadata.rs
│   │   │   ├── cargo_package/
│   │   │   │   ├── mod.rs
│   │   │   │   ├── vcs.rs
│   │   │   │   └── verify.rs
│   │   │   ├── cargo_pkgid.rs
│   │   │   ├── cargo_read_manifest.rs
│   │   │   ├── cargo_remove.rs
│   │   │   ├── cargo_report/
│   │   │   │   ├── mod.rs
│   │   │   │   ├── rebuilds.rs
│   │   │   │   ├── sessions.rs
│   │   │   │   ├── timings.rs
│   │   │   │   └── util.rs
│   │   │   ├── cargo_run.rs
│   │   │   ├── cargo_test.rs
│   │   │   ├── cargo_uninstall.rs
│   │   │   ├── cargo_update.rs
│   │   │   ├── common_for_install_and_uninstall.rs
│   │   │   ├── fix/
│   │   │   │   ├── fix_edition.rs
│   │   │   │   └── mod.rs
│   │   │   ├── lockfile.rs
│   │   │   ├── mod.rs
│   │   │   ├── registry/
│   │   │   │   ├── info/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── view.rs
│   │   │   │   ├── login.rs
│   │   │   │   ├── logout.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── owner.rs
│   │   │   │   ├── publish.rs
│   │   │   │   ├── search.rs
│   │   │   │   └── yank.rs
│   │   │   ├── resolve.rs
│   │   │   ├── tree/
│   │   │   │   ├── format/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── parse.rs
│   │   │   │   ├── graph.rs
│   │   │   │   └── mod.rs
│   │   │   └── vendor.rs
│   │   ├── sources/
│   │   │   ├── config.rs
│   │   │   ├── directory.rs
│   │   │   ├── git/
│   │   │   │   ├── known_hosts.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── oxide.rs
│   │   │   │   ├── source.rs
│   │   │   │   └── utils.rs
│   │   │   ├── mod.rs
│   │   │   ├── overlay.rs
│   │   │   ├── path.rs
│   │   │   ├── registry/
│   │   │   │   ├── download.rs
│   │   │   │   ├── http_remote.rs
│   │   │   │   ├── index/
│   │   │   │   │   ├── cache.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── local.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── remote.rs
│   │   │   ├── replaced.rs
│   │   │   └── source.rs
│   │   ├── util/
│   │   │   ├── auth/
│   │   │   │   └── mod.rs
│   │   │   ├── cache_lock.rs
│   │   │   ├── canonical_url.rs
│   │   │   ├── command_prelude.rs
│   │   │   ├── context/
│   │   │   │   ├── config_value.rs
│   │   │   │   ├── de.rs
│   │   │   │   ├── environment.rs
│   │   │   │   ├── error.rs
│   │   │   │   ├── key.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── path.rs
│   │   │   │   ├── schema.rs
│   │   │   │   ├── target.rs
│   │   │   │   └── value.rs
│   │   │   ├── counter.rs
│   │   │   ├── cpu.rs
│   │   │   ├── credential/
│   │   │   │   ├── adaptor.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── paseto.rs
│   │   │   │   ├── process.rs
│   │   │   │   └── token.rs
│   │   │   ├── dependency_queue.rs
│   │   │   ├── diagnostic_server.rs
│   │   │   ├── edit_distance.rs
│   │   │   ├── errors.rs
│   │   │   ├── flock.rs
│   │   │   ├── frontmatter.rs
│   │   │   ├── graph.rs
│   │   │   ├── hasher.rs
│   │   │   ├── hex.rs
│   │   │   ├── important_paths.rs
│   │   │   ├── interning.rs
│   │   │   ├── into_url.rs
│   │   │   ├── into_url_with_base.rs
│   │   │   ├── io.rs
│   │   │   ├── job.rs
│   │   │   ├── lockserver.rs
│   │   │   ├── log_message.rs
│   │   │   ├── logger.rs
│   │   │   ├── machine_message.rs
│   │   │   ├── mod.rs
│   │   │   ├── network/
│   │   │   │   ├── http.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── proxy.rs
│   │   │   │   ├── retry.rs
│   │   │   │   └── sleep.rs
│   │   │   ├── once.rs
│   │   │   ├── open.rs
│   │   │   ├── progress.rs
│   │   │   ├── queue.rs
│   │   │   ├── restricted_names.rs
│   │   │   ├── rustc.rs
│   │   │   ├── semver_eval_ext.rs
│   │   │   ├── semver_ext.rs
│   │   │   ├── sqlite.rs
│   │   │   ├── style.rs
│   │   │   ├── toml/
│   │   │   │   ├── embedded.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── targets.rs
│   │   │   ├── toml_mut/
│   │   │   │   ├── dependency.rs
│   │   │   │   ├── manifest.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── upgrade.rs
│   │   │   ├── vcs.rs
│   │   │   └── workspace.rs
│   │   └── version.rs
│   ├── doc/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── book.toml
│   │   ├── contrib/
│   │   │   ├── README.md
│   │   │   ├── book.toml
│   │   │   └── src/
│   │   │       ├── SUMMARY.md
│   │   │       ├── design.md
│   │   │       ├── documentation/
│   │   │       │   └── index.md
│   │   │       ├── implementation/
│   │   │       │   ├── architecture.md
│   │   │       │   ├── console.md
│   │   │       │   ├── debugging.md
│   │   │       │   ├── filesystem.md
│   │   │       │   ├── formatting.md
│   │   │       │   ├── index.md
│   │   │       │   ├── packages.md
│   │   │       │   ├── schemas.md
│   │   │       │   └── subcommands.md
│   │   │       ├── index.md
│   │   │       ├── issues.md
│   │   │       ├── process/
│   │   │       │   ├── index.md
│   │   │       │   ├── release.md
│   │   │       │   ├── rfc.md
│   │   │       │   ├── security.md
│   │   │       │   ├── unstable.md
│   │   │       │   └── working-on-cargo.md
│   │   │       ├── team.md
│   │   │       └── tests/
│   │   │           ├── crater.md
│   │   │           ├── index.md
│   │   │           ├── profiling.md
│   │   │           ├── running.md
│   │   │           └── writing.md
│   │   ├── man/
│   │   │   ├── cargo-add.md
│   │   │   ├── cargo-bench.md
│   │   │   ├── cargo-build.md
│   │   │   ├── cargo-check.md
│   │   │   ├── cargo-clean.md
│   │   │   ├── cargo-doc.md
│   │   │   ├── cargo-fetch.md
│   │   │   ├── cargo-fix.md
│   │   │   ├── cargo-generate-lockfile.md
│   │   │   ├── cargo-help.md
│   │   │   ├── cargo-info.md
│   │   │   ├── cargo-init.md
│   │   │   ├── cargo-install.md
│   │   │   ├── cargo-locate-project.md
│   │   │   ├── cargo-login.md
│   │   │   ├── cargo-logout.md
│   │   │   ├── cargo-metadata.md
│   │   │   ├── cargo-new.md
│   │   │   ├── cargo-owner.md
│   │   │   ├── cargo-package.md
│   │   │   ├── cargo-pkgid.md
│   │   │   ├── cargo-publish.md
│   │   │   ├── cargo-remove.md
│   │   │   ├── cargo-report-future-incompatibilities.md
│   │   │   ├── cargo-report.md
│   │   │   ├── cargo-run.md
│   │   │   ├── cargo-rustc.md
│   │   │   ├── cargo-rustdoc.md
│   │   │   ├── cargo-search.md
│   │   │   ├── cargo-test.md
│   │   │   ├── cargo-tree.md
│   │   │   ├── cargo-uninstall.md
│   │   │   ├── cargo-update.md
│   │   │   ├── cargo-vendor.md
│   │   │   ├── cargo-version.md
│   │   │   ├── cargo-yank.md
│   │   │   ├── cargo.md
│   │   │   ├── generated_txt/
│   │   │   │   ├── cargo-add.txt
│   │   │   │   ├── cargo-bench.txt
│   │   │   │   ├── cargo-build.txt
│   │   │   │   ├── cargo-check.txt
│   │   │   │   ├── cargo-clean.txt
│   │   │   │   ├── cargo-doc.txt
│   │   │   │   ├── cargo-fetch.txt
│   │   │   │   ├── cargo-fix.txt
│   │   │   │   ├── cargo-generate-lockfile.txt
│   │   │   │   ├── cargo-help.txt
│   │   │   │   ├── cargo-info.txt
│   │   │   │   ├── cargo-init.txt
│   │   │   │   ├── cargo-install.txt
│   │   │   │   ├── cargo-locate-project.txt
│   │   │   │   ├── cargo-login.txt
│   │   │   │   ├── cargo-logout.txt
│   │   │   │   ├── cargo-metadata.txt
│   │   │   │   ├── cargo-new.txt
│   │   │   │   ├── cargo-owner.txt
│   │   │   │   ├── cargo-package.txt
│   │   │   │   ├── cargo-pkgid.txt
│   │   │   │   ├── cargo-publish.txt
│   │   │   │   ├── cargo-remove.txt
│   │   │   │   ├── cargo-report-future-incompatibilities.txt
│   │   │   │   ├── cargo-report.txt
│   │   │   │   ├── cargo-run.txt
│   │   │   │   ├── cargo-rustc.txt
│   │   │   │   ├── cargo-rustdoc.txt
│   │   │   │   ├── cargo-search.txt
│   │   │   │   ├── cargo-test.txt
│   │   │   │   ├── cargo-tree.txt
│   │   │   │   ├── cargo-uninstall.txt
│   │   │   │   ├── cargo-update.txt
│   │   │   │   ├── cargo-vendor.txt
│   │   │   │   ├── cargo-version.txt
│   │   │   │   ├── cargo-yank.txt
│   │   │   │   └── cargo.txt
│   │   │   └── includes/
│   │   │       ├── description-install-root.md
│   │   │       ├── description-one-target.md
│   │   │       ├── options-display.md
│   │   │       ├── options-future-incompat.md
│   │   │       ├── options-ignore-rust-version.md
│   │   │       ├── options-index.md
│   │   │       ├── options-jobs.md
│   │   │       ├── options-keep-going.md
│   │   │       ├── options-locked.md
│   │   │       ├── options-manifest-path.md
│   │   │       ├── options-message-format.md
│   │   │       ├── options-new.md
│   │   │       ├── options-output-format.md
│   │   │       ├── options-profile-legacy-check.md
│   │   │       ├── options-profile.md
│   │   │       ├── options-registry.md
│   │   │       ├── options-release.md
│   │   │       ├── options-target-dir.md
│   │   │       ├── options-target-triple.md
│   │   │       ├── options-targets-bin-auto-built.md
│   │   │       ├── options-targets-lib-bin.md
│   │   │       ├── options-targets.md
│   │   │       ├── options-test.md
│   │   │       ├── options-timings.md
│   │   │       ├── options-token.md
│   │   │       ├── section-environment.md
│   │   │       ├── section-exit-status.md
│   │   │       ├── section-features.md
│   │   │       ├── section-options-common.md
│   │   │       ├── section-options-package.md
│   │   │       └── section-package-selection.md
│   │   ├── src/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── SUMMARY.md
│   │   │   ├── appendix/
│   │   │   │   ├── git-authentication.md
│   │   │   │   └── glossary.md
│   │   │   ├── commands/
│   │   │   │   ├── build-commands.md
│   │   │   │   ├── cargo-add.md
│   │   │   │   ├── cargo-bench.md
│   │   │   │   ├── cargo-build.md
│   │   │   │   ├── cargo-check.md
│   │   │   │   ├── cargo-clean.md
│   │   │   │   ├── cargo-clippy.md
│   │   │   │   ├── cargo-doc.md
│   │   │   │   ├── cargo-fetch.md
│   │   │   │   ├── cargo-fix.md
│   │   │   │   ├── cargo-fmt.md
│   │   │   │   ├── cargo-generate-lockfile.md
│   │   │   │   ├── cargo-help.md
│   │   │   │   ├── cargo-info.md
│   │   │   │   ├── cargo-init.md
│   │   │   │   ├── cargo-install.md
│   │   │   │   ├── cargo-locate-project.md
│   │   │   │   ├── cargo-login.md
│   │   │   │   ├── cargo-logout.md
│   │   │   │   ├── cargo-metadata.md
│   │   │   │   ├── cargo-miri.md
│   │   │   │   ├── cargo-new.md
│   │   │   │   ├── cargo-owner.md
│   │   │   │   ├── cargo-package.md
│   │   │   │   ├── cargo-pkgid.md
│   │   │   │   ├── cargo-publish.md
│   │   │   │   ├── cargo-remove.md
│   │   │   │   ├── cargo-report-future-incompatibilities.md
│   │   │   │   ├── cargo-report.md
│   │   │   │   ├── cargo-run.md
│   │   │   │   ├── cargo-rustc.md
│   │   │   │   ├── cargo-rustdoc.md
│   │   │   │   ├── cargo-search.md
│   │   │   │   ├── cargo-test.md
│   │   │   │   ├── cargo-tree.md
│   │   │   │   ├── cargo-uninstall.md
│   │   │   │   ├── cargo-update.md
│   │   │   │   ├── cargo-vendor.md
│   │   │   │   ├── cargo-version.md
│   │   │   │   ├── cargo-yank.md
│   │   │   │   ├── cargo.md
│   │   │   │   ├── deprecated-and-removed.md
│   │   │   │   ├── general-commands.md
│   │   │   │   ├── index.md
│   │   │   │   ├── manifest-commands.md
│   │   │   │   ├── package-commands.md
│   │   │   │   ├── publishing-commands.md
│   │   │   │   └── report-commands.md
│   │   │   ├── faq.md
│   │   │   ├── getting-started/
│   │   │   │   ├── first-steps.md
│   │   │   │   ├── index.md
│   │   │   │   └── installation.md
│   │   │   ├── guide/
│   │   │   │   ├── build-performance.md
│   │   │   │   ├── cargo-home.md
│   │   │   │   ├── cargo-toml-vs-cargo-lock.md
│   │   │   │   ├── continuous-integration.md
│   │   │   │   ├── creating-a-new-project.md
│   │   │   │   ├── dependencies.md
│   │   │   │   ├── index.md
│   │   │   │   ├── project-layout.md
│   │   │   │   ├── tests.md
│   │   │   │   ├── why-cargo-exists.md
│   │   │   │   └── working-on-an-existing-project.md
│   │   │   ├── index.md
│   │   │   └── reference/
│   │   │       ├── build-cache.md
│   │   │       ├── build-script-examples.md
│   │   │       ├── build-scripts.md
│   │   │       ├── cargo-targets.md
│   │   │       ├── config.md
│   │   │       ├── credential-provider-protocol.md
│   │   │       ├── environment-variables.md
│   │   │       ├── external-tools.md
│   │   │       ├── features-examples.md
│   │   │       ├── features.md
│   │   │       ├── future-incompat-report.md
│   │   │       ├── index.md
│   │   │       ├── lints.md
│   │   │       ├── manifest.md
│   │   │       ├── overriding-dependencies.md
│   │   │       ├── pkgid-spec.md
│   │   │       ├── profiles.md
│   │   │       ├── publishing.md
│   │   │       ├── registries.md
│   │   │       ├── registry-authentication.md
│   │   │       ├── registry-index.md
│   │   │       ├── registry-web-api.md
│   │   │       ├── resolver.md
│   │   │       ├── running-a-registry.md
│   │   │       ├── rust-version.md
│   │   │       ├── semver.md
│   │   │       ├── source-replacement.md
│   │   │       ├── specifying-dependencies.md
│   │   │       ├── timings.md
│   │   │       ├── unstable.md
│   │   │       └── workspaces.md
│   │   └── theme/
│   │       ├── cargo.css
│   │       └── head.hbs
│   └── etc/
│       ├── _cargo
│       ├── cargo.bashcomp.sh
│       └── man/
│           ├── cargo-add.1
│           ├── cargo-bench.1
│           ├── cargo-build.1
│           ├── cargo-check.1
│           ├── cargo-clean.1
│           ├── cargo-doc.1
│           ├── cargo-fetch.1
│           ├── cargo-fix.1
│           ├── cargo-generate-lockfile.1
│           ├── cargo-help.1
│           ├── cargo-info.1
│           ├── cargo-init.1
│           ├── cargo-install.1
│           ├── cargo-locate-project.1
│           ├── cargo-login.1
│           ├── cargo-logout.1
│           ├── cargo-metadata.1
│           ├── cargo-new.1
│           ├── cargo-owner.1
│           ├── cargo-package.1
│           ├── cargo-pkgid.1
│           ├── cargo-publish.1
│           ├── cargo-remove.1
│           ├── cargo-report-future-incompatibilities.1
│           ├── cargo-report.1
│           ├── cargo-run.1
│           ├── cargo-rustc.1
│           ├── cargo-rustdoc.1
│           ├── cargo-search.1
│           ├── cargo-test.1
│           ├── cargo-tree.1
│           ├── cargo-uninstall.1
│           ├── cargo-update.1
│           ├── cargo-vendor.1
│           ├── cargo-version.1
│           ├── cargo-yank.1
│           └── cargo.1
├── tests/
│   ├── build-std/
│   │   └── main.rs
│   └── testsuite/
│       ├── advanced_env.rs
│       ├── alt_registry.rs
│       ├── artifact_dep.rs
│       ├── artifact_dir.rs
│       ├── bad_config.rs
│       ├── bad_manifest_path.rs
│       ├── bench.rs
│       ├── binary_name.rs
│       ├── build.rs
│       ├── build_analysis.rs
│       ├── build_dir.rs
│       ├── build_dir_legacy.rs
│       ├── build_script.rs
│       ├── build_script_env.rs
│       ├── build_script_extra_link_arg.rs
│       ├── build_scripts_multiple.rs
│       ├── cache_lock.rs
│       ├── cache_messages.rs
│       ├── cargo/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── z_help/
│       │       └── mod.rs
│       ├── cargo_add/
│       │   ├── add-basic.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── add_basic/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_no_vendored_package_with_alter_registry/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── src/
│       │   │   │   │   └── lib.rs
│       │   │   │   └── vendor/
│       │   │   │       └── aa/
│       │   │   │           ├── .cargo-checksum.json
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_no_vendored_package_with_vendor/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── src/
│       │   │   │   │   └── lib.rs
│       │   │   │   └── vendor/
│       │   │   │       └── aa/
│       │   │   │           ├── .cargo-checksum.json
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_toolchain/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build_prefer_existing_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── change_rename_target/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── cyclic_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── default_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── deprecated_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── deprecated_section/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── detect_workspace_inherit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── deps/
│       │   │   │   │   └── dependency/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── deps/
│       │   │       │   └── dependency/
│       │   │       │       └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev_build_conflict/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev_existing_path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── dev_prefer_existing_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── dry_run/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── empty_dep_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── feature_suggestion_multiple/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── feature_suggestion_none/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── feature_suggestion_single/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_activated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_deactivated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_empty/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_error_activated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_error_deactivated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_multiple_occurrences/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_preserve/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_spaced_values/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_unknown/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_unknown_no_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_branch/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_conflicts_namever/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_inferred_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_inferred_name_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_multiple_names/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_multiple_packages_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_registry/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_rev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_tag/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── infer_prerelease/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_git_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_inherited_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_overwrite_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_rename_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── dependency-alt/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       ├── dependency-alt/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_manifest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_name_external/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_path/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_path_name/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_path_self/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target_empty/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_vers/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── list_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── list_features_path/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── list_features_path_no_default/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── locked_changed/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── locked_unchanged/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── lockfile_updated/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── manifest_path_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── merge_activated_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── missing_at_in_crate_spec/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── mod.rs
│       │   ├── multiple_conflicts_with_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── multiple_conflicts_with_rename/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── namever/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_args/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_default_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_optional/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── normalize_name_path_existing/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── fuzzy_name/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── primary/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── normalize_name_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_registry_existing/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_registry_yanked/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_workspace_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── primary/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── offline_empty_cache/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_default_features_with_no_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_git_with_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_features_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_optional_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inline_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_name_dev_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_name_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_no_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_default_features_with_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_optional_with_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_public_with_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional_with_no_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional_with_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_path_base_with_version/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_path_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_path_with_version/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_preserves_inline_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_public_with_no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_no_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_rename_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_version_with_git/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_version_with_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_with_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_workspace_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_workspace_dep_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_inferred_name/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_missing_base_path/
│       │   │   ├── in/
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_unstable/
│       │   │   ├── in/
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_dev/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_inferred_name/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_inferred_name_conflicts_full_feature/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── prefixed_v_in_version/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_dep_std_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_unsorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_unsorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── public_common_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── quiet/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── registry/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── rename/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── require_weak/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── rust_version_ignore/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_incompatible/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_latest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_older/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_ignore/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_incompatible/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_latest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_older/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── script_bare/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_escape/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_frontmatter/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_frontmatter_empty/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_shebang/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── sorted_table_with_dotted_item/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── symlink.rs
│       │   ├── target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_cfg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── unknown_inherited_feature/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── vers/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── workspace_name/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── workspace_path/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── workspace_path_dev/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   └── yanked/
│       │       ├── mod.rs
│       │       └── out/
│       │           └── Cargo.toml
│       ├── cargo_alias_config.rs
│       ├── cargo_bench/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── no_keep_going/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── mod.rs
│       ├── cargo_build/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_check/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_clean/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_command.rs
│       ├── cargo_config/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_doc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_env_config.rs
│       ├── cargo_features.rs
│       ├── cargo_fetch/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_fix/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_generate_lockfile/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_git_checkout/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_help/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   ├── nested_alias_dash_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_dash_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_with_extra_flags/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_subcommand_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_alias/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd_space_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   └── single_cmd_with_extra_flags/
│       │       ├── mod.rs
│       │       └── stdout.term.txt
│       ├── cargo_info/
│       │   ├── basic/
│       │   │   └── mod.rs
│       │   ├── crate_name_normalization_from_hyphen_to_underscore/
│       │   │   └── mod.rs
│       │   ├── crate_name_normalization_from_underscore_to_hyphen/
│       │   │   └── mod.rs
│       │   ├── features/
│       │   │   └── mod.rs
│       │   ├── features_activated_over_limit/
│       │   │   └── mod.rs
│       │   ├── features_activated_over_limit_verbose/
│       │   │   └── mod.rs
│       │   ├── features_deactivated_over_limit/
│       │   │   └── mod.rs
│       │   ├── git_dependency/
│       │   │   └── mod.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   ├── not_found/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── path_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── pick_msrv_compatible_package/
│       │   │   └── mod.rs
│       │   ├── pick_msrv_compatible_package_within_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crate1/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── crate2/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crate1/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── crate2/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── pick_msrv_compatible_package_within_ws_and_use_msrv_from_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crate1/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── crate2/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crate1/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── crate2/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── specify_empty_version_with_url/
│       │   │   └── mod.rs
│       │   ├── specify_version_outside_ws/
│       │   │   └── mod.rs
│       │   ├── specify_version_with_url_but_registry_is_not_matched/
│       │   │   └── mod.rs
│       │   ├── specify_version_within_ws_and_conflict_with_lockfile/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── specify_version_within_ws_and_match_with_lockfile/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── transitive_dependency_within_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   ├── direct1/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── direct2/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── transitive1/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── transitive123/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   └── transitive2/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   ├── direct1/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── direct2/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── transitive1/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── transitive123/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   └── transitive2/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── verbose/
│       │   │   └── mod.rs
│       │   ├── with_default_registry_configured/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .cargo/
│       │   │       │   └── config.toml
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_default_registry_configured_and_specified/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .cargo/
│       │   │       │   └── config.toml
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_frozen_outside_ws/
│       │   │   └── mod.rs
│       │   ├── with_frozen_within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_locked_outside_ws/
│       │   │   └── mod.rs
│       │   ├── with_locked_within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_locked_within_ws_and_pick_the_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_offline/
│       │   │   └── mod.rs
│       │   ├── with_quiet/
│       │   │   └── mod.rs
│       │   ├── within_workspace.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_and_pick_ws_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_with_alternative_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_without_lockfile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   └── without_requiring_registry_auth/
│       │       ├── in/
│       │       │   ├── .cargo/
│       │       │   │   └── config.toml
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── .cargo/
│       │           │   └── config.toml
│       │           ├── Cargo.toml
│       │           └── src/
│       │               └── lib.rs
│       ├── cargo_init/
│       │   ├── auto_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── bin_already_exists_explicit/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── bin_already_exists_explicit_nosrc/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── bin_already_exists_implicit/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── bin_already_exists_implicit_namenosrc/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── bin_already_exists_implicit_namesrc/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── case.rs
│       │   ├── bin_already_exists_implicit_nosrc/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── both_lib_and_bin/
│       │   │   └── mod.rs
│       │   ├── cant_create_library_when_both_binlib_present/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── lib.rs
│       │   │   └── mod.rs
│       │   ├── confused_by_multiple_lib_files/
│       │   │   ├── in/
│       │   │   │   ├── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── creates_binary_when_both_binlib_present/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── case.rs
│       │   │       └── lib.rs
│       │   ├── creates_binary_when_instructed_and_has_lib_file/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── creates_library_when_instructed_and_has_bin_file/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── empty_dir/
│       │   │   └── mod.rs
│       │   ├── error_on_existing_package.rs
│       │   ├── explicit_bin_with_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── formats_source/
│       │   │   ├── in/
│       │   │   │   └── rustfmt.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── rustfmt.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── fossil_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .fossil/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .fossil-settings/
│       │   │       │   ├── clean-glob
│       │   │       │   └── ignore-glob
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── git_autodetect/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── git_ignore_exists_no_conflicting_entries/
│       │   │   ├── in/
│       │   │   │   └── .gitignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── ignores_failure_to_format_source/
│       │   │   ├── in/
│       │   │   │   └── rustfmt.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── rustfmt.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── in_home_directory/
│       │   │   └── mod.rs
│       │   ├── inferred_bin_with_git/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── inferred_lib_with_git/
│       │   │   ├── in/
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── lib.rs
│       │   ├── inherit_workspace_package_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── README.md
│       │   │   │   ├── crates/
│       │   │   │   │   └── foo/
│       │   │   │   │       └── src/
│       │   │   │   │           └── main.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── invalid_dir_name/
│       │   │   └── mod.rs
│       │   ├── lib_already_exists_nosrc/
│       │   │   ├── in/
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── lib.rs
│       │   ├── lib_already_exists_src/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mercurial_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .hg/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mod.rs
│       │   ├── multibin_project_name_clash/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── case.rs
│       │   │       └── main.rs
│       │   ├── no_filename/
│       │   │   └── mod.rs
│       │   ├── path_contains_separator/
│       │   │   ├── in/
│       │   │   │   └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── pijul_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .pijul/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .ignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── reserved_name/
│       │   │   └── mod.rs
│       │   ├── reserved_name_core.rs
│       │   ├── simple_bin/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── simple_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_git_ignore_exists/
│       │   │   ├── in/
│       │   │   │   └── .gitignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_hg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_hg_ignore_exists/
│       │   │   ├── in/
│       │   │   │   ├── .hg/
│       │   │   │   │   └── .keep
│       │   │   │   └── .hgignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_lib/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── unknown_flags/
│       │   │   └── mod.rs
│       │   ├── with_argument/
│       │   │   ├── in/
│       │   │   │   └── foo/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── foo/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   └── workspace_add_member/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── crates/
│       │       │       └── foo/
│       │       │           └── .keep
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           └── crates/
│       │               └── foo/
│       │                   ├── Cargo.toml
│       │                   └── src/
│       │                       └── main.rs
│       ├── cargo_install/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_locate_project/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_login/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_logout/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_metadata/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_new/
│       │   ├── add_members_to_non_workspace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── bar/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── add_members_to_workspace_format_previous_items/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_format_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── crates/
│       │   │   │       ├── bar/
│       │   │   │       │   ├── Cargo.toml
│       │   │   │       │   └── src/
│       │   │   │       │       └── main.rs
│       │   │   │       └── qux/
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_absolute_package_path/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_empty_members/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_exclude_list/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_members_glob/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_without_members/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── bar/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── empty_name/
│       │   │   ├── in/
│       │   │   │   └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── .keep
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── ignore_current_dir_workspace/
│       │   │   ├── in/
│       │   │   │   └── workspace/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── out-of-workspace/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── workspace/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── inherit_workspace_lints/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table.in/
│       │   │   ├── Cargo.toml
│       │   │   ├── README.md
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── inherit_workspace_package_table_with_edition/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table_with_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table_without_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── README.md
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mod.rs
│       │   └── not_inherit_workspace_package_table_if_not_members/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   ├── README.md
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           ├── bar/
│       │           │   ├── Cargo.toml
│       │           │   └── src/
│       │           │       └── main.rs
│       │           └── src/
│       │               └── lib.rs
│       ├── cargo_owner/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_package/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_pkgid/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_publish/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_read_manifest/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_remove/
│       │   ├── avoid_empty_tables/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dry_run/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── gc_keep_used_patch/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── serde/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── serde_derive/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── serde/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── serde_derive/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── gc_patch/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── gc_profile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── gc_replace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-package/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-package/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── invalid_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_package/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── invalid_package_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── invalid_section/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_section_dep/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_section_missing_flags/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target_dep/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── last_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── mod.rs
│       │   ├── multiple_deps/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── multiple_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── offline/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_dep_feature/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_dep_feature_formatting/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_feature/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── package/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── remove-basic.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── remove-package.in/
│       │   │   ├── Cargo.toml
│       │   │   ├── dep-a/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── dep-b/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── remove-target.in/
│       │   │   └── Cargo.toml
│       │   ├── remove_basic/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── script/
│       │   │   ├── in/
│       │   │   │   └── cargo-remove-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-remove-test-fixture.rs
│       │   ├── script_last/
│       │   │   ├── in/
│       │   │   │   └── cargo-remove-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-remove-test-fixture.rs
│       │   ├── skip_gc_glob_profile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── update_lock_file/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── workspace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-package/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-package/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── workspace_non_virtual/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-member/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-member/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   └── workspace_preserved/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   ├── my-other-package/
│       │       │   │   ├── Cargo.toml
│       │       │   │   └── src/
│       │       │   │       └── main.rs
│       │       │   └── my-package/
│       │       │       ├── Cargo.toml
│       │       │       └── src/
│       │       │           └── main.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           ├── my-other-package/
│       │           │   ├── Cargo.toml
│       │           │   └── src/
│       │           │       └── main.rs
│       │           └── my-package/
│       │               ├── Cargo.toml
│       │               └── src/
│       │                   └── main.rs
│       ├── cargo_report/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_future_incompat/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_rebuilds/
│       │   └── mod.rs
│       ├── cargo_report_sessions/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_timings/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_run/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_rustc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_rustdoc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_search/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_targets.rs
│       ├── cargo_test/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── no_keep_going/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── mod.rs
│       ├── cargo_tree/
│       │   ├── deps.rs
│       │   ├── dupe/
│       │   │   └── mod.rs
│       │   ├── edge_kind/
│       │   │   └── mod.rs
│       │   ├── features.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_uninstall/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_update/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── toolchain_pkgname/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── main.rs
│       │       └── mod.rs
│       ├── cargo_vendor/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_verify_project/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_version/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_yank/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cfg.rs
│       ├── check.rs
│       ├── check_cfg.rs
│       ├── clean.rs
│       ├── clean_new_layout.rs
│       ├── collisions.rs
│       ├── compile_time_deps.rs
│       ├── concurrent.rs
│       ├── config.rs
│       ├── config_cli.rs
│       ├── config_include.rs
│       ├── corrupt_git.rs
│       ├── credential_process.rs
│       ├── cross_compile.rs
│       ├── cross_publish.rs
│       ├── custom_target.rs
│       ├── death.rs
│       ├── dep_info.rs
│       ├── diagnostics.rs
│       ├── direct_minimal_versions.rs
│       ├── directory.rs
│       ├── doc.rs
│       ├── docscrape.rs
│       ├── edition.rs
│       ├── error.rs
│       ├── feature_unification.rs
│       ├── features.rs
│       ├── features2.rs
│       ├── features_namespaced.rs
│       ├── fetch.rs
│       ├── fix.rs
│       ├── fix_n_times.rs
│       ├── freshness.rs
│       ├── freshness_checksum.rs
│       ├── future_incompat_report.rs
│       ├── generate_lockfile.rs
│       ├── git.rs
│       ├── git_auth.rs
│       ├── git_gc.rs
│       ├── git_shallow.rs
│       ├── glob_targets.rs
│       ├── global_cache_tracker.rs
│       ├── help.rs
│       ├── hints.rs
│       ├── https.rs
│       ├── inheritable_workspace_fields.rs
│       ├── install.rs
│       ├── install_upgrade.rs
│       ├── jobserver.rs
│       ├── lints/
│       │   ├── blanket_hint_mostly_unused.rs
│       │   ├── error/
│       │   │   └── mod.rs
│       │   ├── implicit_minimum_version_req.rs
│       │   ├── inherited/
│       │   │   └── mod.rs
│       │   ├── missing_lints_inheritance.rs
│       │   ├── mod.rs
│       │   ├── non_kebab_case_bins.rs
│       │   ├── non_kebab_case_features.rs
│       │   ├── non_kebab_case_packages.rs
│       │   ├── non_snake_case_features.rs
│       │   ├── non_snake_case_packages.rs
│       │   ├── redundant_homepage.rs
│       │   ├── redundant_readme.rs
│       │   ├── unknown_lints.rs
│       │   ├── unused_workspace_dependencies.rs
│       │   ├── unused_workspace_package_fields.rs
│       │   └── warning/
│       │       └── mod.rs
│       ├── lints_table.rs
│       ├── list_availables.rs
│       ├── local_registry.rs
│       ├── locate_project.rs
│       ├── lockfile_compat.rs
│       ├── lockfile_path.rs
│       ├── login.rs
│       ├── logout.rs
│       ├── lto.rs
│       ├── main.rs
│       ├── member_discovery.rs
│       ├── member_errors.rs
│       ├── message_format.rs
│       ├── messages.rs
│       ├── metabuild.rs
│       ├── metadata.rs
│       ├── minimal_versions.rs
│       ├── mock-std/
│       │   ├── dep_test/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   └── library/
│       │       ├── Cargo.toml
│       │       ├── alloc/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── compiler_builtins/
│       │       │   ├── Cargo.toml
│       │       │   ├── build.rs
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── core/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── panic_unwind/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── proc_macro/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── rustc-std-workspace-alloc/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── rustc-std-workspace-core/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── rustc-std-workspace-std/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── std/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── sysroot/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── test/
│       │           ├── Cargo.toml
│       │           └── src/
│       │               └── lib.rs
│       ├── multitarget.rs
│       ├── net_config.rs
│       ├── new.rs
│       ├── offline.rs
│       ├── old_cargos.rs
│       ├── open_namespaces.rs
│       ├── owner.rs
│       ├── package.rs
│       ├── package_features.rs
│       ├── package_message_format.rs
│       ├── patch.rs
│       ├── path.rs
│       ├── paths.rs
│       ├── pgo.rs
│       ├── pkgid.rs
│       ├── precise_pre_release.rs
│       ├── proc_macro.rs
│       ├── profile_config.rs
│       ├── profile_custom.rs
│       ├── profile_overrides.rs
│       ├── profile_panic_immediate_abort.rs
│       ├── profile_targets.rs
│       ├── profile_trim_paths.rs
│       ├── profiles.rs
│       ├── progress.rs
│       ├── pub_priv.rs
│       ├── publish.rs
│       ├── publish_lockfile.rs
│       ├── read_manifest.rs
│       ├── registry.rs
│       ├── registry_auth.rs
│       ├── registry_overlay.rs
│       ├── rename_deps.rs
│       ├── replace.rs
│       ├── required_features.rs
│       ├── run.rs
│       ├── rust_version.rs
│       ├── rustc.rs
│       ├── rustc_info_cache.rs
│       ├── rustdoc.rs
│       ├── rustdoc_extern_html.rs
│       ├── rustdocflags.rs
│       ├── rustflags.rs
│       ├── rustup.rs
│       ├── sbom.rs
│       ├── script/
│       │   ├── cargo.rs
│       │   ├── mod.rs
│       │   ├── rustc.rs
│       │   └── rustc_fixtures/
│       │       ├── README.md
│       │       ├── auxiliary/
│       │       │   ├── expr.rs
│       │       │   ├── lib.rs
│       │       │   └── makro.rs
│       │       ├── content-contains-whitespace.rs
│       │       ├── content-contains-whitespace.stderr
│       │       ├── content-non-lexible-tokens.rs
│       │       ├── content-non-lexible-tokens.stdout
│       │       ├── escape-hyphens-leading.rs
│       │       ├── escape-hyphens-leading.stdout
│       │       ├── escape-hyphens-nonleading-1.rs
│       │       ├── escape-hyphens-nonleading-1.stdout
│       │       ├── escape-hyphens-nonleading-2.rs
│       │       ├── escape-hyphens-nonleading-2.stdout
│       │       ├── escape-hyphens-nonleading-3.rs
│       │       ├── escape-hyphens-nonleading-3.stdout
│       │       ├── fence-close-extra-after.rs
│       │       ├── fence-close-extra-after.stderr
│       │       ├── fence-indented-mismatch.rs
│       │       ├── fence-indented-mismatch.stderr
│       │       ├── fence-indented.rs
│       │       ├── fence-indented.stdout
│       │       ├── fence-mismatch-1.rs
│       │       ├── fence-mismatch-1.stderr
│       │       ├── fence-mismatch-2.rs
│       │       ├── fence-mismatch-2.stderr
│       │       ├── fence-too-many-dashes.rs
│       │       ├── fence-too-many-dashes.stderr
│       │       ├── fence-unclosed-1.rs
│       │       ├── fence-unclosed-1.stderr
│       │       ├── fence-unclosed-2.rs
│       │       ├── fence-unclosed-2.stderr
│       │       ├── fence-unclosed-3.rs
│       │       ├── fence-unclosed-3.stderr
│       │       ├── fence-unclosed-4.rs
│       │       ├── fence-unclosed-4.stderr
│       │       ├── fence-unclosed-5.rs
│       │       ├── fence-unclosed-5.stderr
│       │       ├── fence-unclosed-6.rs
│       │       ├── fence-unclosed-6.stderr
│       │       ├── fence-whitespace-trailing-1.rs
│       │       ├── fence-whitespace-trailing-1.stdout
│       │       ├── fence-whitespace-trailing-2.rs
│       │       ├── fence-whitespace-trailing-2.stdout
│       │       ├── frontmatter-crlf.rs
│       │       ├── frontmatter-crlf.stdout
│       │       ├── infostring-comma.rs
│       │       ├── infostring-comma.stderr
│       │       ├── infostring-dot-leading.rs
│       │       ├── infostring-dot-leading.stderr
│       │       ├── infostring-dot-nonleading.rs
│       │       ├── infostring-dot-nonleading.stderr
│       │       ├── infostring-hyphen-leading.rs
│       │       ├── infostring-hyphen-leading.stderr
│       │       ├── infostring-hyphen-nonleading.rs
│       │       ├── infostring-hyphen-nonleading.stderr
│       │       ├── infostring-space.rs
│       │       ├── infostring-space.stderr
│       │       ├── location-after-shebang.rs
│       │       ├── location-after-shebang.stdout
│       │       ├── location-after-tokens.rs
│       │       ├── location-after-tokens.stdout
│       │       ├── location-include-in-expr-ctxt.rs
│       │       ├── location-include-in-expr-ctxt.stdout
│       │       ├── location-include-in-item-ctxt.rs
│       │       ├── location-include-in-item-ctxt.stdout
│       │       ├── location-proc-macro-observer.rs
│       │       ├── location-proc-macro-observer.stdout
│       │       ├── multifrontmatter.rs
│       │       └── multifrontmatter.stderr
│       ├── search.rs
│       ├── shell_quoting.rs
│       ├── source_replacement.rs
│       ├── ssh.rs
│       ├── standard_lib.rs
│       ├── test.rs
│       ├── timings.rs
│       ├── tool_paths.rs
│       ├── unit_graph.rs
│       ├── update.rs
│       ├── utils/
│       │   ├── cross_compile.rs
│       │   ├── ext.rs
│       │   ├── mod.rs
│       │   └── tools.rs
│       ├── vendor.rs
│       ├── verify_project.rs
│       ├── version.rs
│       ├── warn_on_failure.rs
│       ├── warning_override.rs
│       ├── weak_dep_features.rs
│       ├── workspaces.rs
│       └── yank.rs
├── triagebot.toml
├── typos.toml
└── windows.manifest.xml

================================================
FILE CONTENTS
================================================

================================================
FILE: .cargo/config.toml
================================================
[alias]
build-man = "run --package xtask-build-man --"
stale-label = "run --package xtask-stale-label --"
bump-check = "run --package xtask-bump-check --"
lint-docs = "run --package xtask-lint-docs --"
spellcheck = "run --package xtask-spellcheck --"

[env]
# HACK: Until this is stabilized, `snapbox`s polyfill could get confused
# inside of the rust-lang/rust repo because it looks for the furthest-away `Cargo.toml`
CARGO_RUSTC_CURRENT_DIR = { value = "", relative = true }


================================================
FILE: .git-blame-ignore-revs
================================================
# Use `git config blame.ignorerevsfile .git-blame-ignore-revs` to make `git blame` ignore the following commits.

# refactor: rustfmt for tracing
e84cc17db6ac48620e2723f51bce0703f5590060
# Rustfmt with latest nightly.
43c253e69a20321cdfd73d632fa5ec641b1aace3
#  reformat with rustfmt
df62c36b214449003997d8ee630c7d5c1c08a90c
# rustfmt
c973a6d0af55785f3072623b4d29127051a84b90
# Apply rustfmt
ebd0d58c1c11f98e804c80b3378d00f9e1000a95
# rustfmt
4787dd3acfb32c6d608342bca115094e1ed866e7
# Fix for rustfmt
ad44f0e898721f35173b59f32dae344b964dff22
# rustfmt
b9554f37abe4f802dd615a550773105a8b2eb386
# Normalize raw string indentation.
6f8c7d5a87526d10e3bbfa4098a1002076386068
# rustfmt
dcae5fcf2dc6e040d1cadac14276fd306c058b74
# Rustfmt
0dfdba6f7a7702a7f45d523b028c896084411de8
# Run rustfmt
e06a911de616b3f402f1e142b5202445d333f4eb
# rustfmt
d02f476804ae73d79059e3243ecb4c814f53bea1
# Update for nightly rustfmt.
4b6c26dd16786b416190bd0a36e7646d33b9846a
# Run rustfmt
d0430dd2b11e6ac004e8f39a712ee6425b81e12d
# Run rustfmt
c56cb4287fa98a42dafea36d0b88bb4441f63c1f
# Run rustfmt
c3f8cd3cd2999949c49c8f0e76108ffe7a37bec0
# Run code through rustfmt
648b39e98101f9b6417fc6ebc88fa7f397a5f509
# Run rustfmt
ba81441f297c6d9799473a62af021236b8bc9ed8
# Wrap some really long lines.
d6d15141f8ef21f1cebeaa4d42606f29e7d00239
# rustfmt for nightly changes.
384c311692e6ff537b51bcf57f804b917a702c9c
# Rustfmt lint
9dc70a3dabb291052a4d117b8348c9b461d1b570
# Run rustfmt
3a6cd74434cc1fdd57266740d4827ed162580005
# rustfmt, even if I disagree
189fef1173118ee3be47fa59e22fd2d21bb05bbd
# Fix zalgo formatting.
56f8848a51e5db5214ec27bb41c7d99ebac21af8
# Rustfmt adjustments
a50be59a70af64b83c07f40bc2faef80a73bc908
# Run rustfmt
ebd10526f3526b695872a8ecb381f65aaf74c019
# Rustfmt fixes
ac2a4382ee5d927d917df026d2236ff5cd668717
# Rustfmt fixes
fc4ee774483dc6b40f1edbd259879dc4cbcf20a5
# Fixed formatting with rustfmt
a82de176952f7c244adbd392d444baaafdfc819c
# Fix some formatting for some strings.
a4e9611453cb4ba3f9bcc34f2851546f57152229
# fix(fingerprint): rustfmt
009876a88af659c10b022ec4c4956f77b983d531
# Make rustfmt happy
2415a2980f455238e9422cc07abcfa4cbec9be6b
# run rustfmt
dac967ce27d4eeb496dcd98ba91641fbe29df957
# $cargo fmt --all
db09895f3c123c36e05175e2c0273bf487068b37
# Reformat everything with rustfmt from stable 1.26
d85336084d8855bfbfd431b85beaa5c094dc5e72
# rustfmt
a4947c2b47fd38857c7332d333fda7bcc405de0c
# rustfmt
404970f2261e2d6c9ba4eac410065fa6226271d9
# Prettify rustfmted single-line strings
b0c181d91ccfe1d27d4c7133049a6bfe5bacf29b
# cargo fmt
1e6828485eea0f550ed7be46ef96107b46aeb162
# rustfmt for bin/cargo.rs
ef4c09f986c0b1f701c765d894da911c2de44724
# rustfmt cargo_doc.rs
87124d5ade897b3fb38ce5cd0a2f19a9038dd8a7
# run rustfmt on core/source.rs
76fb87e2bab025acaff2d6dd919dde0e328267da
# cargo fmt
7a67e88baf0f73196973cadf887bf9a31c13e95f
# cargo fmt
7a6ff7f068acde98230d712637e934c58fc84805
# cargo fmt
7c8ee49bffdeeb138db5e22f14abbf88cf99c547
# cargo fmt
72d6c5411a215ce5ab0ff22b1e1e1525883b7c33
# rust fmt
ddd5c83b8cf63458bf67ae504bb289ed4e987d38
# cargo fmt
1179e7ef6b88a6940168cbc2e806d48ed20d92ef
# cargo fmt
0c07056bfeffee213e21cdf1e48875f59f834282
# cargo fmt
c7a79be6f8a8da1d6dee54fe3f5c137d293692b0
# cargo fmt
1839ded4aa5607d3564f02b36e517289ad6ed8e8
# cargo fmt
f2b5271a09a13f89a50861ebd71da333836bded3
# Run `cargo fmt --all`
3aa99422ca7808f1bc5621fda3a8f32f27273d9b
# cargo fmt
4538ade2d55d7353cfac8a0ce320e3c4a29bc450
# style: cargo fmt
3d042688a851d985013ee8ff64a9caef47b7b495
# run cargo fmt to pass the CI build
a4e3b81a55b8c142ab1b84f4f209414a72727e86
# Run 'cargo fmt'
60afaa77335ab464a5b6c913883ad145ae97d750
# Run 'cargo fmt'
511050baefa2ec21c2be8c3eaee2aade1da2c06b
# cargo fmt
577968e44828457dfa62fc10ccd29f42a359b746
# cargo fmt
d0f7c0ee31c81cd405dc2c163e4ca7638895610c
# appease cargo fmt
c4922052fc7470264f3df491213f74142ac67ebf
# named-profiles: formatting fixes from 'cargo fmt'
29b7e90ba37f311baaf448894bbf04721bed5791
# cargo fmt
f39302f432f62e29910c876f766eb8a324cee843
# cargo fmt
6b07c8da63c0896cc31fa6cb8b47a71fe29c88e2
# run cargo fmt --all
b48ae60e67096f7cda80a17dfa2a9ff7a916bbf7
# $cargo fmt --all
63a9c7aa6d54ff0580288f1a01795a29b3ea1c75
# Run `cargo fmt`
f16efff1509be313f4bed825e7ab974673dd03fc
# cargo fmt tests/testsuite/rustflags.rs
3ca98adbbac5752cdef337f5ac803e7843ab601a
# Format with `cargo fmt`
fecb72464328846dacd0ff8252d105b7818733ab
# cargo fmt
9b2295d11fd2816aa3032403a88d7c055cd2cf58
# Run `cargo fmt`
5d201944d7aba8380082dcb9e0c340d92e92850f
# Correct formatting with cargo fmt
90954d700ccb71b3df6ecf8ff83891dd3570f887
# Correct formatting with cargo fmt
5c241e102756e340991365d7b376997a9ae95f62
# Fix formatting issues with cargo fmt
5c7979cdf879a6cc9011432098f7ef68ed7f5e37
# cargo fmt
a6ad2de0484f1910d42793f3ec73b111403099b7
# cargo fmt
b0fbc89c33780ca3e1f2bfeacc67922ee7abe1dc
# Rustfmt 2024
1ce80236261a3cd42a95b1f1abcffede87cafef4


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug Report
description: Create a report to help us improve
labels: ["C-bug", "S-triage"]
body:
  - type: markdown
    attributes:
      value: Thanks for filing a 🐛 bug report 😄!
  - type: textarea
    id: problem
    attributes:
      label: Problem
      description: >
        Please provide a clear and concise description of what the bug is,
        including what currently happens and what you expected to happen.
    validations:
      required: true
  - type: textarea
    id: steps
    attributes:
      label: Steps
      description: Please list the steps to reproduce the bug.
      placeholder: |
        1.
        2.
        3.
  - type: textarea
    id: possible-solutions
    attributes:
      label: Possible Solution(s)
      description: >
        Not obligatory, but suggest a fix/reason for the bug,
        or ideas how to implement the addition or change.
  - type: textarea
    id: notes
    attributes:
      label: Notes
      description: Provide any additional notes that might be helpful.
  - type: textarea
    id: version
    attributes:
      label: Version
      description: Please paste the output of running `cargo version --verbose`.
      render: text


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
contact_links:
  - name: Question
    url: https://users.rust-lang.org
    about: >
      Got a question about Cargo? Ask the community on the user forum.
  - name: Inspiring Idea
    url: https://internals.rust-lang.org/c/tools-and-infrastructure/cargo
    about: >
      Need more discussions with your next big idea?
      Reach out the community on the internals forum.


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: Feature Request
description: Suggest an idea for enhancing Cargo
labels: ["C-feature-request", "S-triage"]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for filing a 🙋 feature request 😄!

        If the feature request is relatively small and already with a possible solution, this might be the place for you.

        If you are brewing a big feature that needs feedback from the community, [the internal forum] is the best fit, especially for pre-RFC. You can also talk the idea over with other developers in [#t-cargo Zulip stream].

        [the internal forum]: https://internals.rust-lang.org/c/tools-and-infrastructure/cargo/15
        [#t-cargo Zulip stream]: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo
  - type: textarea
    id: problem
    attributes:
      label: Problem
      description: >
        Please provide a clear description of your use case and the problem
        this feature request is trying to solve.
    validations:
      required: true
  - type: textarea
    id: solution
    attributes:
      label: Proposed Solution
      description: >
        Please provide a clear and concise description of what you want to happen.
  - type: textarea
    id: notes
    attributes:
      label: Notes
      description: Provide any additional context or information that might be helpful.


================================================
FILE: .github/ISSUE_TEMPLATE/new_lint.yml
================================================
name: New lint suggestion
description: Suggest a new Cargo lint.
labels: ["A-new-lint", "S-triage"]
body:
  - type: markdown
    attributes:
      value: Thank you for your lint idea!
  - type: textarea
    id: what
    attributes:
      label: What it does
      description: What does this lint do?
    validations:
      required: true
  - type: textarea
    id: advantage
    attributes:
      label: Advantage
      description: >
        What is the advantage of the recommended code over the original code?
      placeholder: |
        - Remove bounds check inserted by ...
        - Remove the need to duplicate/store ...
        - Remove typo ...
  - type: textarea
    id: drawbacks
    attributes:
      label: Drawbacks
      description: What might be possible drawbacks of such a lint?
  - type: textarea
    id: example
    attributes:
      label: Example
      description: >
        Include a short example showing when the lint should trigger together
        with the improved code.
      value: |
        ```toml
        <code>
        ```

        Could be written as:

        ```toml
        <code>
        ```
    validations:
      required: true


================================================
FILE: .github/ISSUE_TEMPLATE/tracking_issue.yml
================================================
name: Tracking Issue
description: A tracking issue for an accepted feature or RFC in Cargo.
title: "Tracking Issue for _FEATURE_NAME_"
labels: ["C-tracking-issue"]
body:
  - type: markdown
    attributes:
      value: >
        Thank you for creating a tracking issue! Tracking issues are for tracking an
        accepted feature or RFC from implementation to stabilization. Please do not
        file a tracking issue until the feature or RFC has been approved.
  - type: textarea
    id: summary
    attributes:
      label: Summary
      description: Please provide a very brief summary of the feature.
      value: |
        RFC: [#NNNN](https://github.com/rust-lang/rfcs/pull/NNNN) <!-- If this is an RFC -->
        Original issue: #NNNN <!-- if there is a related issue that spawned this feature -->
        Implementation: #NNNN <!-- link to the PR that implemented this feature if applicable -->
        Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#my-feature

        Please enter a short, one-sentence description here.
    validations:
      required: true
  - type: textarea
    id: unresolved
    attributes:
      label: Unresolved Issues
      description: List issues that have not yet been resolved.
      placeholder: |
        * [ ] Make a list of any known implementation or design issues.
  - type: textarea
    id: future
    attributes:
      label: Future Extensions
      description: >
        An optional section where you can mention where the feature may be
        extended in the future, but is explicitly not intended to
        address.
  - type: textarea
    id: about
    attributes:
      label: About tracking issues
      description: Please include this notice in the issue.
      value: |
        Tracking issues are used to record the overall progress of implementation.
        They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
        A tracking issue is however *not* meant for large scale discussion, questions, or bug reports about a feature.
        Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
_Thanks for the pull request 🎉!_
_Please read the contribution guide: <https://doc.crates.io/contrib/>._

### What does this PR try to resolve?

_Explain the motivation behind this change._
_A clear overview along with an in-depth explanation are helpful._

### How to test and review this PR?

_Demonstrate how you test this change and guide reviewers through your PR._
_With a smooth review process, a pull request usually gets reviewed quicker._


================================================
FILE: .github/renovate.json5
================================================
{
  schedule: [
    'before 5am on the first day of the month',
  ],
  semanticCommits: 'enabled',
  configMigration: true,
  dependencyDashboard: true,
  ignorePaths: [
    '**/tests/**',
  ],
  // Ignore curl-sys, for now
  // https://github.com/rust-lang/cargo/issues/16357
  ignoreDeps: ['curl-sys'],
  customManagers: [
    {
      customType: 'regex',
      managerFilePatterns: [
        '/Cargo.toml$/',
      ],
      matchStrings: [
        '\\bMSRV:1\\b.*?(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
        '(?<currentValue>\\d+\\.\\d+(\\.\\d+)?).*?\\bMSRV:1\\b',
      ],
      depNameTemplate: 'MSRV:1',  // Support 1 version of rustc
      packageNameTemplate: 'rust-lang/rust',
      datasourceTemplate: 'github-releases',
    },
    {
      customType: 'regex',
      managerFilePatterns: [
        '/Cargo.toml$/',
      ],
      matchStrings: [
        '\\bMSRV:3\\b.*?(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
        '(?<currentValue>\\d+\\.\\d+(\\.\\d+)?).*?\\bMSRV:3\\b',
      ],
      depNameTemplate: 'MSRV:3',  // Support 3 versions of rustc
      packageNameTemplate: 'rust-lang/rust',
      datasourceTemplate: 'github-releases',
    },
    {
      customType: 'regex',
      managerFilePatterns: [
        '/^.github.workflows.main.yml$/',
      ],
      matchStrings: [
        'cargo-semver-checks.releases.download.v(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
      ],
      depNameTemplate: 'cargo-semver-checks',
      packageNameTemplate: 'obi1kenobi/cargo-semver-checks',
      datasourceTemplate: 'github-releases',
    },
  ],
  packageRules: [
    {
      commitMessageTopic: 'MSRV (1 version)',
      matchManagers: [
        'custom.regex',
      ],
      matchDepNames: [
        'MSRV:1',
      ],
      extractVersion: '^(?<version>\\d+\\.\\d+)',  // Drop the patch version
      schedule: [
        '* * * * *',
      ],
      groupName: 'msrv',
    },
    {
      commitMessageTopic: 'MSRV (3 versions)',
      matchManagers: [
        'custom.regex',
      ],
      matchDepNames: [
        'MSRV:3',
      ],
      extractVersion: '^(?<version>\\d+\\.\\d+)',  // Drop the patch version
      schedule: [
        '* * * * *',
      ],
      minimumReleaseAge: '85 days',  // 2 releases back * 6 weeks per release * 7 days per week + 1
      internalChecksFilter: 'strict',
      groupName: 'msrv',
    },
    {
      commitMessageTopic: 'cargo-semver-checks',
      matchManagers: [
        'custom.regex',
      ],
      matchDepNames: [
        'cargo-semver-checks',
      ],
      extractVersion: '^v(?<version>\\d+\\.\\d+\\.\\d+)',
      schedule: [
        '* * * * *',
      ],
      internalChecksFilter: 'strict',
    },
    // Goals:
    // - Rollup safe upgrades to reduce CI runner load
    // - Have lockfile and manifest in-sync (implicit rules)
    {
      matchManagers: [
        'cargo',
      ],
      matchCurrentVersion: '>=0.1.0',
      matchUpdateTypes: [
        'patch',
      ],
      automerge: false,
      groupName: 'compatible',
    },
    {
      matchManagers: [
        'cargo',
      ],
      matchCurrentVersion: '>=1.0.0',
      matchUpdateTypes: [
        'minor',
      ],
      automerge: false,
      groupName: 'compatible',
    },
  ],
}


================================================
FILE: .github/workflows/audit.yml
================================================
name: Security audit

permissions:
  contents: read

on:
  pull_request:
    paths:
      - '**/Cargo.toml'
      - '**/Cargo.lock'
  push:
    branches:
    - master

jobs:
  cargo_deny:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          - advisories
          - bans licenses sources
    steps:
    - uses: actions/checkout@v5
    - uses: EmbarkStudios/cargo-deny-action@v2
      # Prevent sudden announcement of a new advisory from failing ci:
      continue-on-error: ${{ matrix.checks == 'advisories' }}
      with:
        command: check ${{ matrix.checks }}
        rust-version: stable


================================================
FILE: .github/workflows/contrib.yml
================================================
name: Contrib Deploy
on:
  push:
    branches:
      - master

concurrency:
  cancel-in-progress: false
  group: "gh-pages"

permissions:
  contents: read

env:
  MDBOOK_VERSION: 0.5.1

jobs:
  deploy:
    permissions:
      contents: write  # for Git to git push
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
      with:
        fetch-depth: 0
    - name: Install mdbook
      run: |
        mkdir mdbook
        curl -Lf https://github.com/rust-lang/mdBook/releases/download/v${MDBOOK_VERSION}/mdbook-v${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
        echo `pwd`/mdbook >> $GITHUB_PATH
    - name: Deploy docs
      run: |
        GENERATE_PY="$(pwd)/ci/generate.py"

        cd src/doc/contrib
        mdbook build

        # Override previous ref to avoid keeping history.
        git worktree add --orphan -B gh-pages gh-pages
        git config user.name "Deploy from CI"
        git config user.email ""
        cd gh-pages
        mv ../book contrib
        git add contrib

        # Generate HTML for link redirections.
        python3 "$GENERATE_PY"
        git add *.html
        # WARN: The CNAME file is for GitHub to redirect requests to the custom domain.
        # Missing this may entail security hazard and domain takeover.
        # See <https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#securing-your-custom-domain>
        git add CNAME

        git commit -m "Deploy $GITHUB_SHA to gh-pages"
        git push origin +gh-pages


================================================
FILE: .github/workflows/main.yml
================================================
name: CI
on:
  merge_group:
  pull_request:
    branches:
      - "**"

defaults:
  run:
    shell: bash

permissions:
  contents: read

concurrency:
  group: "${{ github.workflow }}-${{ github.ref }}"
  cancel-in-progress: true

env:
  MDBOOK_VERSION: 0.5.1

jobs:
  conclusion:
    needs:
      - build_std
      - clippy
      - msrv
      - docs
      - lint-docs
      - lockfile
      - resolver
      - report-timings
      - rustfmt
      - schema
      - spellcheck
      - test
      - test_gitoxide
    permissions:
      contents: none
    # We need to ensure this job does *not* get skipped if its dependencies fail,
    # because a skipped job is considered a success by GitHub. So we have to
    # overwrite `if:`. We use `!cancelled()` to ensure the job does still not get run
    # when the workflow is canceled manually.
    #
    # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
    if: ${{ !cancelled() }}
    runs-on: ubuntu-latest
    steps:
      # Manually check the status of all dependencies. `if: failure()` does not work.
      - name: Conclusion
        run: |
          # Print the dependent jobs to see them in the CI log
          jq -C <<< '${{ toJson(needs) }}'
          # Check if all jobs that we depend on (in the needs array) were successful.
          jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'

  # Check Code style quickly by running `rustfmt` over all code
  rustfmt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update stable && rustup default stable
    - run: rustup component add rustfmt
    - run: cargo fmt --all --check

  # Ensure there are no clippy warnings
  clippy:
    strategy:
      matrix:
        include:
        - name: Linux x86_64
          os: ubuntu-latest
        - name: macOS aarch64
          os: macos-14
        - name: Windows x86_64 MSVC
          os: windows-latest
    name: Clippy ${{ matrix.name }}
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v5
      - run: rustup update stable && rustup default stable
      - run: rustup component add clippy
      - run: cargo clippy --workspace --all-targets --no-deps -- -D warnings

  stale-label:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - run: rustup update stable && rustup default stable
      - run: cargo stale-label

  lint-docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - run: rustup update stable && rustup default stable
      - run: cargo lint-docs --check

  # Ensure Cargo.lock is up-to-date
  lockfile:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - run: rustup update stable && rustup default stable
      - run: cargo update -p cargo --locked

  check-version-bump:
    runs-on: ubuntu-latest
    if: github.repository_owner == 'rust-lang'
    env:
      BASE_SHA: ${{ github.event.pull_request.base.sha }}
      HEAD_SHA: ${{ github.event.pull_request.head.sha != '' && github.event.pull_request.head.sha || github.sha  }}
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
      - run: rustup update stable && rustup default stable
      - name: Install cargo-semver-checks
        run: |
          mkdir installed-bins
          curl -Lf https://github.com/obi1kenobi/cargo-semver-checks/releases/download/v0.47.0/cargo-semver-checks-x86_64-unknown-linux-gnu.tar.gz \
            | tar -xz --directory=./installed-bins
          echo `pwd`/installed-bins >> $GITHUB_PATH
      - run: ci/validate-version-bump.sh

  test:
    runs-on: ${{ matrix.os }}
    env:
      CARGO_PROFILE_DEV_DEBUG: 1
      CARGO_PROFILE_TEST_DEBUG: 1
      CARGO_INCREMENTAL: 0
      CARGO_PUBLIC_NETWORK_TESTS: 1
      # Workaround for https://github.com/rust-lang/rustup/issues/3036
      RUSTUP_WINDOWS_PATH_ADD_BIN: 0
    strategy:
      matrix:
        include:
        - name: Linux x86_64 stable
          os: ubuntu-latest
          rust: stable
          other: i686-unknown-linux-gnu
        - name: Linux x86_64 beta
          os: ubuntu-latest
          rust: beta
          other: i686-unknown-linux-gnu
        - name: Linux x86_64 nightly
          os: ubuntu-latest
          rust: nightly
          other: i686-unknown-linux-gnu
        - name: Linux aarch64 stable
          os: ubuntu-24.04-arm
          rust: stable
          other: TODO # cross-compile tests are disabled, this shouldn't matter.
        - name: Linux aarch64 nightly
          os: ubuntu-24.04-arm
          rust: nightly
          other: TODO # cross-compile tests are disabled, this shouldn't matter.
        - name: macOS aarch64 stable
          os: macos-14
          rust: stable
          other: x86_64-apple-darwin
        - name: macOS aarch64 nightly
          os: macos-14
          rust: nightly
          other: x86_64-apple-darwin
        - name: Windows x86_64 MSVC stable
          os: windows-latest
          rust: stable-msvc
          other: i686-pc-windows-msvc
        - name: Windows x86_64 MSVC nightly
          os: windows-latest
          rust: nightly-msvc
          other: i686-pc-windows-msvc
        - name: Windows aarch64 MSVC stable
          os: windows-11-arm
          rust: stable-msvc
          other: i686-pc-windows-msvc
        - name: Windows aarch64 MSVC nightly
          os: windows-11-arm
          rust: nightly-msvc
          other: i686-pc-windows-msvc
        - name: Windows x86_64 gnu nightly # runs out of space while trying to link the test suite
          os: windows-latest
          rust: nightly-gnu
          other: i686-pc-windows-gnu
    name: Tests ${{ matrix.name }}
    steps:
    - uses: actions/checkout@v5
    - name: Dump Environment
      run: ci/dump-environment.sh
    # Some tests require stable. Make sure it is set to the most recent stable
    # so that we can predictably handle updates if necessary (and not randomly
    # when GitHub updates its image).
    - run: rustup update --no-self-update stable
    - run: rustup update --no-self-update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
    - run: rustup target add ${{ matrix.other }}
      if: matrix.os != 'ubuntu-24.04-arm' # cross-compile tests are disabled on ARM machines
    - run: rustup target add wasm32-unknown-unknown
    - run: rustup target add aarch64-unknown-none # need this for build-std mock tests
      if: startsWith(matrix.rust, 'nightly')
    - run: rustup component add rustc-dev llvm-tools-preview rust-docs
      if: startsWith(matrix.rust, 'nightly')
    - run: sudo apt update -y && sudo apt install lldb gcc-multilib libsecret-1-0 libsecret-1-dev -y
      if: matrix.os == 'ubuntu-latest'
    - run: rustup component add rustfmt || echo "rustfmt not available"
    - name: Add Windows debuggers bin to PATH
      shell: pwsh
      run: Add-Content $env:GITHUB_PATH "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64"
      if: matrix.os == 'windows-latest'
    - name: Add Windows debuggers bin to PATH
      shell: pwsh
      run: Add-Content $env:GITHUB_PATH "C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64"
      if: matrix.os == 'windows-11-arm'
    - name: Configure extra test environment
      run: echo CARGO_CONTAINER_TESTS=1 >> $GITHUB_ENV
      if: matrix.os == 'ubuntu-latest'
    - run: cargo test -p cargo
    - name: Clear intermediate test output
      run: ci/clean-test-output.sh

    - name: gitoxide tests (all git-related tests)
      run: cargo test -p cargo git
      env:
        __CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2: 1
      # The testsuite generates a huge amount of data, and fetch-smoke-test was
    # running out of disk space.
    - name: Clear test output
      run: ci/clean-test-output.sh

    # This only tests `cargo fix` because fix-proxy-mode is one of the most
    # complicated subprocess management in Cargo.
    - name: Check operability of rustc invocation with argfile
      run: 'cargo test -p cargo --test testsuite -- fix::'
      env:
        __CARGO_TEST_FORCE_ARGFILE: 1
    - run: cargo test --workspace --exclude cargo --exclude benchsuite --exclude resolver-tests
    - name: Check benchmarks
      run: |
        # This only tests one benchmark since it can take over 10 minutes to
        # download all workspaces.
        cargo test -p benchsuite --all-targets -- cargo
        cargo check -p capture
    # The testsuite generates a huge amount of data, and fetch-smoke-test was
    # running out of disk space.
    - name: Clear benchmark output
      run: ci/clean-test-output.sh

    - name: Fetch smoke test
      run: ci/fetch-smoke-test.sh

  schema:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update stable && rustup default stable
    - run: cargo test -p cargo-util-schemas -F unstable-schema

  resolver:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update stable && rustup default stable
    - run: cargo test -p resolver-tests

  test_gitoxide:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - run: rustup update --no-self-update stable && rustup default stable
      - run: rustup target add i686-unknown-linux-gnu
      - run: rustup target add wasm32-unknown-unknown
      - run: sudo apt update -y && sudo apt install gcc-multilib libsecret-1-0 libsecret-1-dev -y
      - run: rustup component add rustfmt || echo "rustfmt not available"
      - run: cargo test -p cargo
        env:
          __CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2: 1

  build_std:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update nightly && rustup default nightly
    - run: rustup component add rust-src
    - run: cargo build
    - run: cargo test -p cargo --test build-std
      env:
        CARGO_RUN_BUILD_STD_TESTS: 1
  docs:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update nightly && rustup default nightly
    - run: rustup update stable
    - run: rustup component add rust-docs
    - run: rustup component add rustfmt --toolchain stable
    - run: ci/validate-man.sh
    # This requires rustfmt, use stable.
    - name: Run semver-check
      run: cargo +stable run -p semver-check
    - name: Ensure intradoc links are valid
      run: cargo doc --workspace --document-private-items --no-deps
      env:
        RUSTDOCFLAGS: -D warnings
    - name: Install mdbook
      run: |
        mkdir mdbook
        curl -Lf https://github.com/rust-lang/mdBook/releases/download/v${MDBOOK_VERSION}/mdbook-v${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
        echo `pwd`/mdbook >> $GITHUB_PATH
    - run: cd src/doc && mdbook build --dest-dir ../../target/doc
    - name: Run linkchecker.sh
      run: |
        cd target
        curl -sSLO https://raw.githubusercontent.com/rust-lang/rust/master/src/tools/linkchecker/linkcheck.sh
        sh linkcheck.sh --all --path ../src/doc cargo

  msrv:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - uses: taiki-e/install-action@cargo-hack
    - run: cargo hack check --all-targets --rust-version --workspace --ignore-private --locked

  spellcheck:
    name: Spell Check with Typos
    runs-on: ubuntu-latest
    steps:
    - name: Checkout Actions Repository
      uses: actions/checkout@v5
    - name: Spell Check Repo
      uses: crate-ci/typos@v1.44.0

  report-timings:
    name: Timing HTML report
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - run: rustup update nightly && rustup default nightly
    - run: cargo build
    - name: Generate timing report for rustfix
      run: |
        cargo run -- build -p rustfix -Zbuild-analysis -Zsection-timings --config build.analysis.enabled=true --config 'build.build-dir="tmp"'
        cargo run -- report timings -Zbuild-analysis
    - uses: actions/upload-artifact@v6
      with:
        name: timing-report
        path: target/cargo-timings/*.html
        if-no-files-found: error


================================================
FILE: .github/workflows/release.yml
================================================
# Publish Cargo to crates.io whenever a new tag is pushed. Tags are pushed by
# the Rust release process (https://github.com/rust-lang/promote-release),
# which will cause this workflow to run.

name: Release
on:
  push:
    tags:
      - "0.*"

# Prevent multiple releases from starting at the same time.
concurrency:
  group: release

jobs:
  crates-io:
    name: Publish on crates.io
    runs-on: ubuntu-latest
    permissions:
      contents: read

    # Gain access to the crates.io publishing token.
    environment:
      name: release

    steps:
      - name: Checkout the source code
        uses: actions/checkout@v5

      - name: Publish Cargo to crates.io
        run: ./publish.py
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}


================================================
FILE: .gitignore
================================================
/target
/Cargo.lock
/config.stamp
/Makefile
/config.mk
/src/doc/build
/src/etc/*.pyc
/src/registry/target
rustc
__pycache__
.idea/
.vscode/
*.iml
*.swp


================================================
FILE: .ignore
================================================
# Output generated from src/doc/man
#
# The goal is to help people find the right file to edit
src/doc/man/generated_txt
src/doc/src/commands/*
src/etc/man
!src/doc/src/commands/build-commands.md
!src/doc/src/commands/cargo-clippy.md
!src/doc/src/commands/cargo-fmt.md
!src/doc/src/commands/cargo-miri.md
!src/doc/src/commands/general-commands.md
!src/doc/src/commands/index.md
!src/doc/src/commands/manifest-commands.md
!src/doc/src/commands/package-commands.md
!src/doc/src/commands/publishing-commands.md
!src/doc/src/commands/report-commands.md

# Snapshots of HTML reports and log files are just too large
tests/testsuite/**/*.jsonl
tests/testsuite/**/*.html


================================================
FILE: CHANGELOG.md
================================================
# Changelog

The changelog has moved to the [Cargo Book](https://doc.rust-lang.org/nightly/cargo/CHANGELOG.html).


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# The Rust Code of Conduct

The Code of Conduct for this repository [can be found online](https://www.rust-lang.org/conduct.html).


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to Cargo

Contributing documentation has moved to the **[Cargo Contributor Guide]**.

[Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/

## Before hacking on Cargo

We encourage people to discuss their design before hacking on code. Typically,
you [file an issue] or start a thread on the [internals forum] before submitting
a pull request.

Please read [the process] of how features and bugs are managed in Cargo.
**Only issues that have been explicitly marked as [accepted] will be reviewed.**

[internals forum]: https://internals.rust-lang.org/c/tools-and-infrastructure/cargo
[file an issue]: https://github.com/rust-lang/cargo/issues
[the process]: https://doc.crates.io/contrib/process/index.html
[accepted]: https://github.com/rust-lang/cargo/issues?q=is%3Aissue+is%3Aopen+label%3AS-accepted


================================================
FILE: Cargo.toml
================================================
[workspace]
resolver = "2"
members = [
  "crates/*",
  "credential/*",
  "benches/benchsuite",
  "benches/capture",
]
exclude = [
  "target/", # exclude bench testing
]

[workspace.package]
rust-version = "1.92"  # MSRV:3
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/cargo"

[workspace.dependencies]
annotate-snippets = { version = "0.12.12", features = ["simd"] }
anstream = "1.0.0"
anstyle = "1.0.13"
anstyle-hyperlink = "1.0.1"
anstyle-progress = "0.1.0"
anyhow = "1.0.102"
base64 = "0.22.1"
blake3 = "1.8.3"
build-rs = { version = "0.3.4", path = "crates/build-rs" }
cargo = { path = "" }
cargo-credential = { version = "0.4.10", path = "credential/cargo-credential" }
cargo-credential-libsecret = { version = "0.5.6", path = "credential/cargo-credential-libsecret" }
cargo-credential-macos-keychain = { version = "0.4.21", path = "credential/cargo-credential-macos-keychain" }
cargo-credential-wincred = { version = "0.4.21", path = "credential/cargo-credential-wincred" }
cargo-platform = { path = "crates/cargo-platform", version = "0.3.3" }
cargo-test-macro = { version = "0.4.10", path = "crates/cargo-test-macro" }
cargo-test-support = { version = "0.11.0", path = "crates/cargo-test-support" }
cargo-util = { version = "0.2.28", path = "crates/cargo-util" }
cargo-util-schemas = { version = "0.13.0", path = "crates/cargo-util-schemas" }
cargo_metadata = "0.23.1"
clap = "4.5.60"
clap_complete = { version = "4.5.66", features = ["unstable-dynamic"] }
color-print = "0.3.7"
core-foundation = { version = "0.10.1", features = ["mac_os_10_7_support"] }
crates-io = { version = "0.40.18", path = "crates/crates-io" }
criterion = { version = "0.8.2", features = ["html_reports"] }
curl = "0.4.49"
# Do not upgrade curl-sys past 0.4.83
# https://github.com/rust-lang/cargo/issues/16357
curl-sys = "=0.4.83"
filetime = "0.2.27"
flate2 = { version = "1.1.9", default-features = false, features = ["zlib-rs"] }
git2 = "0.20.4"
git2-curl = "0.21.0"
# When updating this, also see if `gix-transport` further down needs updating or some auth-related tests will fail.
gix = { version = "0.80.0", default-features = false, features = ["progress-tree", "parallel", "dirwalk", "status"] }
gix-transport = "0.55.0"
glob = "0.3.3"
handlebars = { version = "6.4.0", features = ["dir_source"] }
heck = "0.5.0"
hex = "0.4.3"
hmac = "0.12.1"
home = "0.5.12"
http-auth = { version = "0.1.10", default-features = false }
ignore = "0.4.25"
im-rc = "15.1.0"
indexmap = "2.13.0"
itertools = "0.14.0"
jiff = { version = "0.2.22", default-features = false, features = [ "std" ] }
jobserver = "0.1.34"
libc = "0.2.180"
libgit2-sys = "0.18.3"
libloading = "0.9.0"
memchr = "2.8.0"
memfd = "0.6.5"
miow = "0.6.1"
opener = "0.8.4"
openssl = "0.10.75"
# Pinned due to ppc64 ELFv1/v2 ABI issue in 3.5.5
# https://github.com/openssl/openssl/issues/29815
openssl-src = "=300.5.4"
os_info = { version = "3.14.0", default-features = false }
pasetors = { version = "0.7.8", features = ["v3", "paserk", "std", "serde"] }
pathdiff = "0.2.3"
percent-encoding = "2.3.2"
proptest = "1.10.0"
pulldown-cmark = { version = "0.13.1", default-features = false, features = ["html"] }
rand = "0.10.0"
regex = "1.12.3"
rusqlite = { version = "0.38.0", features = ["bundled"] }
rustc-hash = "2.1.1"
rustc-stable-hash = "0.1.2"
rustfix = { version = "0.9.5", path = "crates/rustfix" }
same-file = "1.0.6"
schemars = "1.2.1"
security-framework = "3.7.0"
semver = { version = "1.0.27", features = ["serde"] }
serde = "1.0.228"
serde_core = "1.0.228"
serde-untagged = "0.1.9"
serde-value = "0.7.0"
serde_ignored = "0.1.14"
serde_json = "1.0.149"
sha1 = "0.10.6"
sha2 = "0.10.9"
shell-escape = "0.1.5"
similar = "2.7.0"
supports-hyperlinks = "3.2.0"
supports-unicode = "3.0.0"
snapbox = { version = "1.0.0", features = ["diff", "dir", "term-svg", "regex", "json"] }
tar = { version = "0.4.45", default-features = false }
tempfile = "3.25.0"
thiserror = "2.0.18"
time = { version = "0.3.47", features = ["parsing", "formatting", "serde"] }
toml = { version = "1.0.3", default-features = false }
toml_edit = { version = "0.25.3", features = ["serde"] }
tracing = { version = "0.1.44", default-features = false, features = ["std"] } # be compatible with rustc_log: https://github.com/rust-lang/rust/blob/e51e98dde6a/compiler/rustc_log/Cargo.toml#L9
tracing-chrome = "0.7.2"
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
unicase = "2.9.0"
unicode-ident = "1.0.24"
unicode-width = "0.2.2"
url = "2.5.8"
varisat = "0.2.2"
walkdir = "2.5.0"
windows-sys = "0.61"
winnow = "0.7.14"

[workspace.lints.rust]
rust_2018_idioms = "warn" # TODO: could this be removed?

[workspace.lints.rustdoc]
private_intra_doc_links = "allow"

[workspace.lints.clippy]
all = { level = "allow", priority = -2 }
correctness = { level = "warn", priority = -1 }
dbg_macro = "warn"
disallowed_methods = "warn"
print_stderr = "warn"
print_stdout = "warn"
self_named_module_files = "warn"

[package]
name = "cargo"
version = "0.97.0"
edition.workspace = true
license.workspace = true
rust-version = "1.94"  # MSRV:1
homepage = "https://doc.rust-lang.org/cargo/index.html"
repository.workspace = true
documentation = "https://docs.rs/cargo"
description = """
Cargo, a package manager for Rust.
"""

[lib]
name = "cargo"
path = "src/cargo/lib.rs"

[dependencies]
annotate-snippets.workspace = true
anstream.workspace = true
anstyle.workspace = true
anstyle-hyperlink = { workspace = true, features = ["file"] }
anstyle-progress.workspace = true
anyhow.workspace = true
base64.workspace = true
blake3.workspace = true
cargo-credential.workspace = true
cargo-platform.workspace = true
cargo-util-schemas.workspace = true
cargo-util.workspace = true
clap = { workspace = true, features = ["wrap_help"] }
clap_complete.workspace = true
color-print.workspace = true
crates-io.workspace = true
curl = { workspace = true, features = ["http2"] }
curl-sys.workspace = true
filetime.workspace = true
flate2.workspace = true
git2.workspace = true
git2-curl.workspace = true
gix.workspace = true
glob.workspace = true
heck.workspace = true
hex.workspace = true
hmac.workspace = true
home.workspace = true
http-auth.workspace = true
ignore.workspace = true
im-rc.workspace = true
indexmap.workspace = true
itertools.workspace = true
jiff = { workspace = true, features = ["serde", "std"] }
jobserver.workspace = true
libgit2-sys.workspace = true
memchr.workspace = true
opener.workspace = true
os_info.workspace = true
pasetors.workspace = true
pathdiff.workspace = true
rand.workspace = true
regex.workspace = true
rusqlite = { workspace = true, features = ["fallible_uint"] }
rustc-hash.workspace = true
rustc-stable-hash.workspace = true
rustfix.workspace = true
same-file.workspace = true
semver.workspace = true
serde = { workspace = true, features = ["derive"] }
serde-untagged.workspace = true
serde_ignored.workspace = true
serde_json = { workspace = true, features = ["raw_value"] }
sha1.workspace = true
shell-escape.workspace = true
supports-hyperlinks.workspace = true
supports-unicode.workspace = true
tar.workspace = true
tempfile.workspace = true
thiserror.workspace = true
time.workspace = true
toml = { workspace = true, features = ["std", "serde", "parse", "display", "preserve_order"] }
toml_edit.workspace = true
tracing = { workspace = true, features = ["attributes"] }
tracing-subscriber.workspace = true
unicase.workspace = true
unicode-width.workspace = true
unicode-ident.workspace = true
url.workspace = true
walkdir.workspace = true
winnow.workspace = true

[target.'cfg(target_has_atomic = "64")'.dependencies]
tracing-chrome.workspace = true

[target.'cfg(unix)'.dependencies]
libc.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
cargo-credential-libsecret.workspace = true

[target.'cfg(target_os = "macos")'.dependencies]
cargo-credential-macos-keychain.workspace = true

[target.'cfg(not(windows))'.dependencies]
openssl = { workspace = true, optional = true }
openssl-src = { workspace = true, optional = true }

[target.'cfg(windows)'.dependencies]
cargo-credential-wincred.workspace = true

[target.'cfg(windows)'.dependencies.windows-sys]
workspace = true
features = [
  "Win32_Foundation",
  "Win32_Security",
  "Win32_Storage_FileSystem",
  "Win32_System_IO",
  "Win32_System_Console",
  "Win32_System_JobObjects",
  "Win32_System_Threading",
]

[dev-dependencies]
annotate-snippets = { workspace = true, features = ["testing-colors"] }
cargo-test-support.workspace = true
gix = { workspace = true, features = ["revision"] }
# When building Cargo for tests, a safety-measure in `gix` needs to be disabled
# to allow sending credentials over HTTP connections.
gix-transport = { workspace = true, features = ["http-client-insecure-credentials"] }
same-file.workspace = true
snapbox.workspace = true

[target.'cfg(target_os = "linux")'.dev-dependencies]
memfd.workspace = true

[build-dependencies]
flate2.workspace = true
tar.workspace = true

[[bin]]
name = "cargo"
test = false
doc = false

[features]
default = ["http-transport-curl"]
vendored-openssl = ["openssl/vendored"]
vendored-libgit2 = ["libgit2-sys/vendored"]
# This is primarily used by rust-lang/rust distributing cargo the executable.
all-static = ['vendored-openssl', 'curl/static-curl', 'curl/force-system-lib-on-osx', 'vendored-libgit2']
# Exactly one of 'http-transport-curl' or 'http-transport-reqwest' must be enabled
# when using Cargo as a library. By default, it is 'http-transport-curl'.
http-transport-curl = ["gix/blocking-http-transport-curl"]
http-transport-reqwest = ["gix/blocking-http-transport-reqwest"]

[lints]
workspace = true


================================================
FILE: LICENSE-APACHE
================================================
                              Apache License
                        Version 2.0, January 2004
                     https://www.apache.org/licenses/LICENSE-2.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

   "License" shall mean the terms and conditions for use, reproduction,
   and distribution as defined by Sections 1 through 9 of this document.

   "Licensor" shall mean the copyright owner or entity authorized by
   the copyright owner that is granting the License.

   "Legal Entity" shall mean the union of the acting entity and all
   other entities that control, are controlled by, or are under common
   control with that entity. For the purposes of this definition,
   "control" means (i) the power, direct or indirect, to cause the
   direction or management of such entity, whether by contract or
   otherwise, or (ii) ownership of fifty percent (50%) or more of the
   outstanding shares, or (iii) beneficial ownership of such entity.

   "You" (or "Your") shall mean an individual or Legal Entity
   exercising permissions granted by this License.

   "Source" form shall mean the preferred form for making modifications,
   including but not limited to software source code, documentation
   source, and configuration files.

   "Object" form shall mean any form resulting from mechanical
   transformation or translation of a Source form, including but
   not limited to compiled object code, generated documentation,
   and conversions to other media types.

   "Work" shall mean the work of authorship, whether in Source or
   Object form, made available under the License, as indicated by a
   copyright notice that is included in or attached to the work
   (an example is provided in the Appendix below).

   "Derivative Works" shall mean any work, whether in Source or Object
   form, that is based on (or derived from) the Work and for which the
   editorial revisions, annotations, elaborations, or other modifications
   represent, as a whole, an original work of authorship. For the purposes
   of this License, Derivative Works shall not include works that remain
   separable from, or merely link (or bind by name) to the interfaces of,
   the Work and Derivative Works thereof.

   "Contribution" shall mean any work of authorship, including
   the original version of the Work and any modifications or additions
   to that Work or Derivative Works thereof, that is intentionally
   submitted to Licensor for inclusion in the Work by the copyright owner
   or by an individual or Legal Entity authorized to submit on behalf of
   the copyright owner. For the purposes of this definition, "submitted"
   means any form of electronic, verbal, or written communication sent
   to the Licensor or its representatives, including but not limited to
   communication on electronic mailing lists, source code control systems,
   and issue tracking systems that are managed by, or on behalf of, the
   Licensor for the purpose of discussing and improving the Work, but
   excluding communication that is conspicuously marked or otherwise
   designated in writing by the copyright owner as "Not a Contribution."

   "Contributor" shall mean Licensor and any individual or Legal Entity
   on behalf of whom a Contribution has been received by Licensor and
   subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   copyright license to reproduce, prepare Derivative Works of,
   publicly display, publicly perform, sublicense, and distribute the
   Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   (except as stated in this section) patent license to make, have made,
   use, offer to sell, sell, import, and otherwise transfer the Work,
   where such license applies only to those patent claims licensable
   by such Contributor that are necessarily infringed by their
   Contribution(s) alone or by combination of their Contribution(s)
   with the Work to which such Contribution(s) was submitted. If You
   institute patent litigation against any entity (including a
   cross-claim or counterclaim in a lawsuit) alleging that the Work
   or a Contribution incorporated within the Work constitutes direct
   or contributory patent infringement, then any patent licenses
   granted to You under this License for that Work shall terminate
   as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
   Work or Derivative Works thereof in any medium, with or without
   modifications, and in Source or Object form, provided that You
   meet the following conditions:

   (a) You must give any other recipients of the Work or
       Derivative Works a copy of this License; and

   (b) You must cause any modified files to carry prominent notices
       stating that You changed the files; and

   (c) You must retain, in the Source form of any Derivative Works
       that You distribute, all copyright, patent, trademark, and
       attribution notices from the Source form of the Work,
       excluding those notices that do not pertain to any part of
       the Derivative Works; and

   (d) If the Work includes a "NOTICE" text file as part of its
       distribution, then any Derivative Works that You distribute must
       include a readable copy of the attribution notices contained
       within such NOTICE file, excluding those notices that do not
       pertain to any part of the Derivative Works, in at least one
       of the following places: within a NOTICE text file distributed
       as part of the Derivative Works; within the Source form or
       documentation, if provided along with the Derivative Works; or,
       within a display generated by the Derivative Works, if and
       wherever such third-party notices normally appear. The contents
       of the NOTICE file are for informational purposes only and
       do not modify the License. You may add Your own attribution
       notices within Derivative Works that You distribute, alongside
       or as an addendum to the NOTICE text from the Work, provided
       that such additional attribution notices cannot be construed
       as modifying the License.

   You may add Your own copyright statement to Your modifications and
   may provide additional or different license terms and conditions
   for use, reproduction, or distribution of Your modifications, or
   for any such Derivative Works as a whole, provided Your use,
   reproduction, and distribution of the Work otherwise complies with
   the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
   names, trademarks, service marks, or product names of the Licensor,
   except as required for reasonable and customary use in describing the
   origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
   agreed to in writing, Licensor provides the Work (and each
   Contributor provides its Contributions) on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
   implied, including, without limitation, any warranties or conditions
   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
   PARTICULAR PURPOSE. You are solely responsible for determining the
   appropriateness of using or redistributing the Work and assume any
   risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
   whether in tort (including negligence), contract, or otherwise,
   unless required by applicable law (such as deliberate and grossly
   negligent acts) or agreed to in writing, shall any Contributor be
   liable to You for damages, including any direct, indirect, special,
   incidental, or consequential damages of any character arising as a
   result of this License or out of the use or inability to use the
   Work (including but not limited to damages for loss of goodwill,
   work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses), even if such Contributor
   has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
   the Work or Derivative Works thereof, You may choose to offer,
   and charge a fee for, acceptance of support, warranty, indemnity,
   or other liability obligations and/or rights consistent with this
   License. However, in accepting such obligations, You may act only
   on Your own behalf and on Your sole responsibility, not on behalf
   of any other Contributor, and only if You agree to indemnify,
   defend, and hold each Contributor harmless for any liability
   incurred by, or claims asserted against, such Contributor by reason
   of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

   To apply the Apache License to your work, attach the following
   boilerplate notice, with the fields enclosed by brackets "[]"
   replaced with your own identifying information. (Don't include
   the brackets!)  The text should be enclosed in the appropriate
   comment syntax for the file format. We also recommend that a
   file or class name and description of purpose be included on the
   same "printed page" as the copyright notice for easier
   identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


================================================
FILE: LICENSE-MIT
================================================
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


================================================
FILE: LICENSE-THIRD-PARTY
================================================
The Cargo source code itself does not bundle any third party libraries, but it
depends on a number of libraries which carry their own copyright notices and
license terms. These libraries are normally all linked static into the binary
distributions of Cargo:

* OpenSSL - https://www.openssl.org/source/license.html

    Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in
       the documentation and/or other materials provided with the
       distribution.

    3. All advertising materials mentioning features or use of this
       software must display the following acknowledgment:
       "This product includes software developed by the OpenSSL Project
       for use in the OpenSSL Toolkit. (https://www.openssl.org/)"

    4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
       endorse or promote products derived from this software without
       prior written permission. For written permission, please contact
       openssl-core@openssl.org.

    5. Products derived from this software may not be called "OpenSSL"
       nor may "OpenSSL" appear in their names without prior written
       permission of the OpenSSL Project.

    6. Redistributions of any form whatsoever must retain the following
       acknowledgment:
       "This product includes software developed by the OpenSSL Project
       for use in the OpenSSL Toolkit (https://www.openssl.org/)"

    THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    OF THE POSSIBILITY OF SUCH DAMAGE.
    ====================================================================

    This product includes cryptographic software written by Eric Young
    (eay@cryptsoft.com).  This product includes software written by Tim
    Hudson (tjh@cryptsoft.com).

    ---

    Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    All rights reserved.

    This package is an SSL implementation written
    by Eric Young (eay@cryptsoft.com).
    The implementation was written so as to conform with Netscapes SSL.

    This library is free for commercial and non-commercial use as long as
    the following conditions are aheared to.  The following conditions
    apply to all code found in this distribution, be it the RC4, RSA,
    lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    included with this distribution is covered by the same copyright terms
    except that the holder is Tim Hudson (tjh@cryptsoft.com).

    Copyright remains Eric Young's, and as such any Copyright notices in
    the code are not to be removed.
    If this package is used in a product, Eric Young should be given attribution
    as the author of the parts of the library used.
    This can be in the form of a textual message at program startup or
    in documentation (online or textual) provided with the package.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
    1. Redistributions of source code must retain the copyright
       notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
    3. All advertising materials mentioning features or use of this software
       must display the following acknowledgement:
       "This product includes cryptographic software written by
        Eric Young (eay@cryptsoft.com)"
       The word 'cryptographic' can be left out if the rouines from the library
       being used are not cryptographic related :-).
    4. If you include any Windows specific code (or a derivative thereof) from
       the apps directory (application code) you must include an acknowledgement:
       "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"

    THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    SUCH DAMAGE.

    The licence and distribution terms for any publically available version or
    derivative of this code cannot be changed.  i.e. this code cannot simply be
    copied and put under another distribution licence
    [including the GNU Public Licence.]

* libgit2 - https://github.com/libgit2/libgit2/blob/master/COPYING

     libgit2 is Copyright (C) the libgit2 contributors,
     unless otherwise stated. See the AUTHORS file for details.

     Note that the only valid version of the GPL as far as this project
     is concerned is _this_ particular version of the license (ie v2, not
     v2.2 or v3.x or whatever), unless explicitly otherwise stated.

    ----------------------------------------------------------------------

          LINKING EXCEPTION

     In addition to the permissions in the GNU General Public License,
     the authors give you unlimited permission to link the compiled
     version of this library into combinations with other programs,
     and to distribute those combinations without any restriction
     coming from the use of this file.  (The General Public License
     restrictions do apply in other respects; for example, they cover
     modification of the file, and distribution when not linked into
     a combined executable.)

    ----------------------------------------------------------------------

            GNU GENERAL PUBLIC LICENSE
               Version 2, June 1991

     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                           59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

              Preamble

      The licenses for most software are designed to take away your
    freedom to share and change it.  By contrast, the GNU General Public
    License is intended to guarantee your freedom to share and change free
    software--to make sure the software is free for all its users.  This
    General Public License applies to most of the Free Software
    Foundation's software and to any other program whose authors commit to
    using it.  (Some other Free Software Foundation software is covered by
    the GNU Library General Public License instead.)  You can apply it to
    your programs, too.

      When we speak of free software, we are referring to freedom, not
    price.  Our General Public Licenses are designed to make sure that you
    have the freedom to distribute copies of free software (and charge for
    this service if you wish), that you receive source code or can get it
    if you want it, that you can change the software or use pieces of it
    in new free programs; and that you know you can do these things.

      To protect your rights, we need to make restrictions that forbid
    anyone to deny you these rights or to ask you to surrender the rights.
    These restrictions translate to certain responsibilities for you if you
    distribute copies of the software, or if you modify it.

      For example, if you distribute copies of such a program, whether
    gratis or for a fee, you must give the recipients all the rights that
    you have.  You must make sure that they, too, receive or can get the
    source code.  And you must show them these terms so they know their
    rights.

      We protect your rights with two steps: (1) copyright the software, and
    (2) offer you this license which gives you legal permission to copy,
    distribute and/or modify the software.

      Also, for each author's protection and ours, we want to make certain
    that everyone understands that there is no warranty for this free
    software.  If the software is modified by someone else and passed on, we
    want its recipients to know that what they have is not the original, so
    that any problems introduced by others will not reflect on the original
    authors' reputations.

      Finally, any free program is threatened constantly by software
    patents.  We wish to avoid the danger that redistributors of a free
    program will individually obtain patent licenses, in effect making the
    program proprietary.  To prevent this, we have made it clear that any
    patent must be licensed for everyone's free use or not licensed at all.

      The precise terms and conditions for copying, distribution and
    modification follow.

            GNU GENERAL PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

      0. This License applies to any program or other work which contains
    a notice placed by the copyright holder saying it may be distributed
    under the terms of this General Public License.  The "Program", below,
    refers to any such program or work, and a "work based on the Program"
    means either the Program or any derivative work under copyright law:
    that is to say, a work containing the Program or a portion of it,
    either verbatim or with modifications and/or translated into another
    language.  (Hereinafter, translation is included without limitation in
    the term "modification".)  Each licensee is addressed as "you".

    Activities other than copying, distribution and modification are not
    covered by this License; they are outside its scope.  The act of
    running the Program is not restricted, and the output from the Program
    is covered only if its contents constitute a work based on the
    Program (independent of having been made by running the Program).
    Whether that is true depends on what the Program does.

      1. You may copy and distribute verbatim copies of the Program's
    source code as you receive it, in any medium, provided that you
    conspicuously and appropriately publish on each copy an appropriate
    copyright notice and disclaimer of warranty; keep intact all the
    notices that refer to this License and to the absence of any warranty;
    and give any other recipients of the Program a copy of this License
    along with the Program.

    You may charge a fee for the physical act of transferring a copy, and
    you may at your option offer warranty protection in exchange for a fee.

      2. You may modify your copy or copies of the Program or any portion
    of it, thus forming a work based on the Program, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that you also meet all of these conditions:

        a) You must cause the modified files to carry prominent notices
        stating that you changed the files and the date of any change.

        b) You must cause any work that you distribute or publish, that in
        whole or in part contains or is derived from the Program or any
        part thereof, to be licensed as a whole at no charge to all third
        parties under the terms of this License.

        c) If the modified program normally reads commands interactively
        when run, you must cause it, when started running for such
        interactive use in the most ordinary way, to print or display an
        announcement including an appropriate copyright notice and a
        notice that there is no warranty (or else, saying that you provide
        a warranty) and that users may redistribute the program under
        these conditions, and telling the user how to view a copy of this
        License.  (Exception: if the Program itself is interactive but
        does not normally print such an announcement, your work based on
        the Program is not required to print an announcement.)

    These requirements apply to the modified work as a whole.  If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works.  But when you
    distribute the same sections as part of a whole which is a work based
    on the Program, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote it.

    Thus, it is not the intent of this section to claim rights or contest
    your rights to work written entirely by you; rather, the intent is to
    exercise the right to control the distribution of derivative or
    collective works based on the Program.

    In addition, mere aggregation of another work not based on the Program
    with the Program (or with a work based on the Program) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.

      3. You may copy and distribute the Program (or a work based on it,
    under Section 2) in object code or executable form under the terms of
    Sections 1 and 2 above provided that you also do one of the following:

        a) Accompany it with the complete corresponding machine-readable
        source code, which must be distributed under the terms of Sections
        1 and 2 above on a medium customarily used for software interchange; or,

        b) Accompany it with a written offer, valid for at least three
        years, to give any third party, for a charge no more than your
        cost of physically performing source distribution, a complete
        machine-readable copy of the corresponding source code, to be
        distributed under the terms of Sections 1 and 2 above on a medium
        customarily used for software interchange; or,

        c) Accompany it with the information you received as to the offer
        to distribute corresponding source code.  (This alternative is
        allowed only for noncommercial distribution and only if you
        received the program in object code or executable form with such
        an offer, in accord with Subsection b above.)

    The source code for a work means the preferred form of the work for
    making modifications to it.  For an executable work, complete source
    code means all the source code for all modules it contains, plus any
    associated interface definition files, plus the scripts used to
    control compilation and installation of the executable.  However, as a
    special exception, the source code distributed need not include
    anything that is normally distributed (in either source or binary
    form) with the major components (compiler, kernel, and so on) of the
    operating system on which the executable runs, unless that component
    itself accompanies the executable.

    If distribution of executable or object code is made by offering
    access to copy from a designated place, then offering equivalent
    access to copy the source code from the same place counts as
    distribution of the source code, even though third parties are not
    compelled to copy the source along with the object code.

      4. You may not copy, modify, sublicense, or distribute the Program
    except as expressly provided under this License.  Any attempt
    otherwise to copy, modify, sublicense or distribute the Program is
    void, and will automatically terminate your rights under this License.
    However, parties who have received copies, or rights, from you under
    this License will not have their licenses terminated so long as such
    parties remain in full compliance.

      5. You are not required to accept this License, since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Program or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Program (or any work based on the
    Program), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Program or works based on it.

      6. Each time you redistribute the Program (or any work based on the
    Program), the recipient automatically receives a license from the
    original licensor to copy, distribute or modify the Program subject to
    these terms and conditions.  You may not impose any further
    restrictions on the recipients' exercise of the rights granted herein.
    You are not responsible for enforcing compliance by third parties to
    this License.

      7. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License.  If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Program at all.  For example, if a patent
    license would not permit royalty-free redistribution of the Program by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Program.

    If any portion of this section is held invalid or unenforceable under
    any particular circumstance, the balance of the section is intended to
    apply and the section as a whole is intended to apply in other
    circumstances.

    It is not the purpose of this section to induce you to infringe any
    patents or other property right claims or to contest validity of any
    such claims; this section has the sole purpose of protecting the
    integrity of the free software distribution system, which is
    implemented by public license practices.  Many people have made
    generous contributions to the wide range of software distributed
    through that system in reliance on consistent application of that
    system; it is up to the author/donor to decide if he or she is willing
    to distribute software through any other system and a licensee cannot
    impose that choice.

    This section is intended to make thoroughly clear what is believed to
    be a consequence of the rest of this License.

      8. If the distribution and/or use of the Program is restricted in
    certain countries either by patents or by copyrighted interfaces, the
    original copyright holder who places the Program under this License
    may add an explicit geographical distribution limitation excluding
    those countries, so that distribution is permitted only in or among
    countries not thus excluded.  In such case, this License incorporates
    the limitation as if written in the body of this License.

      9. The Free Software Foundation may publish revised and/or new versions
    of the General Public License from time to time.  Such new versions will
    be similar in spirit to the present version, but may differ in detail to
    address new problems or concerns.

    Each version is given a distinguishing version number.  If the Program
    specifies a version number of this License which applies to it and "any
    later version", you have the option of following the terms and conditions
    either of that version or of any later version published by the Free
    Software Foundation.  If the Program does not specify a version number of
    this License, you may choose any version ever published by the Free Software
    Foundation.

      10. If you wish to incorporate parts of the Program into other free
    programs whose distribution conditions are different, write to the author
    to ask for permission.  For software which is copyrighted by the Free
    Software Foundation, write to the Free Software Foundation; we sometimes
    make exceptions for this.  Our decision will be guided by the two goals
    of preserving the free status of all derivatives of our free software and
    of promoting the sharing and reuse of software generally.

              NO WARRANTY

      11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.

      12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.

             END OF TERMS AND CONDITIONS

          How to Apply These Terms to Your New Programs

      If you develop a new program, and you want it to be of the greatest
    possible use to the public, the best way to achieve this is to make it
    free software which everyone can redistribute and change under these terms.

      To do so, attach the following notices to the program.  It is safest
    to attach them to the start of each source file to most effectively
    convey the exclusion of warranty; and each file should have at least
    the "copyright" line and a pointer to where the full notice is found.

        <one line to give the program's name and a brief idea of what it does.>
        Copyright (C) <year>  <name of author>

        This program is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 2 of the License, or
        (at your option) any later version.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public License
        along with this program; if not, write to the Free Software
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


    Also add information on how to contact you by electronic and paper mail.

    If the program is interactive, make it output a short notice like this
    when it starts in an interactive mode:

        Gnomovision version 69, Copyright (C) year name of author
        Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
        This is free software, and you are welcome to redistribute it
        under certain conditions; type `show c' for details.

    The hypothetical commands `show w' and `show c' should show the appropriate
    parts of the General Public License.  Of course, the commands you use may
    be called something other than `show w' and `show c'; they could even be
    mouse-clicks or menu items--whatever suits your program.

    You should also get your employer (if you work as a programmer) or your
    school, if any, to sign a "copyright disclaimer" for the program, if
    necessary.  Here is a sample; alter the names:

      Yoyodyne, Inc., hereby disclaims all copyright interest in the program
      `Gnomovision' (which makes passes at compilers) written by James Hacker.

      <signature of Ty Coon>, 1 April 1989
      Ty Coon, President of Vice

    This General Public License does not permit incorporating your program into
    proprietary programs.  If your program is a subroutine library, you may
    consider it more useful to permit linking proprietary applications with the
    library.  If this is what you want to do, use the GNU Library General
    Public License instead of this License.

    ----------------------------------------------------------------------

    The bundled ZLib code is licensed under the ZLib license:

    Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler

      This software is provided 'as-is', without any express or implied
      warranty.  In no event will the authors be held liable for any damages
      arising from the use of this software.

      Permission is granted to anyone to use this software for any purpose,
      including commercial applications, and to alter it and redistribute it
      freely, subject to the following restrictions:

      1. The origin of this software must not be misrepresented; you must not
         claim that you wrote the original software. If you use this software
         in a product, an acknowledgment in the product documentation would be
         appreciated but is not required.
      2. Altered source versions must be plainly marked as such, and must not be
         misrepresented as being the original software.
      3. This notice may not be removed or altered from any source distribution.

      Jean-loup Gailly        Mark Adler
      jloup@gzip.org          madler@alumni.caltech.edu

    ----------------------------------------------------------------------

    The Clar framework is licensed under the MIT license:

    Copyright (C) 2011 by Vicent Marti

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.

    ----------------------------------------------------------------------

    The regex library (deps/regex/) is licensed under the GNU LGPL

                      GNU LESSER GENERAL PUBLIC LICENSE
                           Version 2.1, February 1999

     Copyright (C) 1991, 1999 Free Software Foundation, Inc.
     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

    [This is the first released version of the Lesser GPL.  It also counts
     as the successor of the GNU Library Public License, version 2, hence
     the version number 2.1.]

                                Preamble

      The licenses for most software are designed to take away your
    freedom to share and change it.  By contrast, the GNU General Public
    Licenses are intended to guarantee your freedom to share and change
    free software--to make sure the software is free for all its users.

      This license, the Lesser General Public License, applies to some
    specially designated software packages--typically libraries--of the
    Free Software Foundation and other authors who decide to use it.  You
    can use it too, but we suggest you first think carefully about whether
    this license or the ordinary General Public License is the better
    strategy to use in any particular case, based on the explanations below.

      When we speak of free software, we are referring to freedom of use,
    not price.  Our General Public Licenses are designed to make sure that
    you have the freedom to distribute copies of free software (and charge
    for this service if you wish); that you receive source code or can get
    it if you want it; that you can change the software and use pieces of
    it in new free programs; and that you are informed that you can do
    these things.

      To protect your rights, we need to make restrictions that forbid
    distributors to deny you these rights or to ask you to surrender these
    rights.  These restrictions translate to certain responsibilities for
    you if you distribute copies of the library or if you modify it.

      For example, if you distribute copies of the library, whether gratis
    or for a fee, you must give the recipients all the rights that we gave
    you.  You must make sure that they, too, receive or can get the source
    code.  If you link other code with the library, you must provide
    complete object files to the recipients, so that they can relink them
    with the library after making changes to the library and recompiling
    it.  And you must show them these terms so they know their rights.

      We protect your rights with a two-step method: (1) we copyright the
    library, and (2) we offer you this license, which gives you legal
    permission to copy, distribute and/or modify the library.

      To protect each distributor, we want to make it very clear that
    there is no warranty for the free library.  Also, if the library is
    modified by someone else and passed on, the recipients should know
    that what they have is not the original version, so that the original
    author's reputation will not be affected by problems that might be
    introduced by others.

      Finally, software patents pose a constant threat to the existence of
    any free program.  We wish to make sure that a company cannot
    effectively restrict the users of a free program by obtaining a
    restrictive license from a patent holder.  Therefore, we insist that
    any patent license obtained for a version of the library must be
    consistent with the full freedom of use specified in this license.

      Most GNU software, including some libraries, is covered by the
    ordinary GNU General Public License.  This license, the GNU Lesser
    General Public License, applies to certain designated libraries, and
    is quite different from the ordinary General Public License.  We use
    this license for certain libraries in order to permit linking those
    libraries into non-free programs.

      When a program is linked with a library, whether statically or using
    a shared library, the combination of the two is legally speaking a
    combined work, a derivative of the original library.  The ordinary
    General Public License therefore permits such linking only if the
    entire combination fits its criteria of freedom.  The Lesser General
    Public License permits more lax criteria for linking other code with
    the library.

      We call this license the "Lesser" General Public License because it
    does Less to protect the user's freedom than the ordinary General
    Public License.  It also provides other free software developers Less
    of an advantage over competing non-free programs.  These disadvantages
    are the reason we use the ordinary General Public License for many
    libraries.  However, the Lesser license provides advantages in certain
    special circumstances.

      For example, on rare occasions, there may be a special need to
    encourage the widest possible use of a certain library, so that it becomes
    a de-facto standard.  To achieve this, non-free programs must be
    allowed to use the library.  A more frequent case is that a free
    library does the same job as widely used non-free libraries.  In this
    case, there is little to gain by limiting the free library to free
    software only, so we use the Lesser General Public License.

      In other cases, permission to use a particular library in non-free
    programs enables a greater number of people to use a large body of
    free software.  For example, permission to use the GNU C Library in
    non-free programs enables many more people to use the whole GNU
    operating system, as well as its variant, the GNU/Linux operating
    system.

      Although the Lesser General Public License is Less protective of the
    users' freedom, it does ensure that the user of a program that is
    linked with the Library has the freedom and the wherewithal to run
    that program using a modified version of the Library.

      The precise terms and conditions for copying, distribution and
    modification follow.  Pay close attention to the difference between a
    "work based on the library" and a "work that uses the library".  The
    former contains code derived from the library, whereas the latter must
    be combined with the library in order to run.

                      GNU LESSER GENERAL PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

      0. This License Agreement applies to any software library or other
    program which contains a notice placed by the copyright holder or
    other authorized party saying it may be distributed under the terms of
    this Lesser General Public License (also called "this License").
    Each licensee is addressed as "you".

      A "library" means a collection of software functions and/or data
    prepared so as to be conveniently linked with application programs
    (which use some of those functions and data) to form executables.

      The "Library", below, refers to any such software library or work
    which has been distributed under these terms.  A "work based on the
    Library" means either the Library or any derivative work under
    copyright law: that is to say, a work containing the Library or a
    portion of it, either verbatim or with modifications and/or translated
    straightforwardly into another language.  (Hereinafter, translation is
    included without limitation in the term "modification".)

      "Source code" for a work means the preferred form of the work for
    making modifications to it.  For a library, complete source code means
    all the source code for all modules it contains, plus any associated
    interface definition files, plus the scripts used to control compilation
    and installation of the library.

      Activities other than copying, distribution and modification are not
    covered by this License; they are outside its scope.  The act of
    running a program using the Library is not restricted, and output from
    such a program is covered only if its contents constitute a work based
    on the Library (independent of the use of the Library in a tool for
    writing it).  Whether that is true depends on what the Library does
    and what the program that uses the Library does.

      1. You may copy and distribute verbatim copies of the Library's
    complete source code as you receive it, in any medium, provided that
    you conspicuously and appropriately publish on each copy an
    appropriate copyright notice and disclaimer of warranty; keep intact
    all the notices that refer to this License and to the absence of any
    warranty; and distribute a copy of this License along with the
    Library.

      You may charge a fee for the physical act of transferring a copy,
    and you may at your option offer warranty protection in exchange for a
    fee.

      2. You may modify your copy or copies of the Library or any portion
    of it, thus forming a work based on the Library, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that you also meet all of these conditions:

        a) The modified work must itself be a software library.

        b) You must cause the files modified to carry prominent notices
        stating that you changed the files and the date of any change.

        c) You must cause the whole of the work to be licensed at no
        charge to all third parties under the terms of this License.

        d) If a facility in the modified Library refers to a function or a
        table of data to be supplied by an application program that uses
        the facility, other than as an argument passed when the facility
        is invoked, then you must make a good faith effort to ensure that,
        in the event an application does not supply such function or
        table, the facility still operates, and performs whatever part of
        its purpose remains meaningful.

        (For example, a function in a library to compute square roots has
        a purpose that is entirely well-defined independent of the
        application.  Therefore, Subsection 2d requires that any
        application-supplied function or table used by this function must
        be optional: if the application does not supply it, the square
        root function must still compute square roots.)

    These requirements apply to the modified work as a whole.  If
    identifiable sections of that work are not derived from the Library,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works.  But when you
    distribute the same sections as part of a whole which is a work based
    on the Library, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote
    it.

    Thus, it is not the intent of this section to claim rights or contest
    your rights to work written entirely by you; rather, the intent is to
    exercise the right to control the distribution of derivative or
    collective works based on the Library.

    In addition, mere aggregation of another work not based on the Library
    with the Library (or with a work based on the Library) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.

      3. You may opt to apply the terms of the ordinary GNU General Public
    License instead of this License to a given copy of the Library.  To do
    this, you must alter all the notices that refer to this License, so
    that they refer to the ordinary GNU General Public License, version 2,
    instead of to this License.  (If a newer version than version 2 of the
    ordinary GNU General Public License has appeared, then you can specify
    that version instead if you wish.)  Do not make any other change in
    these notices.

      Once this change is made in a given copy, it is irreversible for
    that copy, so the ordinary GNU General Public License applies to all
    subsequent copies and derivative works made from that copy.

      This option is useful when you wish to copy part of the code of
    the Library into a program that is not a library.

      4. You may copy and distribute the Library (or a portion or
    derivative of it, under Section 2) in object code or executable form
    under the terms of Sections 1 and 2 above provided that you accompany
    it with the complete corresponding machine-readable source code, which
    must be distributed under the terms of Sections 1 and 2 above on a
    medium customarily used for software interchange.

      If distribution of object code is made by offering access to copy
    from a designated place, then offering equivalent access to copy the
    source code from the same place satisfies the requirement to
    distribute the source code, even though third parties are not
    compelled to copy the source along with the object code.

      5. A program that contains no derivative of any portion of the
    Library, but is designed to work with the Library by being compiled or
    linked with it, is called a "work that uses the Library".  Such a
    work, in isolation, is not a derivative work of the Library, and
    therefore falls outside the scope of this License.

      However, linking a "work that uses the Library" with the Library
    creates an executable that is a derivative of the Library (because it
    contains portions of the Library), rather than a "work that uses the
    library".  The executable is therefore covered by this License.
    Section 6 states terms for distribution of such executables.

      When a "work that uses the Library" uses material from a header file
    that is part of the Library, the object code for the work may be a
    derivative work of the Library even though the source code is not.
    Whether this is true is especially significant if the work can be
    linked without the Library, or if the work is itself a library.  The
    threshold for this to be true is not precisely defined by law.

      If such an object file uses only numerical parameters, data
    structure layouts and accessors, and small macros and small inline
    functions (ten lines or less in length), then the use of the object
    file is unrestricted, regardless of whether it is legally a derivative
    work.  (Executables containing this object code plus portions of the
    Library will still fall under Section 6.)

      Otherwise, if the work is a derivative of the Library, you may
    distribute the object code for the work under the terms of Section 6.
    Any executables containing that work also fall under Section 6,
    whether or not they are linked directly with the Library itself.

      6. As an exception to the Sections above, you may also combine or
    link a "work that uses the Library" with the Library to produce a
    work containing portions of the Library, and distribute that work
    under terms of your choice, provided that the terms permit
    modification of the work for the customer's own use and reverse
    engineering for debugging such modifications.

      You must give prominent notice with each copy of the work that the
    Library is used in it and that the Library and its use are covered by
    this License.  You must supply a copy of this License.  If the work
    during execution displays copyright notices, you must include the
    copyright notice for the Library among them, as well as a reference
    directing the user to the copy of this License.  Also, you must do one
    of these things:

        a) Accompany the work with the complete corresponding
        machine-readable source code for the Library including whatever
        changes were used in the work (which must be distributed under
        Sections 1 and 2 above); and, if the work is an executable linked
        with the Library, with the complete machine-readable "work that
        uses the Library", as object code and/or source code, so that the
        user can modify the Library and then relink to produce a modified
        executable containing the modified Library.  (It is understood
        that the user who changes the contents of definitions files in the
        Library will not necessarily be able to recompile the application
        to use the modified definitions.)

        b) Use a suitable shared library mechanism for linking with the
        Library.  A suitable mechanism is one that (1) uses at run time a
        copy of the library already present on the user's computer system,
        rather than copying library functions into the executable, and (2)
        will operate properly with a modified version of the library, if
        the user installs one, as long as the modified version is
        interface-compatible with the version that the work was made with.

        c) Accompany the work with a written offer, valid for at
        least three years, to give the same user the materials
        specified in Subsection 6a, above, for a charge no more
        than the cost of performing this distribution.

        d) If distribution of the work is made by offering access to copy
        from a designated place, offer equivalent access to copy the above
        specified materials from the same place.

        e) Verify that the user has already received a copy of these
        materials or that you have already sent this user a copy.

      For an executable, the required form of the "work that uses the
    Library" must include any data and utility programs needed for
    reproducing the executable from it.  However, as a special exception,
    the materials to be distributed need not include anything that is
    normally distributed (in either source or binary form) with the major
    components (compiler, kernel, and so on) of the operating system on
    which the executable runs, unless that component itself accompanies
    the executable.

      It may happen that this requirement contradicts the license
    restrictions of other proprietary libraries that do not normally
    accompany the operating system.  Such a contradiction means you cannot
    use both them and the Library together in an executable that you
    distribute.

      7. You may place library facilities that are a work based on the
    Library side-by-side in a single library together with other library
    facilities not covered by this License, and distribute such a combined
    library, provided that the separate distribution of the work based on
    the Library and of the other library facilities is otherwise
    permitted, and provided that you do these two things:

        a) Accompany the combined library with a copy of the same work
        based on the Library, uncombined with any other library
        facilities.  This must be distributed under the terms of the
        Sections above.

        b) Give prominent notice with the combined library of the fact
        that part of it is a work based on the Library, and explaining
        where to find the accompanying uncombined form of the same work.

      8. You may not copy, modify, sublicense, link with, or distribute
    the Library except as expressly provided under this License.  Any
    attempt otherwise to copy, modify, sublicense, link with, or
    distribute the Library is void, and will automatically terminate your
    rights under this License.  However, parties who have received copies,
    or rights, from you under this License will not have their licenses
    terminated so long as such parties remain in full compliance.

      9. You are not required to accept this License, since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Library or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Library (or any work based on the
    Library), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Library or works based on it.

      10. Each time you redistribute the Library (or any work based on the
    Library), the recipient automatically receives a license from the
    original licensor to copy, distribute, link with or modify the Library
    subject to these terms and conditions.  You may not impose any further
    restrictions on the recipients' exercise of the rights granted herein.
    You are not responsible for enforcing compliance by third parties with
    this License.

      11. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License.  If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Library at all.  For example, if a patent
    license would not permit royalty-free redistribution of the Library by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Library.

    If any portion of this section is held invalid or unenforceable under any
    particular circumstance, the balance of the section is intended to apply,
    and the section as a whole is intended to apply in other circumstances.

    It is not the purpose of this section to induce you to infringe any
    patents or other property right claims or to contest validity of any
    such claims; this section has the sole purpose of protecting the
    integrity of the free software distribution system which is
    implemented by public license practices.  Many people have made
    generous contributions to the wide range of software distributed
    through that system in reliance on consistent application of that
    system; it is up to the author/donor to decide if he or she is willing
    to distribute software through any other system and a licensee cannot
    impose that choice.

    This section is intended to make thoroughly clear what is believed to
    be a consequence of the rest of this License.

      12. If the distribution and/or use of the Library is restricted in
    certain countries either by patents or by copyrighted interfaces, the
    original copyright holder who places the Library under this License may add
    an explicit geographical distribution limitation excluding those countries,
    so that distribution is permitted only in or among countries not thus
    excluded.  In such case, this License incorporates the limitation as if
    written in the body of this License.

      13. The Free Software Foundation may publish revised and/or new
    versions of the Lesser General Public License from time to time.
    Such new versions will be similar in spirit to the present version,
    but may differ in detail to address new problems or concerns.

    Each version is given a distinguishing version number.  If the Library
    specifies a version number of this License which applies to it and
    "any later version", you have the option of following the terms and
    conditions either of that version or of any later version published by
    the Free Software Foundation.  If the Library does not specify a
    license version number, you may choose any version ever published by
    the Free Software Foundation.

      14. If you wish to incorporate parts of the Library into other free
    programs whose distribution conditions are incompatible with these,
    write to the author to ask for permission.  For software which is
    copyrighted by the Free Software Foundation, write to the Free
    Software Foundation; we sometimes make exceptions for this.  Our
    decision will be guided by the two goals of preserving the free status
    of all derivatives of our free software and of promoting the sharing
    and reuse of software generally.

                                NO WARRANTY

      15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

      16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    DAMAGES.

                         END OF TERMS AND CONDITIONS

               How to Apply These Terms to Your New Libraries

      If you develop a new library, and you want it to be of the greatest
    possible use to the public, we recommend making it free software that
    everyone can redistribute and change.  You can do so by permitting
    redistribution under these terms (or, alternatively, under the terms of the
    ordinary General Public License).

      To apply these terms, attach the following notices to the library.  It is
    safest to attach them to the start of each source file to most effectively
    convey the exclusion of warranty; and each file should have at least the
    "copyright" line and a pointer to where the full notice is found.

        <one line to give the library's name and a brief idea of what it does.>
        Copyright (C) <year>  <name of author>

        This library is free software; you can redistribute it and/or
        modify it under the terms of the GNU Lesser General Public
        License as published by the Free Software Foundation; either
        version 2.1 of the License, or (at your option) any later version.

        This library is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        Lesser General Public License for more details.

        You should have received a copy of the GNU Lesser General Public
        License along with this library; if not, write to the Free Software
        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

    Also add information on how to contact you by electronic and paper mail.

    You should also get your employer (if you work as a programmer) or your
    school, if any, to sign a "copyright disclaimer" for the library, if
    necessary.  Here is a sample; alter the names:

      Yoyodyne, Inc., hereby disclaims all copyright interest in the
      library `Frob' (a library for tweaking knobs) written by James Random Hacker.

      <signature of Ty Coon>, 1 April 1990
      Ty Coon, President of Vice

    That's all there is to it!

    ----------------------------------------------------------------------

* libssh2 - https://www.libssh2.org/license.html

    Copyright (c) 2004-2007 Sara Golemon <sarag@libssh2.org>
    Copyright (c) 2005,2006 Mikhail Gusarov <dottedmag@dottedmag.net>
    Copyright (c) 2006-2007 The Written Word, Inc.
    Copyright (c) 2007 Eli Fant <elifantu@mail.ru>
    Copyright (c) 2009 Daniel Stenberg
    Copyright (C) 2008, 2009 Simon Josefsson
    All rights reserved.

    Redistribution and use in source and binary forms,
    with or without modification, are permitted provided
    that the following conditions are met:

      Redistributions of source code must retain the above
      copyright notice, this list of conditions and the
      following disclaimer.

      Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials
      provided with the distribution.

      Neither the name of the copyright holder nor the names
      of any other contributors may be used to endorse or
      promote products derived from this software without
      specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
    USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
    OF SUCH DAMAGE.

* libcurl - https://curl.haxx.se/docs/copyright.html

    COPYRIGHT AND PERMISSION NOTICE

    Copyright (c) 1996 - 2014, Daniel Stenberg, daniel@haxx.se.

    All rights reserved.

    Permission to use, copy, modify, and distribute this software for any
    purpose with or without fee is hereby granted, provided that the above
    copyright notice and this permission notice appear in all copies.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
    USE OR OTHER DEALINGS IN THE SOFTWARE.

    Except as contained in this notice, the name of a copyright holder shall not
    be used in advertising or otherwise to promote the sale, use or other
    dealings in this Software without prior written authorization of the
    copyright holder.

* flate2-rs - https://github.com/alexcrichton/flate2-rs/blob/master/LICENSE-MIT
* link-config - https://github.com/alexcrichton/link-config/blob/master/LICENSE-MIT
* openssl-static-sys - https://github.com/alexcrichton/openssl-static-sys/blob/master/LICENSE-MIT
* toml-rs - https://github.com/alexcrichton/toml-rs/blob/master/LICENSE-MIT
* libssh2-static-sys - https://github.com/alexcrichton/libssh2-static-sys/blob/master/LICENSE-MIT
* git2-rs - https://github.com/alexcrichton/git2-rs/blob/master/LICENSE-MIT
* tar-rs - https://github.com/alexcrichton/tar-rs/blob/master/LICENSE-MIT

    Copyright (c) 2014 Alex Crichton

    Permission is hereby granted, free of charge, to any
    person obtaining a copy of this software and associated
    documentation files (the "Software"), to deal in the
    Software without restriction, including without
    limitation the rights to use, copy, modify, merge,
    publish, distribute, sublicense, and/or sell copies of
    the Software, and to permit persons to whom the Software
    is furnished to do so, subject to the following
    conditions:

    The above copyright notice and this permission notice
    shall be included in all copies or substantial portions
    of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    DEALINGS IN THE SOFTWARE.

* glob - https://github.com/rust-lang/glob/blob/master/LICENSE-MIT
* semver - https://github.com/rust-lang/semver/blob/master/LICENSE-MIT

    Copyright (c) 2014 The Rust Project Developers

    Permission is hereby granted, free of charge, to any
    person obtaining a copy of this software and associated
    documentation files (the "Software"), to deal in the
    Software without restriction, including without
    limitation the rights to use, copy, modify, merge,
    publish, distribute, sublicense, and/or sell copies of
    the Software, and to permit persons to whom the Software
    is furnished to do so, subject to the following
    conditions:

    The above copyright notice and this permission notice
    shall be included in all copies or substantial portions
    of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    DEALINGS IN THE SOFTWARE.

* rust-url - https://github.com/servo/rust-url/blob/master/LICENSE-MIT

    Copyright (c) 2006-2009 Graydon Hoare
    Copyright (c) 2009-2013 Mozilla Foundation

    Permission is hereby granted, free of charge, to any
    person obtaining a copy of this software and associated
    documentation files (the "Software"), to deal in the
    Software without restriction, including without
    limitation the rights to use, copy, modify, merge,
    publish, distribute, sublicense, and/or sell copies of
    the Software, and to permit persons to whom the Software
    is furnished to do so, subject to the following
    conditions:

    The above copyright notice and this permission notice
    shall be included in all copies or substantial portions
    of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    DEALINGS IN THE SOFTWARE.

* rust-encoding - https://github.com/lifthrasiir/rust-encoding/blob/master/LICENSE.txt

    The MIT License (MIT)

    Copyright (c) 2013, Kang Seonghoon.

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.

* curl-rust - https://github.com/carllerche/curl-rust/blob/master/LICENSE

    Copyright (c) 2014 Carl Lerche

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.

* docopt.rs - https://github.com/docopt/docopt.rs/blob/master/UNLICENSE

    This is free and unencumbered software released into the public domain.

    Anyone is free to copy, modify, publish, use, compile, sell, or
    distribute this software, either in source code form or as a compiled
    binary, for any purpose, commercial or non-commercial, and by any
    means.

    In jurisdictions that recognize copyright laws, the author or authors
    of this software dedicate any and all copyright interest in the
    software to the public domain. We make this dedication for the benefit
    of the public at large and to the detriment of our heirs and
    successors. We intend this dedication to be an overt act of
    relinquishment in perpetuity of all present and future rights to this
    software under copyright law.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    OTHER DEALINGS IN THE SOFTWARE.

    For more information, please refer to <https://unlicense.org/>



================================================
FILE: README.md
================================================
# Cargo

Cargo downloads your Rust project’s dependencies and compiles your project.

**To start using Cargo**, learn more at [The Cargo Book].

**To start developing Cargo itself**, read the [Cargo Contributor Guide].

[The Cargo Book]: https://doc.rust-lang.org/cargo/
[Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/

> The Cargo binary distributed through with Rust is maintained by the Cargo
> team for use by the wider ecosystem.
> For all other uses of this crate (as a binary or library) this is maintained
> by the Cargo team, primarily for use by Cargo and not intended for external
> use (except as a transitive dependency). This crate may make major changes to
> its APIs.

## Code Status

[![CI](https://github.com/rust-lang/cargo/actions/workflows/main.yml/badge.svg?branch=auto-cargo)](https://github.com/rust-lang/cargo/actions/workflows/main.yml)

Code documentation: <https://doc.rust-lang.org/nightly/nightly-rustc/cargo/>

## Compiling from Source

### Requirements

Cargo requires the following tools and packages to build:

* `cargo` and `rustc`
* A C compiler [for your platform](https://github.com/rust-lang/cc-rs#compile-time-requirements)
* `git` (to clone this repository)

**Other requirements:**

The following are optional based on your platform and needs.

* `pkg-config` — This is used to help locate system packages, such as `libssl` headers/libraries. This may not be required in all cases, such as using vendored OpenSSL, or on Windows.
* OpenSSL — Only needed on Unix-like systems and only if the `vendored-openssl` Cargo feature is not used.

  This requires the development headers, which can be obtained from the `libssl-dev` package on Ubuntu or `openssl-devel` with apk or yum or the `openssl` package from Homebrew on macOS.

  If using the `vendored-openssl` Cargo feature, then a static copy of OpenSSL will be built from source instead of using the system OpenSSL.
  This may require additional tools such as `perl` and `make`.

  On macOS, common installation directories from Homebrew, MacPorts, or pkgsrc will be checked. Otherwise it will fall back to `pkg-config`.

  On Windows, the system-provided Schannel will be used instead.

  LibreSSL is also supported.

**Optional system libraries:**

The build will automatically use vendored versions of the following libraries. However, if they are provided by the system and can be found with `pkg-config`, then the system libraries will be used instead:

* [`libcurl`](https://curl.se/libcurl/) — Used for network transfers.
* [`libgit2`](https://libgit2.org/) — Used for fetching git dependencies.
* [`libssh2`](https://www.libssh2.org/) — Used for SSH access to git repositories.
* [`libz`](https://zlib.net/) (AKA zlib) — Used by the above C libraries for data compression. (Rust code uses [`zlib-rs`](https://github.com/trifectatechfoundation/zlib-rs) instead.)

It is recommended to use the vendored versions as they are the versions that are tested to work with Cargo.

### Compiling

First, you'll want to check out this repository

```
git clone https://github.com/rust-lang/cargo.git
cd cargo
```

With `cargo` already installed, you can simply run:

```
cargo build --release
```

## Adding new subcommands to Cargo

Cargo is designed to be extensible with new subcommands without having to modify
Cargo itself. See [the Wiki page][third-party-subcommands] for more details and
a list of known community-developed subcommands.

[third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands


## Releases

Cargo releases coincide with Rust releases.
High level release notes are available as part of [Rust's release notes][rel].
Detailed release notes are available in the [changelog].

[rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
[changelog]: https://doc.rust-lang.org/nightly/cargo/CHANGELOG.html

## Reporting issues

Found a bug? We'd love to know about it!

Please report all issues on the GitHub [issue tracker][issues].

[issues]: https://github.com/rust-lang/cargo/issues

## Contributing

See the **[Cargo Contributor Guide]** for a complete introduction
to contributing to Cargo.

## License

Cargo is primarily distributed under the terms of both the MIT license
and the Apache License (Version 2.0).

See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details.

### Third party software

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (https://www.openssl.org/).

In binary form, this product includes software that is licensed under the
terms of the GNU General Public License, version 2, with a linking exception,
which can be obtained from the [upstream repository][1].

See [LICENSE-THIRD-PARTY](LICENSE-THIRD-PARTY) for details.

[1]: https://github.com/libgit2/libgit2



================================================
FILE: benches/README.md
================================================
# Cargo Benchmarking

This directory contains some benchmarks for cargo itself. This uses
[Criterion] for running benchmarks. It is recommended to read the Criterion
book to get familiar with how to use it. A basic usage would be:

```sh
cd benches/benchsuite
cargo bench
```

However, running all benchmarks would take many minutes, so in most cases it
is recommended to just run the benchmarks relevant to whatever section of code
you are working on.

## Benchmarks

There are several different kinds of benchmarks in the `benchsuite/benches` directory:

* `global_cache_tracker` — Benchmarks saving data to the global cache tracker
  database using samples of real-world data.
* `resolve` — Benchmarks the resolver against simulations of real-world workspaces.
* `workspace_initialization` — Benchmarks initialization of a workspace
  against simulations of real-world workspaces.

### Resolve benchmarks

The resolve benchmarks involve downloading the index and benchmarking against some
real-world and artificial workspaces located in the [`workspaces`](workspaces)
directory.

**Beware** that the initial download can take a fairly long amount of time (10
minutes minimum on an extremely fast network) and require significant disk
space (around 4.5GB). The benchsuite will cache the index and downloaded
crates in the `target/tmp/bench` directory, so subsequent runs should be
faster. You can (and probably should) specify individual benchmarks to run to
narrow it down to a more reasonable set, for example:

```sh
cargo bench -p benchsuite --bench resolve -- resolve_ws/rust
```

This will only download what's necessary for the rust-lang/rust workspace
(which is about 330MB) and run the benchmarks against it (which should take
about a minute). To get a list of all the benchmarks, run:

```sh
cargo bench -p benchsuite --bench resolve -- --list
```

### Global cache tracker

The `global_cache_tracker` benchmark tests saving data to the global cache
tracker database using samples of real-world data. This benchmark should run
relatively quickly.

The real-world data is based on a capture of my personal development
environment which has accumulated a large cache. So it is somewhat arbitrary,
but hopefully representative of a challenging environment. Capturing of the
data is done with the `capture-last-use` binary, which you can run if you need
to rebuild the database. Just try to run on a system with a relatively full
cache in your cargo home directory.

```sh
cargo bench -p benchsuite --bench global_cache_tracker
```

## Viewing reports

The benchmarks display some basic information on the command-line while they
run. A more complete HTML report can be found at
`target/criterion/report/index.html` which contains links to all the
benchmarks and summaries. Check out the Criterion book for more information on
the extensive reporting capabilities.

## Comparing implementations

Knowing the raw numbers can be useful, but what you're probably most
interested in is checking if your changes help or hurt performance. To do
that, you need to run the benchmarks multiple times.

First, run the benchmarks from the master branch of cargo without any changes.
To make it easier to compare, Criterion supports naming the baseline so that
you can iterate on your code and compare against it multiple times.

```sh
cargo bench -- --save-baseline master
```

Now you can switch to your branch with your changes. Re-run the benchmarks
compared against the baseline:

```sh
cargo bench -- --baseline master
```

You can repeat the last command as you make changes to re-compare against the
master baseline.

Without the baseline arguments, it will compare against the last run, which
can be helpful for comparing incremental changes.

## Capturing workspaces

The [`workspaces`](workspaces) directory contains several workspaces that
provide a variety of different workspaces intended to provide good exercises
for benchmarks. Some of these are shadow copies of real-world workspaces. This
is done with the tool in the [`capture`](capture) directory. The tool will
copy `Cargo.lock` and all of the `Cargo.toml` files of the workspace members.
It also adds an empty `lib.rs` so Cargo won't error, and sanitizes the
`Cargo.toml` to some degree, removing unwanted elements. Finally, it
compresses everything into a `tgz`.

To run it, do:

```sh
cd benches/capture
cargo run -- /path/to/workspace/foo
```

The resolver benchmarks also support the `CARGO_BENCH_WORKSPACES` environment
variable, which you can point to a Cargo workspace if you want to try
different workspaces. For example:

```sh
CARGO_BENCH_WORKSPACES=/path/to/some/workspace cargo bench
```

## TODO

This is just a start for establishing a benchmarking suite for Cargo. There's
a lot that can be added. Some ideas:

* Fix the benchmarks so that the resolver setup doesn't run every iteration.
* Benchmark [this section of
  code](https://github.com/rust-lang/cargo/blob/a821e2cb24d7b6013433f069ab3bad53d160e100/src/cargo/ops/cargo_compile.rs#L470-L549)
  which builds the unit graph. The performance there isn't great, and it would
  be good to keep an eye on it. Unfortunately that would mean doing a bit of
  work to make `generate_targets` publicly visible, and there is a bunch of
  setup code that may need to be duplicated.
* Benchmark the fingerprinting code.
* Benchmark running the `cargo` executable. Running something like `cargo
  build` or `cargo check` with everything "Fresh" would be a good end-to-end
  exercise to measure the overall overhead of Cargo.
* Benchmark pathological resolver scenarios. There might be some cases where
  the resolver can spend a significant amount of time. It would be good to
  identify if these exist, and create benchmarks for them. This may require
  creating an artificial index, similar to the `resolver-tests`. This should
  also consider scenarios where the resolver ultimately fails.
* Benchmark without `Cargo.lock`. I'm not sure if this is particularly
  valuable, since we are mostly concerned with incremental builds which will
  always have a lock file.
* Benchmark just
  [`resolve::resolve`](https://github.com/rust-lang/cargo/blob/a821e2cb24d7b6013433f069ab3bad53d160e100/src/cargo/core/resolver/mod.rs#L122)
  without anything else. This can help focus on just the resolver.

[Criterion]: https://bheisler.github.io/criterion.rs/book/


================================================
FILE: benches/benchsuite/Cargo.toml
================================================
[package]
name = "benchsuite"
version = "0.0.0"
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Benchmarking suite for Cargo."
publish = false

[dependencies]
cargo.workspace = true
cargo-util.workspace = true
criterion.workspace = true
flate2.workspace = true
rand.workspace = true
tar.workspace = true
url.workspace = true

[lib]
bench = false

[[bench]]
name = "resolve"
harness = false

[[bench]]
name = "workspace_initialization"
harness = false

[[bench]]
name = "global_cache_tracker"
harness = false

[lints]
workspace = true


================================================
FILE: benches/benchsuite/README.md
================================================
> This crate is maintained by the Cargo team, primarily for use by Cargo
> and not intended for external use. This
> crate may make major changes to its APIs or be deprecated without warning.


================================================
FILE: benches/benchsuite/benches/global_cache_tracker.rs
================================================
//! Benchmarks for the global cache tracker.

use cargo::core::global_cache_tracker::{self, DeferredGlobalLastUse, GlobalCacheTracker};
use cargo::util::GlobalContext;
use cargo::util::cache_lock::CacheLockMode;
use cargo::util::interning::InternedString;
use criterion::{Criterion, criterion_group, criterion_main};
use std::fs;
use std::path::{Path, PathBuf};

// Samples of real-world data.
const GLOBAL_CACHE_SAMPLE: &str = "global-cache-tracker/global-cache-sample";
const GLOBAL_CACHE_RANDOM: &str = "global-cache-tracker/random-sample";

/// A scratch directory where the benchmark can place some files.
fn root() -> PathBuf {
    let mut p = PathBuf::from(env!("CARGO_TARGET_TMPDIR"));
    p.push("bench_global_cache_tracker");
    p
}

fn cargo_home() -> PathBuf {
    let mut p = root();
    p.push("chome");
    p
}

fn initialize_context() -> GlobalContext {
    // Set up config.
    let shell = cargo::core::Shell::new();
    let homedir = cargo_home();
    if !homedir.exists() {
        fs::create_dir_all(&homedir).unwrap();
    }
    let cwd = homedir.clone();
    let mut gctx = GlobalContext::new(shell, cwd, homedir);
    gctx.nightly_features_allowed = true;
    gctx.set_search_stop_path(root());
    gctx.configure(
        0,
        false,
        None,
        false,
        false,
        false,
        &None,
        &["gc".to_string()],
        &[],
    )
    .unwrap();
    // Set up database sample.
    let db_path = GlobalCacheTracker::db_path(&gctx).into_path_unlocked();
    if db_path.exists() {
        fs::remove_file(&db_path).unwrap();
    }
    let sample = Path::new(env!("CARGO_MANIFEST_DIR")).join(GLOBAL_CACHE_SAMPLE);
    fs::copy(sample, &db_path).unwrap();
    gctx
}

/// Benchmarks how long it takes to initialize `GlobalCacheTracker` with an already
/// existing full database.
fn global_tracker_init(c: &mut Criterion) {
    let gctx = initialize_context();
    let _lock = gctx
        .acquire_package_cache_lock(CacheLockMode::DownloadExclusive)
        .unwrap();
    c.bench_function("global_tracker_init", |b| {
        b.iter(|| {
            GlobalCacheTracker::new(&gctx).unwrap();
        })
    });
}

/// Benchmarks how long it takes to save a `GlobalCacheTracker` when there are zero
/// updates.
fn global_tracker_empty_save(c: &mut Criterion) {
    let gctx = initialize_context();
    let _lock = gctx
        .acquire_package_cache_lock(CacheLockMode::DownloadExclusive)
        .unwrap();
    let mut deferred = DeferredGlobalLastUse::new();
    let mut tracker = GlobalCacheTracker::new(&gctx).unwrap();

    c.bench_function("global_tracker_empty_save", |b| {
        b.iter(|| {
            deferred.save(&mut tracker).unwrap();
        })
    });
}

fn load_random_sample() -> Vec<(InternedString, InternedString, u64)> {
    let path = Path::new(env!("CARGO_MANIFEST_DIR")).join(GLOBAL_CACHE_RANDOM);
    fs::read_to_string(path)
        .unwrap()
        .lines()
        .map(|s| {
            let mut s = s.split(',');
            (
                s.next().unwrap().into(),
                s.next().unwrap().into(),
                s.next().unwrap().parse().unwrap(),
            )
        })
        .collect()
}

/// Tests performance of updating the last-use timestamps in an already
/// populated database.
///
/// This runs for different sizes of number of crates to update (selecting
/// from the random sample stored on disk).
fn global_tracker_update(c: &mut Criterion) {
    let gctx = initialize_context();
    let _lock = gctx
        .acquire_package_cache_lock(CacheLockMode::DownloadExclusive)
        .unwrap();
    let sample = Path::new(env!("CARGO_MANIFEST_DIR")).join(GLOBAL_CACHE_SAMPLE);
    let db_path = GlobalCacheTracker::db_path(&gctx).into_path_unlocked();

    let random_sample = load_random_sample();

    let mut group = c.benchmark_group("global_tracker_update");
    for size in [1, 10, 100, 500] {
        if db_path.exists() {
            fs::remove_file(&db_path).unwrap();
        }

        fs::copy(&sample, &db_path).unwrap();
        let mut deferred = DeferredGlobalLastUse::new();
        let mut tracker = GlobalCacheTracker::new(&gctx).unwrap();
        group.bench_with_input(size.to_string(), &size, |b, &size| {
            b.iter(|| {
                for (encoded_registry_name, name, size) in &random_sample[..size] {
                    deferred.mark_registry_crate_used(global_cache_tracker::RegistryCrate {
                        encoded_registry_name: *encoded_registry_name,
                        crate_filename: format!("{}.crate", name).into(),
                        size: *size,
                    });
                    deferred.mark_registry_src_used(global_cache_tracker::RegistrySrc {
                        encoded_registry_name: *encoded_registry_name,
                        package_dir: *name,
                        size: Some(*size),
                    });
                }
                deferred.save(&mut tracker).unwrap();
            })
        });
    }
}

criterion_group!(
    benches,
    global_tracker_init,
    global_tracker_empty_save,
    global_tracker_update
);
criterion_main!(benches);


================================================
FILE: benches/benchsuite/benches/resolve.rs
================================================
use benchsuite::fixtures;
use cargo::GlobalContext;
use cargo::core::compiler::{CompileKind, RustcTargetData};
use cargo::core::resolver::features::{FeatureOpts, FeatureResolver};
use cargo::core::resolver::{CliFeatures, ForceAllTargets, HasDevUnits, ResolveBehavior};
use cargo::core::{PackageIdSpec, Workspace};
use cargo::ops::WorkspaceResolve;
use criterion::{Criterion, criterion_group, criterion_main};
use std::path::Path;

struct ResolveInfo<'gctx> {
    ws: Workspace<'gctx>,
    requested_kinds: [CompileKind; 1],
    target_data: RustcTargetData<'gctx>,
    cli_features: CliFeatures,
    specs: Vec<PackageIdSpec>,
    has_dev_units: HasDevUnits,
    force_all_targets: ForceAllTargets,
    ws_resolve: WorkspaceResolve<'gctx>,
}

/// Helper for resolving a workspace. This will run the resolver once to
/// download everything, and returns all the data structures that are used
/// during resolution.
fn do_resolve<'gctx>(gctx: &'gctx GlobalContext, ws_root: &Path) -> ResolveInfo<'gctx> {
    let requested_kinds = [CompileKind::Host];
    let ws = Workspace::new(&ws_root.join("Cargo.toml"), gctx).unwrap();
    let mut target_data = RustcTargetData::new(&ws, &requested_kinds).unwrap();
    let cli_features = CliFeatures::from_command_line(&[], false, true).unwrap();
    let pkgs = cargo::ops::Packages::Default;
    let specs = pkgs.to_package_id_specs(&ws).unwrap();
    let has_dev_units = HasDevUnits::Yes;
    let force_all_targets = ForceAllTargets::No;
    // Do an initial run to download anything necessary so that it does
    // not confuse criterion's warmup.
    let dry_run = false;
    let ws_resolve = cargo::ops::resolve_ws_with_opts(
        &ws,
        &mut target_data,
        &requested_kinds,
        &cli_features,
        &specs,
        has_dev_units,
        force_all_targets,
        dry_run,
    )
    .unwrap();
    ResolveInfo {
        ws,
        requested_kinds,
        target_data,
        cli_features,
        specs,
        has_dev_units,
        force_all_targets,
        ws_resolve,
    }
}

/// Benchmark of the full `resolve_ws_with_opts` which runs the resolver
/// twice, the feature resolver, and more. This is a major component of a
/// regular cargo build.
fn resolve_ws(c: &mut Criterion) {
    let fixtures = fixtures!();
    let mut group = c.benchmark_group("resolve_ws");
    for (ws_name, ws_root) in fixtures.workspaces() {
        let gctx = fixtures.make_context(&ws_root);
        // The resolver info is initialized only once in a lazy fashion. This
        // allows criterion to skip this workspace if the user passes a filter
        // on the command-line (like `cargo bench -- resolve_ws/tikv`).
        //
        // Due to the way criterion works, it tends to only run the inner
        // iterator once, and we don't want to call `do_resolve` in every
        // "step", since that would just be some useless work.
        let mut lazy_info = None;
        let dry_run = false;
        group.bench_function(&ws_name, |b| {
            let ResolveInfo {
                ws,
                requested_kinds,
                target_data,
                cli_features,
                specs,
                has_dev_units,
                force_all_targets,
                ..
            } = lazy_info.get_or_insert_with(|| do_resolve(&gctx, &ws_root));
            b.iter(|| {
                cargo::ops::resolve_ws_with_opts(
                    ws,
                    target_data,
                    requested_kinds,
                    cli_features,
                    specs,
                    *has_dev_units,
                    *force_all_targets,
                    dry_run,
                )
                .unwrap();
            })
        });
    }
    group.finish();
}

/// Benchmark of the feature resolver.
fn feature_resolver(c: &mut Criterion) {
    let fixtures = fixtures!();
    let mut group = c.benchmark_group("feature_resolver");
    for (ws_name, ws_root) in fixtures.workspaces() {
        let gctx = fixtures.make_context(&ws_root);
        let mut lazy_info = None;
        group.bench_function(&ws_name, |b| {
            let ResolveInfo {
                ws,
                requested_kinds,
                target_data,
                cli_features,
                specs,
                has_dev_units,
                ws_resolve,
                ..
            } = lazy_info.get_or_insert_with(|| do_resolve(&gctx, &ws_root));
            b.iter(|| {
                let feature_opts = FeatureOpts::new_behavior(ResolveBehavior::V2, *has_dev_units);
                FeatureResolver::resolve(
                    ws,
                    target_data,
                    &ws_resolve.targeted_resolve,
                    &ws_resolve.pkg_set,
                    cli_features,
                    specs,
                    requested_kinds,
                    feature_opts,
                )
                .unwrap();
            })
        });
    }
    group.finish();
}

// Criterion complains about the measurement time being too small, but the
// measurement time doesn't seem important to me, what is more important is
// the number of iterations which defaults to 100, which seems like a
// reasonable default. Otherwise, the measurement time would need to be
// changed per workspace. We wouldn't want to spend 60s on every workspace,
// that would take too long and isn't necessary for the smaller workspaces.
criterion_group!(benches, resolve_ws, feature_resolver);
criterion_main!(benches);


================================================
FILE: benches/benchsuite/benches/workspace_initialization.rs
================================================
use benchsuite::fixtures;
use cargo::core::Workspace;
use criterion::{Criterion, criterion_group, criterion_main};

fn workspace_initialization(c: &mut Criterion) {
    let fixtures = fixtures!();
    let mut group = c.benchmark_group("workspace_initialization");
    for (ws_name, ws_root) in fixtures.workspaces() {
        let gctx = fixtures.make_context(&ws_root);
        // The resolver info is initialized only once in a lazy fashion. This
        // allows criterion to skip this workspace if the user passes a filter
        // on the command-line (like `cargo bench -- workspace_initialization/tikv`).
        group.bench_function(ws_name, |b| {
            b.iter(|| Workspace::new(&ws_root.join("Cargo.toml"), &gctx).unwrap())
        });
    }
    group.finish();
}

// Criterion complains about the measurement time being too small, but the
// measurement time doesn't seem important to me, what is more important is
// the number of iterations which defaults to 100, which seems like a
// reasonable default. Otherwise, the measurement time would need to be
// changed per workspace. We wouldn't want to spend 60s on every workspace,
// that would take too long and isn't necessary for the smaller workspaces.
criterion_group!(benches, workspace_initialization);
criterion_main!(benches);


================================================
FILE: benches/benchsuite/global-cache-tracker/random-sample
================================================
github.com-1ecc6299db9ec823,tungstenite-0.18.0,218740
github.com-1ecc6299db9ec823,integer-encoding-1.1.5,30672
github.com-1ecc6299db9ec823,tungstenite-0.14.0,315676
github.com-1ecc6299db9ec823,oxcable-0.5.1,163196
github.com-1ecc6299db9ec823,swc_ecma_transforms_typescript-0.32.0,245522
github.com-1ecc6299db9ec823,hyper-0.12.35,601153
github.com-1ecc6299db9ec823,resiter-0.4.0,59880
github.com-1ecc6299db9ec823,net2-0.2.37,115813
github.com-1ecc6299db9ec823,str_inflector-0.12.0,182460
github.com-1ecc6299db9ec823,derive_builder_macro-0.10.2,16441
github.com-1ecc6299db9ec823,smol_str-0.1.23,42436
github.com-1ecc6299db9ec823,wasm-bindgen-multi-value-xform-0.2.83,35347
github.com-1ecc6299db9ec823,time-macros-0.1.0,1620
github.com-1ecc6299db9ec823,unicode-bidi-0.3.7,140153
github.com-1ecc6299db9ec823,socket2-0.4.0,167295
github.com-1ecc6299db9ec823,ppv-lite86-0.2.10,125234
github.com-1ecc6299db9ec823,tracing-wasm-0.2.1,31449
github.com-1ecc6299db9ec823,eframe-0.19.0,158130
github.com-1ecc6299db9ec823,block-modes-0.7.0,42530
github.com-1ecc6299db9ec823,rangemap-0.1.11,144157
github.com-1ecc6299db9ec823,metal-0.23.1,1038699
github.com-1ecc6299db9ec823,os_str_bytes-6.0.1,86390
github.com-1ecc6299db9ec823,plotters-backend-0.3.4,53018
github.com-1ecc6299db9ec823,spidev-0.4.0,45301
github.com-1ecc6299db9ec823,axum-macros-0.2.3,102058
github.com-1ecc6299db9ec823,embedded-time-0.12.1,246450
github.com-1ecc6299db9ec823,envmnt-0.10.4,2328079
github.com-1ecc6299db9ec823,camino-1.1.1,133976
github.com-1ecc6299db9ec823,siphasher-0.3.5,46666
github.com-1ecc6299db9ec823,lexical-write-integer-0.8.5,388374
github.com-1ecc6299db9ec823,reqwest-0.11.14,686608
github.com-1ecc6299db9ec823,enum-map-2.4.1,51184
github.com-1ecc6299db9ec823,sentry-panic-0.29.0,18211
github.com-1ecc6299db9ec823,msf-srtp-0.2.0,73164
github.com-1ecc6299db9ec823,near-sandbox-utils-0.4.1,7543
github.com-1ecc6299db9ec823,ablescript-0.5.2,129318
github.com-1ecc6299db9ec823,apecs-derive-0.2.3,10620
github.com-1ecc6299db9ec823,libc-0.2.133,3417382
github.com-1ecc6299db9ec823,tracing-0.1.35,380627
github.com-1ecc6299db9ec823,serde-wasm-bindgen-0.3.1,55371
github.com-1ecc6299db9ec823,compiler_builtins-0.1.71,692853
github.com-1ecc6299db9ec823,mockito-0.7.2,1179718
github.com-1ecc6299db9ec823,tonic-0.5.2,420299
github.com-1ecc6299db9ec823,tracing-core-0.1.30,240058
github.com-1ecc6299db9ec823,tower-timeout-0.3.0-alpha.2,7486
github.com-1ecc6299db9ec823,js-intern-0.3.1,7026
github.com-1ecc6299db9ec823,json-ld-context-processing-0.12.1,78101
github.com-1ecc6299db9ec823,generic-array-0.14.6,67349
github.com-1ecc6299db9ec823,synstructure-0.12.3,93523
github.com-1ecc6299db9ec823,version-compare-0.0.10,74950
github.com-1ecc6299db9ec823,dirs-1.0.5,51075
github.com-1ecc6299db9ec823,worker-kv-0.5.1,67351
github.com-1ecc6299db9ec823,vsimd-0.8.0,170805
github.com-1ecc6299db9ec823,mockall-0.9.1,187734
github.com-1ecc6299db9ec823,nan-preserving-float-0.1.0,6341
github.com-1ecc6299db9ec823,wasmer-types-2.3.0,192436
github.com-1ecc6299db9ec823,sodiumoxide-0.2.7,5131115
github.com-1ecc6299db9ec823,tracing-attributes-0.1.11,74857
github.com-1ecc6299db9ec823,treediff-4.0.2,72588
github.com-1ecc6299db9ec823,wiggle-generate-5.0.0,103044
github.com-1ecc6299db9ec823,lapin-1.6.6,497368
github.com-1ecc6299db9ec823,cranelift-entity-0.93.1,114206
github.com-1ecc6299db9ec823,pcap-parser-0.13.3,184131
github.com-1ecc6299db9ec823,rustfft-5.1.1,1638221
github.com-1ecc6299db9ec823,string_cache-0.7.5,75074
github.com-1ecc6299db9ec823,maybe-uninit-2.0.0,38492
github.com-1ecc6299db9ec823,diesel_full_text_search-2.0.0,10179
github.com-1ecc6299db9ec823,quinn-proto-0.8.4,687565
github.com-1ecc6299db9ec823,semver-0.5.1,73365
github.com-1ecc6299db9ec823,rocket_http-0.5.0-rc.2,409939
github.com-1ecc6299db9ec823,dialoguer-0.7.1,95159
github.com-1ecc6299db9ec823,fallible_collections-0.4.5,244152
github.com-1ecc6299db9ec823,parking_lot_core-0.9.0,138932
github.com-1ecc6299db9ec823,relative-path-1.6.0,103315
github.com-1ecc6299db9ec823,lua52-sys-0.1.2,584054
github.com-1ecc6299db9ec823,actix-files-0.6.0,126121
github.com-1ecc6299db9ec823,crates-io-0.35.1,29498
github.com-1ecc6299db9ec823,sentry-backtrace-0.19.1,20268
github.com-1ecc6299db9ec823,text_unit-0.1.10,26100
github.com-1ecc6299db9ec823,ascii-1.0.0,143025
github.com-1ecc6299db9ec823,crossbeam-utils-0.8.6,169542
github.com-1ecc6299db9ec823,nelf-0.1.0,28868
github.com-1ecc6299db9ec823,colorsys-0.6.5,86989
github.com-1ecc6299db9ec823,enum-iterator-1.2.0,31042
github.com-1ecc6299db9ec823,ansi-str-0.7.2,111689
github.com-1ecc6299db9ec823,anyhow-1.0.68,209123
github.com-1ecc6299db9ec823,gix-lock-5.0.1,65110
github.com-1ecc6299db9ec823,nom-supreme-0.8.0,147530
github.com-1ecc6299db9ec823,path-slash-0.1.4,28655
github.com-1ecc6299db9ec823,crates-io-0.35.0,29406
github.com-1ecc6299db9ec823,stb_truetype-0.2.8,22939
github.com-1ecc6299db9ec823,proc-macro2-1.0.50,185288
github.com-1ecc6299db9ec823,snapbox-0.4.1,169526
github.com-1ecc6299db9ec823,hyper-0.14.9,764075
github.com-1ecc6299db9ec823,ab_glyph-0.2.15,61722
github.com-1ecc6299db9ec823,uuid-0.1.18,47889
github.com-1ecc6299db9ec823,data-url-0.2.0,123480
github.com-1ecc6299db9ec823,threadpool-1.7.1,59558
github.com-1ecc6299db9ec823,thiserror-impl-1.0.29,65149
github.com-1ecc6299db9ec823,sha1-0.6.0,31102
github.com-1ecc6299db9ec823,tokio-tls-0.2.1,51467
github.com-1ecc6299db9ec823,locspan-derive-0.6.0,59360
github.com-1ecc6299db9ec823,ureq-1.5.1,249335
github.com-1ecc6299db9ec823,protoc-rust-2.24.1,13459
github.com-1ecc6299db9ec823,serde-1.0.159,509060
github.com-1ecc6299db9ec823,unescape-0.1.0,6047
github.com-1ecc6299db9ec823,data-encoding-2.2.0,113191
github.com-1ecc6299db9ec823,bytestring-1.1.0,23705
github.com-1ecc6299db9ec823,ab_glyph_rasterizer-0.1.8,34773
github.com-1ecc6299db9ec823,syn-0.12.15,912964
github.com-1ecc6299db9ec823,reqwest-0.11.9,656209
github.com-1ecc6299db9ec823,rustls-0.17.0,903717
github.com-1ecc6299db9ec823,term_size-0.3.2,36226
github.com-1ecc6299db9ec823,ordered-float-3.1.0,91357
github.com-1ecc6299db9ec823,cookie-0.2.5,44912
github.com-1ecc6299db9ec823,debugid-0.8.0,44521
github.com-1ecc6299db9ec823,conrod-0.51.1,2154016
github.com-1ecc6299db9ec823,indexmap-1.6.1,247801
github.com-1ecc6299db9ec823,target-spec-1.3.1,68315
github.com-1ecc6299db9ec823,lexical-parse-integer-0.8.6,139671
github.com-1ecc6299db9ec823,time-0.1.38,131629
github.com-1ecc6299db9ec823,glib-macros-0.14.1,102959
github.com-1ecc6299db9ec823,metrics-macros-0.6.0,37750
github.com-1ecc6299db9ec823,structopt-0.3.12,224213
github.com-1ecc6299db9ec823,criterion-0.3.2,439241
github.com-1ecc6299db9ec823,lyon_path-0.17.7,186745
github.com-1ecc6299db9ec823,miette-5.5.0,312945
github.com-1ecc6299db9ec823,tokio-codec-0.2.0-alpha.6,118193
github.com-1ecc6299db9ec823,structopt-derive-0.4.14,84883
github.com-1ecc6299db9ec823,objekt-0.1.2,24191
github.com-1ecc6299db9ec823,sqlx-macros-0.5.7,110890
github.com-1ecc6299db9ec823,systemstat-0.1.10,127295
github.com-1ecc6299db9ec823,colorful-0.2.2,99698
github.com-1ecc6299db9ec823,quick-xml-0.20.0,645935
github.com-1ecc6299db9ec823,selinux-sys-0.6.2,27060
github.com-1ecc6299db9ec823,vsmtp-mail-parser-1.4.0-rc.10,137699
github.com-1ecc6299db9ec823,sec1-0.7.2,64870
github.com-1ecc6299db9ec823,nix-0.22.1,1161830
github.com-1ecc6299db9ec823,snow-0.9.0,2658286
github.com-1ecc6299db9ec823,per_test_directory_macros-0.1.0,2962
github.com-1ecc6299db9ec823,syn-helpers-0.4.3,58801
github.com-1ecc6299db9ec823,terminal_size-0.2.2,29633
github.com-1ecc6299db9ec823,bevy_hierarchy-0.7.0,41018
github.com-1ecc6299db9ec823,dynamic_reload-0.4.0,74455
github.com-1ecc6299db9ec823,http-signature-normalization-actix-0.5.0-beta.14,126857
github.com-1ecc6299db9ec823,http-body-0.4.1,24138
github.com-1ecc6299db9ec823,gix-index-0.13.0,207795
github.com-1ecc6299db9ec823,darling_macro-0.13.1,4156
github.com-1ecc6299db9ec823,serde_json-1.0.66,543072
github.com-1ecc6299db9ec823,minreq-1.4.1,41355
github.com-1ecc6299db9ec823,sct-0.6.1,60974
github.com-1ecc6299db9ec823,openssl-0.10.50,1173941
github.com-1ecc6299db9ec823,bevy_pbr-0.6.0,201163
github.com-1ecc6299db9ec823,security-framework-2.3.1,290512
github.com-1ecc6299db9ec823,pin-project-internal-0.4.30,128419
github.com-1ecc6299db9ec823,serde_yaml-0.7.5,158524
github.com-1ecc6299db9ec823,cid-0.3.2,17269
github.com-1ecc6299db9ec823,plotters-backend-0.3.0,51995
github.com-1ecc6299db9ec823,serde_yaml-0.8.12,179579
github.com-1ecc6299db9ec823,cosmwasm-schema-derive-1.1.9,34956
github.com-1ecc6299db9ec823,docopt-0.6.86,175553
github.com-1ecc6299db9ec823,git-testament-0.2.4,27685
github.com-1ecc6299db9ec823,htmlescape-0.3.1,143378
github.com-1ecc6299db9ec823,is_proc_translated-0.1.1,16533
github.com-1ecc6299db9ec823,futures-macro-0.3.4,33147
github.com-1ecc6299db9ec823,futures-intrusive-0.4.2,520476
github.com-1ecc6299db9ec823,rustix-0.35.13,1581355
github.com-1ecc6299db9ec823,glsl-layout-0.3.2,75515
github.com-1ecc6299db9ec823,darling-0.12.0,67446
github.com-1ecc6299db9ec823,blake3-0.1.5,394136
github.com-1ecc6299db9ec823,async-stripe-0.15.0,3157635
github.com-1ecc6299db9ec823,hbs-common-sys-0.2.1,1034
github.com-1ecc6299db9ec823,base58-0.1.0,7019
github.com-1ecc6299db9ec823,time-0.2.23,342720
github.com-1ecc6299db9ec823,memoffset-0.5.6,27595
github.com-1ecc6299db9ec823,colored-1.9.3,85161
github.com-1ecc6299db9ec823,lrpar-0.13.1,153317
github.com-1ecc6299db9ec823,clap-2.34.0,975823
github.com-1ecc6299db9ec823,chalk-engine-0.55.0,203718
github.com-1ecc6299db9ec823,cosmic-space-0.3.6,800331
github.com-1ecc6299db9ec823,syn-1.0.93,1886902
github.com-1ecc6299db9ec823,futures-core-0.3.5,43430
github.com-1ecc6299db9ec823,prost-derive-0.11.6,99428
github.com-1ecc6299db9ec823,toml_edit-0.15.0,491549
github.com-1ecc6299db9ec823,pcb-llvm-0.2.0,17328
github.com-1ecc6299db9ec823,rusticata-macros-2.1.0,35537
github.com-1ecc6299db9ec823,rustyline-with-hint-fix-10.1.0,548833
github.com-1ecc6299db9ec823,sharded-slab-0.1.1,239224
github.com-1ecc6299db9ec823,literally-0.1.3,20415
github.com-1ecc6299db9ec823,riff-1.0.1,20582
github.com-1ecc6299db9ec823,futures-macro-0.3.23,38691
github.com-1ecc6299db9ec823,criterion-0.3.1,431723
github.com-1ecc6299db9ec823,atty-0.2.14,14567
github.com-1ecc6299db9ec823,vergen-3.1.0,49089
github.com-1ecc6299db9ec823,peeking_take_while-0.1.2,18604
github.com-1ecc6299db9ec823,serde_derive-1.0.156,316173
github.com-1ecc6299db9ec823,geo-0.23.1,1022596
github.com-1ecc6299db9ec823,persy-1.4.3,778219
github.com-1ecc6299db9ec823,futures-lite-1.13.0,214632
github.com-1ecc6299db9ec823,ms_dtyp-0.0.3,44387
github.com-1ecc6299db9ec823,thiserror-1.0.33,66618
github.com-1ecc6299db9ec823,marksman_escape-0.1.2,587235
github.com-1ecc6299db9ec823,serde_derive-1.0.101,289156
github.com-1ecc6299db9ec823,gix-ref-0.29.0,214105
github.com-1ecc6299db9ec823,der-0.7.5,384316
github.com-1ecc6299db9ec823,promptly-0.3.0,35216
github.com-1ecc6299db9ec823,libc-0.2.115,3166629
github.com-1ecc6299db9ec823,ppv-lite86-0.1.2,33514
github.com-1ecc6299db9ec823,gfx-hal-0.6.0,254453
github.com-1ecc6299db9ec823,as-slice-0.1.3,20306
github.com-1ecc6299db9ec823,gpu-alloc-0.3.0,78823
github.com-1ecc6299db9ec823,arc-swap-0.4.8,167950
github.com-1ecc6299db9ec823,libusb1-sys-0.5.0,1458763
github.com-1ecc6299db9ec823,sysinfo-0.26.8,609932
github.com-1ecc6299db9ec823,refinery-macros-0.8.7,6514
github.com-1ecc6299db9ec823,assert_float_eq-1.1.3,38445
github.com-1ecc6299db9ec823,tinyvec-1.1.0,363582
github.com-1ecc6299db9ec823,predicates-1.0.7,1168580
github.com-1ecc6299db9ec823,pulldown-cmark-0.9.3,595681
github.com-1ecc6299db9ec823,aws-sigv4-0.46.0,97885
github.com-1ecc6299db9ec823,fastrand-1.5.0,39175
github.com-1ecc6299db9ec823,futures-channel-0.3.17,131816
github.com-1ecc6299db9ec823,usbd_scsi-0.1.0,172205
github.com-1ecc6299db9ec823,tinyvec-1.4.0,379505
github.com-1ecc6299db9ec823,structsy-0.5.1,513822
github.com-1ecc6299db9ec823,aws-sdk-ssm-0.21.0,9755619
github.com-1ecc6299db9ec823,pin-project-lite-0.1.1,63942
github.com-1ecc6299db9ec823,tokio-rustls-0.13.0,78252
github.com-1ecc6299db9ec823,tinyvec_macros-0.1.0,2912
github.com-1ecc6299db9ec823,extended_matrix_float-1.0.0,6233
github.com-1ecc6299db9ec823,displaydoc-0.2.3,68676
github.com-1ecc6299db9ec823,typed-arena-2.0.2,43549
github.com-1ecc6299db9ec823,cranelift-0.86.1,16294
github.com-1ecc6299db9ec823,modular-bitfield-impl-0.10.0,64389
github.com-1ecc6299db9ec823,schemafy_core-0.5.2,7696
github.com-1ecc6299db9ec823,sea-orm-macros-0.8.0,86930
github.com-1ecc6299db9ec823,core-foundation-sys-0.4.6,61859
github.com-1ecc6299db9ec823,move-symbol-pool-0.3.2,14473
github.com-1ecc6299db9ec823,glutin-0.25.1,300518
github.com-1ecc6299db9ec823,postcard-cobs-0.2.0,41524
github.com-1ecc6299db9ec823,quote-0.6.11,69636
github.com-1ecc6299db9ec823,encoding_rs-0.8.32,5022316
github.com-1ecc6299db9ec823,clap-2.32.0,946148
github.com-1ecc6299db9ec823,term-0.6.1,181220
github.com-1ecc6299db9ec823,enumset-1.0.12,85911
github.com-1ecc6299db9ec823,ctest2-0.4.1,100745
github.com-1ecc6299db9ec823,serde-xml-any-0.0.3,70554
github.com-1ecc6299db9ec823,proc-macro-hack-0.5.11,39025
github.com-1ecc6299db9ec823,remove_dir_all-0.5.1,23418
github.com-1ecc6299db9ec823,weezl-0.1.5,134218
github.com-1ecc6299db9ec823,windows_x86_64_gnullvm-0.42.1,3254874
github.com-1ecc6299db9ec823,rocket-0.5.0-rc.2,1225987
github.com-1ecc6299db9ec823,pin-project-0.4.27,282004
github.com-1ecc6299db9ec823,criterion-cycles-per-byte-0.1.3,18296
github.com-1ecc6299db9ec823,coco-0.1.1,107143
github.com-1ecc6299db9ec823,solana-bloom-1.15.1,22207
github.com-1ecc6299db9ec823,qoqo_calculator-1.1.1,163666
github.com-1ecc6299db9ec823,aes-gcm-0.9.4,381036
github.com-1ecc6299db9ec823,blowfish-0.9.1,39658
github.com-1ecc6299db9ec823,pango-0.14.3,258440
github.com-1ecc6299db9ec823,clap_derive-3.0.0,129105
github.com-1ecc6299db9ec823,content_inspector-0.2.4,27568
github.com-1ecc6299db9ec823,jsona-0.2.0,104104
github.com-1ecc6299db9ec823,gix-quote-0.4.3,32314
github.com-1ecc6299db9ec823,bcs-0.1.3,93194
github.com-1ecc6299db9ec823,statrs-0.14.0,681982
github.com-1ecc6299db9ec823,cw-controllers-0.16.0,32195
github.com-1ecc6299db9ec823,hyper-0.12.36,578470
github.com-1ecc6299db9ec823,argon2-0.4.1,112707
github.com-1ecc6299db9ec823,fraction-0.12.2,482976
github.com-1ecc6299db9ec823,quickcheck-0.7.2,89884
github.com-1ecc6299db9ec823,typetag-0.1.8,135149
github.com-1ecc6299db9ec823,object-0.20.0,916661
github.com-1ecc6299db9ec823,pest_derive-2.2.1,60318
github.com-1ecc6299db9ec823,coremidi-sys-3.1.0,40849
github.com-1ecc6299db9ec823,either-1.6.0,48881
github.com-1ecc6299db9ec823,tarpc-0.29.0,244416
github.com-1ecc6299db9ec823,num-integer-0.1.42,88403
github.com-1ecc6299db9ec823,oid-registry-0.6.0,46996
github.com-1ecc6299db9ec823,historian-3.0.11,23818
github.com-1ecc6299db9ec823,ui-sys-0.1.3,1784250
github.com-1ecc6299db9ec823,cranelift-frontend-0.92.0,166902
github.com-1ecc6299db9ec823,pin-project-lite-0.1.12,77882
github.com-1ecc6299db9ec823,piston2d-gfx_graphics-0.72.0,91826
github.com-1ecc6299db9ec823,stylist-macros-0.9.2,78647
github.com-1ecc6299db9ec823,valico-3.4.0,1394467
github.com-1ecc6299db9ec823,inventory-0.3.3,40329
github.com-1ecc6299db9ec823,wrapping_arithmetic-0.1.0,8774
github.com-1ecc6299db9ec823,serde-1.0.138,502921
github.com-1ecc6299db9ec823,ra_common-0.1.3,16920
github.com-1ecc6299db9ec823,markup5ever-0.10.0,213742
github.com-1ecc6299db9ec823,libp2p-core-0.20.1,460422
github.com-1ecc6299db9ec823,inout-0.1.2,40474
github.com-1ecc6299db9ec823,flatbuffers-23.1.21,103944
github.com-1ecc6299db9ec823,gdk-pixbuf-sys-0.10.0,42914
github.com-1ecc6299db9ec823,miniz_oxide-0.5.1,223551
github.com-1ecc6299db9ec823,merge-0.1.0,70214
github.com-1ecc6299db9ec823,pagecache-0.6.0,260742
github.com-1ecc6299db9ec823,ritelinked-0.3.2,142063
github.com-1ecc6299db9ec823,ethers-contract-1.0.2,589452
github.com-1ecc6299db9ec823,color_quant-1.1.0,21284
github.com-1ecc6299db9ec823,libykpers-sys-0.3.1,14270
github.com-1ecc6299db9ec823,cgmath-0.17.0,367702
github.com-1ecc6299db9ec823,clap-4.0.18,1096299
github.com-1ecc6299db9ec823,ears-0.5.1,165152
github.com-1ecc6299db9ec823,h2-0.2.5,765073
github.com-1ecc6299db9ec823,image-0.22.5,725576
github.com-1ecc6299db9ec823,digest-0.10.1,83013
github.com-1ecc6299db9ec823,js-sys-0.3.46,410849
github.com-1ecc6299db9ec823,psl-types-2.0.11,25329
github.com-1ecc6299db9ec823,apub-core-0.2.0,52434
github.com-1ecc6299db9ec823,thiserror-1.0.22,59077
github.com-1ecc6299db9ec823,num-complex-0.4.3,139539
github.com-1ecc6299db9ec823,autocfg-1.0.1,41521
github.com-1ecc6299db9ec823,amethyst_locale-0.15.3,4896
github.com-1ecc6299db9ec823,tokio-timer-0.2.11,167147
github.com-1ecc6299db9ec823,pipe-trait-0.2.1,11031
github.com-1ecc6299db9ec823,http-muncher-0.3.2,259101
github.com-1ecc6299db9ec823,thin-dst-1.1.0,46297
github.com-1ecc6299db9ec823,float-ord-0.2.0,21145
github.com-1ecc6299db9ec823,trust-dns-proto-0.21.2,1312809
github.com-1ecc6299db9ec823,ordered-multimap-0.4.3,178966
github.com-1ecc6299db9ec823,bitflags-0.4.0,33932
github.com-1ecc6299db9ec823,windows_x86_64_gnullvm-0.42.0,3240134
github.com-1ecc6299db9ec823,cargo-util-0.1.2,72189
github.com-1ecc6299db9ec823,serde_with_macros-1.5.2,72325
github.com-1ecc6299db9ec823,wasmer-2.3.0,529984
github.com-1ecc6299db9ec823,tokio-codec-0.1.2,30428
github.com-1ecc6299db9ec823,pico-args-0.5.0,54991
github.com-1ecc6299db9ec823,migformatting-0.1.1,1680
github.com-1ecc6299db9ec823,lexical-core-0.6.7,2382284
github.com-1ecc6299db9ec823,katex-wasmbind-0.10.0,274096
github.com-1ecc6299db9ec823,blender-armature-0.0.1,51371
github.com-1ecc6299db9ec823,twoway-0.2.1,129719
github.com-1ecc6299db9ec823,sha3-0.10.0,540582
github.com-1ecc6299db9ec823,ringbuf-0.2.8,92733
github.com-1ecc6299db9ec823,pest_meta-2.1.3,175833
github.com-1ecc6299db9ec823,selectme-macros-0.7.1,79130
github.com-1ecc6299db9ec823,secp256k1-sys-0.7.0,5303296
github.com-1ecc6299db9ec823,panic-probe-0.3.0,18841
github.com-1ecc6299db9ec823,ron-0.6.6,208755
github.com-1ecc6299db9ec823,defmt-macros-0.3.3,78405
github.com-1ecc6299db9ec823,winapi-x86_64-pc-windows-gnu-0.4.0,53158182
github.com-1ecc6299db9ec823,aph-0.2.0,30088
github.com-1ecc6299db9ec823,winnow-0.4.6,959730
github.com-1ecc6299db9ec823,syntex_syntax-0.54.0,1272567
github.com-1ecc6299db9ec823,prost-derive-0.11.9,99428
github.com-1ecc6299db9ec823,commoncrypto-sys-0.2.0,16095
github.com-1ecc6299db9ec823,yew-router-macro-0.15.0,42667
github.com-1ecc6299db9ec823,http-range-header-0.3.0,29647
github.com-1ecc6299db9ec823,crossbeam-queue-0.2.3,60131
github.com-1ecc6299db9ec823,slice-deque-0.3.0,271889
github.com-1ecc6299db9ec823,libc-0.2.65,2334946
github.com-1ecc6299db9ec823,minidom-0.14.0,102507
github.com-1ecc6299db9ec823,tokio-native-tls-0.3.0,60313
github.com-1ecc6299db9ec823,glam-0.17.3,1191013
github.com-1ecc6299db9ec823,semver-1.0.6,114819
github.com-1ecc6299db9ec823,cortex-m-rtfm-macros-0.5.1,112048
github.com-1ecc6299db9ec823,bitvec-1.0.0,1006982
github.com-1ecc6299db9ec823,gfx-backend-metal-0.6.5,660301
github.com-1ecc6299db9ec823,object-0.30.1,1467041
github.com-1ecc6299db9ec823,proc-macro-error-attr-0.4.11,18220
github.com-1ecc6299db9ec823,proteus-0.5.0,179567
github.com-1ecc6299db9ec823,crunchy-0.1.6,6678
github.com-1ecc6299db9ec823,once_cell-1.7.2,121632
github.com-1ecc6299db9ec823,rel-0.2.0,14524
github.com-1ecc6299db9ec823,lexical-core-0.7.5,2355166
github.com-1ecc6299db9ec823,windows_x86_64_gnu-0.42.1,10581222
github.com-1ecc6299db9ec823,thread_local-1.1.5,49409
github.com-1ecc6299db9ec823,openssl-sys-0.9.63,285709
github.com-1ecc6299db9ec823,simplelog-0.11.2,85170
github.com-1ecc6299db9ec823,thiserror-impl-1.0.25,55249
github.com-1ecc6299db9ec823,quanta-0.10.0,82241
github.com-1ecc6299db9ec823,vsmtp-common-1.4.0-rc.10,122740
github.com-1ecc6299db9ec823,tonic-0.1.0-alpha.6,302938
github.com-1ecc6299db9ec823,ecdsa-0.16.1,121203
github.com-1ecc6299db9ec823,deltae-0.3.0,2871017
github.com-1ecc6299db9ec823,phf_shared-0.11.1,30454
github.com-1ecc6299db9ec823,trustfall-rustdoc-adapter-22.5.2,5348192
github.com-1ecc6299db9ec823,mockall_derive-0.11.0,227736
github.com-1ecc6299db9ec823,wasm-bindgen-0.2.64,584320
github.com-1ecc6299db9ec823,sg-std-0.12.0,27020
github.com-1ecc6299db9ec823,chalk-ir-0.87.0,288472
github.com-1ecc6299db9ec823,environment-0.1.1,9957
github.com-1ecc6299db9ec823,crash-handler-0.3.3,125183
github.com-1ecc6299db9ec823,bindgen-0.59.2,958852
github.com-1ecc6299db9ec823,serde_path_to_error-0.1.7,101591
github.com-1ecc6299db9ec823,tinyvec-0.3.3,77508
github.com-1ecc6299db9ec823,precomputed-hash-0.1.1,2853
github.com-1ecc6299db9ec823,rustc-rayon-core-0.4.1,264995
github.com-1ecc6299db9ec823,gix-sec-0.6.2,57428
github.com-1ecc6299db9ec823,pistoncore-input-0.19.0,83490
github.com-1ecc6299db9ec823,gloo-utils-0.1.5,15602
github.com-1ecc6299db9ec823,redox_intelflash-0.1.3,28056
github.com-1ecc6299db9ec823,block2-0.2.0-alpha.6,39192
github.com-1ecc6299db9ec823,fastly-shared-0.9.1,19292
github.com-1ecc6299db9ec823,ibc-chain-registry-0.1.0,48243
github.com-1ecc6299db9ec823,socket2-0.4.4,205035
github.com-1ecc6299db9ec823,futures-channel-0.3.19,132274
github.com-1ecc6299db9ec823,structopt-0.3.16,217443
github.com-1ecc6299db9ec823,rusty-fork-0.2.2,64570
github.com-1ecc6299db9ec823,parking_lot_core-0.9.7,139601
github.com-1ecc6299db9ec823,async-lock-2.6.0,99844
github.com-1ecc6299db9ec823,bindgen-0.56.0,923373
github.com-1ecc6299db9ec823,quad-rand-0.2.1,9108
github.com-1ecc6299db9ec823,wasmflow-codec-0.10.0,12343
github.com-1ecc6299db9ec823,gix-0.38.0,883190
github.com-1ecc6299db9ec823,futures-macro-0.3.27,38519
github.com-1ecc6299db9ec823,portable-atomic-0.3.13,549649
github.com-1ecc6299db9ec823,portable-atomic-1.3.2,799707
github.com-1ecc6299db9ec823,bevy-crevice-derive-0.6.0,16165
github.com-1ecc6299db9ec823,gltf-json-0.15.2,118263
github.com-1ecc6299db9ec823,struple-impl-0.1.0,4096
github.com-1ecc6299db9ec823,annotate-snippets-0.9.1,153174
github.com-1ecc6299db9ec823,futures-core-0.3.28,46207
github.com-1ecc6299db9ec823,wezterm-bidi-0.2.2,361283
github.com-1ecc6299db9ec823,mildew-0.1.2,3002
github.com-1ecc6299db9ec823,bytecount-0.6.3,46567
github.com-1ecc6299db9ec823,numext-fixed-hash-core-0.1.6,7403
github.com-1ecc6299db9ec823,bytesize-1.1.0,34012
github.com-1ecc6299db9ec823,oxsdatatypes-0.1.0,174662
github.com-1ecc6299db9ec823,hostname-0.1.5,4811
github.com-1ecc6299db9ec823,io-lifetimes-1.0.4,207652
github.com-1ecc6299db9ec823,derive_builder_core-0.11.2,135502
github.com-1ecc6299db9ec823,ttf-parser-0.15.2,711615
github.com-1ecc6299db9ec823,tracing-opentelemetry-0.17.4,187675
github.com-1ecc6299db9ec823,ab_glyph_rasterizer-0.1.7,34278
github.com-1ecc6299db9ec823,bevy_diagnostic-0.6.0,14396
github.com-1ecc6299db9ec823,toml_datetime-0.5.0,34801
github.com-1ecc6299db9ec823,wasm-parser-0.1.7,39726
github.com-1ecc6299db9ec823,ppv-null-0.1.2,26098
github.com-1ecc6299db9ec823,ci_info-0.10.2,1197933
github.com-1ecc6299db9ec823,jobserver-0.1.21,72720
github.com-1ecc6299db9ec823,sentencepiece-sys-0.10.0,10055292
github.com-1ecc6299db9ec823,zstd-sys-2.0.1+zstd.1.5.2,3387955
github.com-1ecc6299db9ec823,byte-strings-proc_macros-0.2.2,7886
github.com-1ecc6299db9ec823,snapbox-0.4.11,193312
github.com-1ecc6299db9ec823,ron-0.6.4,198516
github.com-1ecc6299db9ec823,gix-object-0.28.0,102536
github.com-1ecc6299db9ec823,strum_macros-0.23.1,87403
github.com-1ecc6299db9ec823,defmt-0.3.2,93568
github.com-1ecc6299db9ec823,openssl-0.10.35,971227
github.com-1ecc6299db9ec823,gtk-sys-0.14.0,1376726
github.com-1ecc6299db9ec823,gpu-alloc-0.4.7,99476
github.com-1ecc6299db9ec823,colored-2.0.0,91075
github.com-1ecc6299db9ec823,fixedbitset-0.4.2,67872
github.com-1ecc6299db9ec823,argparse-0.2.2,95032
github.com-1ecc6299db9ec823,bevy_mod_raycast-0.6.2,456756
github.com-1ecc6299db9ec823,byte-strings-0.2.2,35209
github.com-1ecc6299db9ec823,mem_tools-0.1.0,937956
github.com-1ecc6299db9ec823,deno_core-0.167.0,11067700
github.com-1ecc6299db9ec823,rocksdb-0.19.0,628015
github.com-1ecc6299db9ec823,num-traits-0.2.12,231414
github.com-1ecc6299db9ec823,type-info-derive-0.2.0,56221
github.com-1ecc6299db9ec823,structopt-derive-0.3.4,68017
github.com-1ecc6299db9ec823,extendr-macros-0.3.1,49695
github.com-1ecc6299db9ec823,secret-cosmwasm-std-1.0.0,632711
github.com-1ecc6299db9ec823,skim-0.7.0,380243
github.com-1ecc6299db9ec823,serde-1.0.135,501463
github.com-1ecc6299db9ec823,lock_api-0.1.5,109183
github.com-1ecc6299db9ec823,cw-multi-test-0.16.2,445599
github.com-1ecc6299db9ec823,quote-1.0.10,120640
github.com-1ecc6299db9ec823,safemem-0.3.2,17382
github.com-1ecc6299db9ec823,gloo-dialogs-0.1.1,4653
github.com-1ecc6299db9ec823,dashmap-4.0.2,105438
github.com-1ecc6299db9ec823,oorandom-11.1.0,31893
github.com-1ecc6299db9ec823,polars-core-0.21.1,1678691
github.com-1ecc6299db9ec823,claxon-0.4.2,259276
github.com-1ecc6299db9ec823,cc-1.0.35,179169
github.com-1ecc6299db9ec823,cocoa-0.19.1,296083
github.com-1ecc6299db9ec823,tokio-1.9.0,2490393
github.com-1ecc6299db9ec823,gix-refspec-0.10.1,105495
github.com-1ecc6299db9ec823,futures-task-0.3.12,39561
github.com-1ecc6299db9ec823,sqlx-core-0.4.2,1064795
github.com-1ecc6299db9ec823,futures-task-0.3.14,39566
github.com-1ecc6299db9ec823,datastore_grpc-0.4.0,18233399
github.com-1ecc6299db9ec823,directories-4.0.1,74013
github.com-1ecc6299db9ec823,wgpu-hal-0.15.1,1201034
github.com-1ecc6299db9ec823,discard-1.0.4,14342
github.com-1ecc6299db9ec823,tinytga-0.1.0,102322
github.com-1ecc6299db9ec823,prost-types-0.10.1,126121
github.com-1ecc6299db9ec823,assert2-0.3.6,36145
github.com-1ecc6299db9ec823,syn-inline-mod-0.5.0,35740
github.com-1ecc6299db9ec823,bat-0.22.1,5407476
github.com-1ecc6299db9ec823,minidumper-child-0.1.0,32329
github.com-1ecc6299db9ec823,libp2p-kad-0.21.0,416675
github.com-1ecc6299db9ec823,asn1_der-0.6.3,1102166
github.com-1ecc6299db9ec823,h2-0.2.4,764682
github.com-1ecc6299db9ec823,ena-0.14.2,90713
github.com-1ecc6299db9ec823,prost-build-0.8.0,31248726
github.com-1ecc6299db9ec823,wasmer-compiler-cranelift-3.1.1,300456
github.com-1ecc6299db9ec823,gfx-hal-0.7.0,238750
github.com-1ecc6299db9ec823,nom-4.2.3,644514
github.com-1ecc6299db9ec823,os_str_bytes-2.4.0,52159
github.com-1ecc6299db9ec823,sourcemap-6.2.1,135303
github.com-1ecc6299db9ec823,actix-router-0.5.1,150753
github.com-1ecc6299db9ec823,markup5ever-0.9.0,229731
github.com-1ecc6299db9ec823,gloo-worker-0.2.1,31624
github.com-1ecc6299db9ec823,object-0.25.3,1313095
github.com-1ecc6299db9ec823,rustversion-1.0.0,41602


================================================
FILE: benches/benchsuite/src/bin/capture-last-use.rs
================================================
//! Utility for capturing a global cache last-use database based on the files
//! on a real-world system.
//!
//! This will look in the `CARGO_HOME` of the current system and record last-use
//! data for all files in the cache. This is intended to provide a real-world
//! example for a benchmark that should be close to what a real set of data
//! should look like.
//!
//! See `benches/global_cache_tracker.rs` for the benchmark that uses this
//! data.
//!
//! The database is kept in git. It usually shouldn't need to be re-generated
//! unless there is a change in the schema or the benchmark.

use cargo::GlobalContext;
use cargo::core::global_cache_tracker::{self, DeferredGlobalLastUse, GlobalCacheTracker};
use cargo::util::cache_lock::CacheLockMode;
use rand::prelude::*;
use std::collections::HashMap;
use std::fs;
use std::fs::File;
use std::io::Write;
use std::path::Path;

fn main() {
    // Set up config.
    let shell = cargo::core::Shell::new();
    let homedir = Path::new(env!("CARGO_MANIFEST_DIR")).join("global-cache-tracker");
    let cwd = homedir.clone();
    let mut gctx = GlobalContext::new(shell, cwd, homedir.clone());
    gctx.configure(
        0,
        false,
        None,
        false,
        false,
        false,
        &None,
        &["gc".to_string()],
        &[],
    )
    .unwrap();
    let db_path = GlobalCacheTracker::db_path(&gctx).into_path_unlocked();
    if db_path.exists() {
        fs::remove_file(&db_path).unwrap();
    }

    let _lock = gctx
        .acquire_package_cache_lock(CacheLockMode::DownloadExclusive)
        .unwrap();
    let mut deferred = DeferredGlobalLastUse::new();
    let mut tracker = GlobalCacheTracker::new(&gctx).unwrap();

    let real_home = cargo::util::homedir(&std::env::current_dir().unwrap()).unwrap();

    let cache_dir = real_home.join("registry/cache");
    for dir_ent in fs::read_dir(cache_dir).unwrap() {
        let registry = dir_ent.unwrap();
        let encoded_registry_name = registry.file_name().to_string_lossy().into();
        for krate in fs::read_dir(registry.path()).unwrap() {
            let krate = krate.unwrap();
            let meta = krate.metadata().unwrap();
            deferred.mark_registry_crate_used_stamp(
                global_cache_tracker::RegistryCrate {
                    encoded_registry_name,
                    crate_filename: krate.file_name().to_string_lossy().as_ref().into(),
                    size: meta.len(),
                },
                Some(&meta.modified().unwrap()),
            );
        }
    }

    let mut src_entries = Vec::new();

    let cache_dir = real_home.join("registry/src");
    for dir_ent in fs::read_dir(cache_dir).unwrap() {
        let registry = dir_ent.unwrap();
        let encoded_registry_name = registry.file_name().to_string_lossy().into();
        for krate in fs::read_dir(registry.path()).unwrap() {
            let krate = krate.unwrap();
            let meta = krate.metadata().unwrap();
            let src = global_cache_tracker::RegistrySrc {
                encoded_registry_name,
                package_dir: krate.file_name().to_string_lossy().as_ref().into(),
                size: Some(cargo_util::du(&krate.path(), &[]).unwrap()),
            };
            src_entries.push(src.clone());
            let timestamp = meta.modified().unwrap();
            deferred.mark_registry_src_used_stamp(src, Some(&timestamp));
        }
    }

    let git_co_dir = real_home.join("git/checkouts");
    for dir_ent in fs::read_dir(git_co_dir).unwrap() {
        let git_source = dir_ent.unwrap();
        let encoded_git_name = git_source.file_name().to_string_lossy().into();
        for co in fs::read_dir(git_source.path()).unwrap() {
            let co = co.unwrap();
            let meta = co.metadata().unwrap();
            deferred.mark_git_checkout_used_stamp(
                global_cache_tracker::GitCheckout {
                    encoded_git_name,
                    short_name: co.file_name().to_string_lossy().as_ref().into(),
                    size: Some(cargo_util::du(&co.path(), &[]).unwrap()),
                },
                Some(&meta.modified().unwrap()),
            );
        }
    }

    deferred.save(&mut tracker).unwrap();
    drop(deferred);
    drop(tracker);
    fs::rename(&db_path, homedir.join("global-cache-sample")).unwrap();
    // Clean up the lock file created above.
    fs::remove_file(homedir.join(".package-cache")).unwrap();

    // Save a random sample of crates that the benchmark should update.
    // Pick whichever registry has the most entries. This is to be somewhat
    // realistic for the common case that all dependencies come from one
    // registry (crates.io).
    let mut counts = HashMap::new();
    for src in &src_entries {
        let c: &mut u32 = counts.entry(src.encoded_registry_name).or_default();
        *c += 1;
    }
    let mut counts: Vec<_> = counts.into_iter().map(|(k, v)| (v, k)).collect();
    counts.sort();
    let biggest = counts.last().unwrap().1;

    src_entries.retain(|src| src.encoded_registry_name == biggest);
    let mut rng = &mut rand::rng();
    let sample: Vec<_> = src_entries.sample(&mut rng, 500).collect();
    let mut f = File::create(homedir.join("random-sample")).unwrap();
    for src in sample {
        writeln!(
            f,
            "{},{},{}",
            src.encoded_registry_name,
            src.package_dir,
            src.size.unwrap()
        )
        .unwrap();
    }
}


================================================
FILE: benches/benchsuite/src/lib.rs
================================================
//! > This crate is maintained by the Cargo team, primarily for use by Cargo
//! > and not intended for external use. This
//! > crate may make major changes to its APIs or be deprecated without warning.

#![allow(clippy::disallowed_methods)]

use cargo::GlobalContext;
use std::fs;
use std::path::{Path, PathBuf};
use std::process::Command;
use url::Url;

#[macro_export]
macro_rules! fixtures {
    () => {
        $crate::Fixtures::new(env!("CARGO_TARGET_TMPDIR"))
    };
}

// This is an arbitrary commit that existed when I started. This helps
// ensure consistent results. It can be updated if needed, but that can
// make it harder to compare results with older versions of cargo.
const CRATES_IO_COMMIT: &str = "85f7bfd61ea4fee08ec68c468762e886b2aebec6";

pub struct Fixtures {
    cargo_target_tmpdir: PathBuf,
}

impl Fixtures {
    pub fn new(cargo_target_tmpdir: &str) -> Self {
        let bench = Self {
            cargo_target_tmpdir: PathBuf::from(cargo_target_tmpdir),
        };
        bench.create_home();
        bench.create_target_dir();
        bench.clone_index();
        bench.unpack_workspaces();
        bench
    }

    fn root(&self) -> PathBuf {
        self.cargo_target_tmpdir.join("bench")
    }

    fn target_dir(&self) -> PathBuf {
        let mut p = self.root();
        p.push("target");
        p
    }

    fn cargo_home(&self) -> PathBuf {
        let mut p = self.root();
        p.push("chome");
        p
    }

    fn index(&self) -> PathBuf {
        let mut p = self.root();
        p.push("index");
        p
    }

    fn workspaces_path(&self) -> PathBuf {
        let mut p = self.root();
        p.push("workspaces");
        p
    }

    fn registry_url(&self) -> Url {
        Url::from_file_path(self.index()).unwrap()
    }

    fn create_home(&self) {
        let home = self.cargo_home();
        if !home.exists() {
            fs::create_dir_all(&home).unwrap();
        }
        fs::write(
            home.join("config.toml"),
            format!(
                r#"
                [source.crates-io]
                replace-with = 'local-snapshot'

                [source.local-snapshot]
                registry = '{}'
            "#,
                self.registry_url()
            ),
        )
        .unwrap();
    }

    fn create_target_dir(&self) {
        // This is necessary to ensure the .rustc_info.json file is written.
        // Otherwise it won't be written, and it is very expensive to create.
        if !self.target_dir().exists() {
            fs::create_dir_all(self.target_dir()).unwrap();
        }
    }

    /// This clones crates.io at a specific point in time into tmp/index.
    fn clone_index(&self) {
        let index = self.index();
        let maybe_git = |command: &str| {
            let status = Command::new("git")
                .current_dir(&index)
                .args(command.split_whitespace().collect::<Vec<_>>())
                .status()
                .expect("git should be installed");
            status.success()
        };
        let git = |command: &str| {
            if !maybe_git(command) {
                panic!("failed to run git command: {}", command);
            }
        };
        if index.exists() {
            if maybe_git(&format!(
                "rev-parse -q --verify {}^{{commit}}",
                CRATES_IO_COMMIT
            )) {
                // Already fetched.
                return;
            }
        } else {
            fs::create_dir_all(&index).unwrap();
            // git 2.48.0 changed the behavior of setting HEAD when doing a
            // fetch, so let's just force it to match
            // crates.io-index-archive's default branch. This also accounts
            // for users who may override init.defaultBranch.
            git("init --bare --initial-branch=main");
            git("remote add origin https://github.com/rust-lang/crates.io-index-archive");
        }
        git(&format!("fetch origin {}", CRATES_IO_COMMIT));
        git("branch -f main FETCH_HEAD");
    }

    /// This unpacks the compressed workspace skeletons into tmp/workspaces.
    fn unpack_workspaces(&self) {
        let ws_dir = Path::new(env!("CARGO_MANIFEST_DIR"))
            .parent()
            .unwrap()
            .join("workspaces");
        let archives = fs::read_dir(ws_dir)
            .unwrap()
            .map(|e| e.unwrap().path())
            .filter(|p| p.extension() == Some(std::ffi::OsStr::new("tgz")));
        for archive in archives {
            let name = archive.file_stem().unwrap();
            let f = fs::File::open(&archive).unwrap();
            let f = flate2::read::GzDecoder::new(f);
            let dest = self.workspaces_path().join(&name);
            if dest.exists() {
                fs::remove_dir_all(&dest).unwrap();
            }
            let mut archive = tar::Archive::new(f);
            archive.unpack(self.workspaces_path()).unwrap();
        }
    }

    /// Vec of `(ws_name, ws_root)`.
    pub fn workspaces(&self) -> Vec<(String, PathBuf)> {
        // CARGO_BENCH_WORKSPACES can be used to override, otherwise it just uses
        // the workspaces in the workspaces directory.
        let mut ps: Vec<_> = match std::env::var_os("CARGO_BENCH_WORKSPACES") {
            Some(s) => std::env::split_paths(&s).collect(),
            None => fs::read_dir(self.workspaces_path())
                .unwrap()
                .map(|e| e.unwrap().path())
                // These currently fail in most cases on Windows due to long
                // filenames in the git checkouts.
                .filter(|p| {
                    !(cfg!(windows)
                        && matches!(p.file_name().unwrap().to_str().unwrap(), "servo" | "tikv"))
                })
                .collect(),
        };
        // Sort so it is consistent.
        ps.sort();
        ps.into_iter()
            .map(|p| (p.file_name().unwrap().to_str().unwrap().to_owned(), p))
            .collect()
    }

    /// Creates a new Context.
    pub fn make_context(&self, ws_root: &Path) -> GlobalContext {
        let shell = cargo::core::Shell::new();
        let mut gctx = GlobalContext::new(shell, ws_root.to_path_buf(), self.cargo_home());
        // Configure is needed to set the target_dir which is needed to write
        // the .rustc_info.json file which is very expensive.
        gctx.configure(
            0,
            false,
            None,
            false,
            false,
            false,
            &Some(self.target_dir()),
            &[],
            &[],
        )
        .unwrap();
        gctx
    }
}


================================================
FILE: benches/capture/Cargo.toml
================================================
[package]
name = "capture"
version = "0.1.0"
edition.workspace = true
license.workspace = true
description = "Tool for capturing a real-world workspace for benchmarking."
publish = false

[dependencies]
cargo_metadata.workspace = true
flate2.workspace = true
tar.workspace = true
toml = { workspace = true, features = ["display", "parse", "serde"] }

[lints]
workspace = true


================================================
FILE: benches/capture/src/main.rs
================================================
//! This tool helps to capture the `Cargo.toml` files of a workspace.
//!
//! Run it by passing a list of workspaces to capture.
//! Use the `-f` flag to allow it to overwrite existing captures.
//! The workspace will be saved in a `.tgz` file in the `../workspaces` directory.

#![allow(clippy::disallowed_methods)]
#![allow(clippy::print_stderr)]

use flate2::{Compression, GzBuilder};
use std::fs;
use std::path::{Path, PathBuf};
use std::process::Command;

fn main() {
    let force = std::env::args().any(|arg| arg == "-f");
    let dest = Path::new(env!("CARGO_MANIFEST_DIR"))
        .parent()
        .unwrap()
        .join("workspaces");
    if !dest.exists() {
        panic!("expected {} to exist", dest.display());
    }
    for arg in std::env::args().skip(1).filter(|arg| !arg.starts_with("-")) {
        let source_root = fs::canonicalize(arg).unwrap();
        capture(&source_root, &dest, force);
    }
}

fn capture(source_root: &Path, dest: &Path, force: bool) {
    let name = Path::new(source_root.file_name().unwrap());
    let mut dest_gz = PathBuf::from(dest);
    dest_gz.push(name);
    dest_gz.set_extension("tgz");
    if dest_gz.exists() {
        if !force {
            panic!(
                "dest {:?} already exists, use -f to force overwriting",
                dest_gz
            );
        }
        fs::remove_file(&dest_gz).unwrap();
    }
    let vcs_info = capture_vcs_info(source_root, force);
    let dst = fs::File::create(&dest_gz).unwrap();
    let encoder = GzBuilder::new()
        .filename(format!("{}.tar", name.to_str().unwrap()))
        .write(dst, Compression::best());
    let mut ar = tar::Builder::new(encoder);
    ar.mode(tar::HeaderMode::Deterministic);
    if let Some(info) = &vcs_info {
        add_ar_file(&mut ar, &name.join(".cargo_vcs_info.json"), info);
    }

    // Gather all local packages.
    let metadata = cargo_metadata::MetadataCommand::new()
        .manifest_path(source_root.join("Cargo.toml"))
        .features(cargo_metadata::CargoOpt::AllFeatures)
        .exec()
        .expect("cargo_metadata failed");
    let mut found_root = false;
    for package in &metadata.packages {
        if package.source.is_some() {
            continue;
        }
        let manifest_path = package.manifest_path.as_std_path();
        copy_manifest(&manifest_path, &mut ar, name, &source_root);
        found_root |= manifest_path == source_root.join("Cargo.toml");
    }
    if !found_root {
        // A virtual workspace.
        let contents = fs::read_to_string(source_root.join("Cargo.toml")).unwrap();
        assert!(!contents.contains("[package]"));
        add_ar_file(&mut ar, &name.join("Cargo.toml"), &contents);
    }
    let lock = fs::read_to_string(source_root.join("Cargo.lock")).unwrap();
    add_ar_file(&mut ar, &name.join("Cargo.lock"), &lock);
    let encoder = ar.into_inner().unwrap();
    encoder.finish().unwrap();
    eprintln!("created {}", dest_gz.display());
}

fn copy_manifest<W: std::io::Write>(
    manifest_path: &Path,
    ar: &mut tar::Builder<W>,
    name: &Path,
    source_root: &Path,
) {
    let relative_path = manifest_path
        .parent()
        .unwrap()
        .strip_prefix(source_root)
        .expect("workspace member should be under workspace root");
    let relative_path = name.join(relative_path);
    let contents = fs::read_to_string(&manifest_path).unwrap();
    let mut manifest: toml::Value = toml::from_str(&contents).unwrap();
    let remove = |obj: &mut toml::Value, name| {
        let table = obj.as_table_mut().unwrap();
        if table.contains_key(name) {
            table.remove(name);
        }
    };
    remove(&mut manifest, "lib");
    remove(&mut manifest, "bin");
    remove(&mut manifest, "example");
    remove(&mut manifest, "test");
    remove(&mut manifest, "bench");
    remove(&mut manifest, "profile");
    if let Some(package) = manifest.get_mut("package") {
        remove(package, "default-run");
    }
    let contents = toml::to_string(&manifest).unwrap();
    add_ar_file(ar, &relative_path.join("Cargo.toml"), &contents);
    add_ar_file(ar, &relative_path.join("src").join("lib.rs"), "");
}

fn add_ar_file<W: std::io::Write>(ar: &mut tar::Builder<W>, path: &Path, contents: &str) {
    let mut header = tar::Header::new_gnu();
    header.set_entry_type(tar::EntryType::file());
    header.set_mode(0o644);
    header.set_size(contents.len() as u64);
    header.set_mtime(123456789);
    header.set_cksum();
    ar.append_data(&mut header, path, contents.as_bytes())
        .unwrap();
}

fn capture_vcs_info(ws_root: &Path, force: bool) -> Option<String> {
    let maybe_git = |command: &str| {
        Command::new("git")
            .current_dir(ws_root)
            .args(command.split_whitespace().collect::<Vec<_>>())
            .output()
            .expect("git should be installed")
    };
    assert!(ws_root.join("Cargo.toml").exists());
    let relative = maybe_git("ls-files --full-name Cargo.toml");
    if !relative.status.success() {
        if !force {
            panic!("git repository not detected, use -f to force");
        }
        return None;
    }
    let p = Path::new(std::str::from_utf8(&relative.stdout).unwrap().trim());
    let relative = p.parent().unwrap();
    if !force {
        let has_changes = !maybe_git("diff-index --quiet HEAD .").status.success();
        if has_changes {
            panic!("git repo appears to have changes, use -f to force, or clean the repo");
        }
    }
    let commit = maybe_git("rev-parse HEAD");
    assert!(commit.status.success());
    let commit = std::str::from_utf8(&commit.stdout).unwrap().trim();
    let remote = maybe_git("remote get-url origin");
    assert!(remote.status.success());
    let remote = std::str::from_utf8(&remote.stdout).unwrap().trim();
    let info = format!(
        "{{\n  \"git\": {{\n    \"sha1\": \"{}\",\n     \"remote\": \"{}\"\n  }},\
         \n  \"path_in_vcs\": \"{}\"\n}}\n",
        commit,
        remote,
        relative.display()
    );
    eprintln!("recording vcs info:\n{}", info);
    Some(info)
}


================================================
FILE: build.rs
================================================
use flate2::{Compression, GzBuilder};
use std::ffi::OsStr;
use std::fs;
use std::path::Path;
use std::process::Command;

fn main() {
    commit_info();
    compress_man();
    windows_manifest();
    #[expect(
        clippy::disallowed_methods,
        reason = "not `cargo`, not needing to load from config"
    )]
    let target = std::env::var("TARGET").unwrap();
    println!("cargo:rustc-env=RUST_HOST_TARGET={target}");
}

fn compress_man() {
    #[expect(
        clippy::disallowed_methods,
        reason = "not `cargo`, not needing to load from config"
    )]
    let out_path = Path::new(&std::env::var("OUT_DIR").unwrap()).join("man.tgz");
    let dst = fs::File::create(out_path).unwrap();
    let encoder = GzBuilder::new()
        .filename("man.tar")
        .write(dst, Compression::best());
    let mut ar = tar::Builder::new(encoder);
    ar.mode(tar::HeaderMode::Deterministic);

    let mut add_files = |dir, extension| {
        let mut files = fs::read_dir(dir)
            .unwrap()
            .map(|e| e.unwrap().path())
            .collect::<Vec<_>>();
        files.sort();
        for path in files {
            if path.extension() != Some(extension) {
                continue;
            }
            println!("cargo:rerun-if-changed={}", path.display());
            ar.append_path_with_name(&path, path.file_name().unwrap())
                .unwrap();
        }
    };

    add_files(Path::new("src/etc/man"), OsStr::new("1"));
    add_files(Path::new("src/doc/man/generated_txt"), OsStr::new("txt"));
    let encoder = ar.into_inner().unwrap();
    encoder.finish().unwrap();
}

struct CommitInfo {
    hash: String,
    short_hash: String,
    date: String,
}

fn commit_info_from_git() -> Option<CommitInfo> {
    if !Path::new(".git").exists() {
        return None;
    }

    let output = match Command::new("git")
        .arg("log")
        .arg("-1")
        .arg("--date=short")
        .arg("--format=%H %h %cd")
        .arg("--abbrev=9")
        .output()
    {
        Ok(output) if output.status.success() => output,
        _ => return None,
    };

    let stdout = String::from_utf8(output.stdout).unwrap();
    let mut parts = stdout.split_whitespace().map(|s| s.to_string());

    Some(CommitInfo {
        hash: parts.next()?,
        short_hash: parts.next()?,
        date: parts.next()?,
    })
}

// The rustc source tarball is meant to contain all the source code to build an exact copy of the
// toolchain, but it doesn't include the git repository itself. It wouldn't thus be possible to
// populate the version information with the commit hash and the commit date.
//
// To work around this, the rustc build process obtains the git information when creating the
// source tarball and writes it to the `git-commit-info` file. The build process actually creates
// at least *two* of those files, one for Rust as a whole (in the root of the tarball) and one
// specifically for Cargo (in src/tools/cargo). This function loads that file.
//
// The file is a newline-separated list of full commit hash, short commit hash, and commit date.
fn commit_info_from_rustc_source_tarball() -> Option<CommitInfo> {
    let path = Path::new("git-commit-info");
    if !path.exists() {
        return None;
    }

    // Dependency tracking is a nice to have for this (git doesn't do it), so if the path is not
    // valid UTF-8 just avoid doing it rather than erroring out.
    if let Some(utf8) = path.to_str() {
        println!("cargo:rerun-if-changed={utf8}");
    }

    let content = std::fs::read_to_string(&path).ok()?;
    let mut parts = content.split('\n').map(|s| s.to_string());
    Some(CommitInfo {
        hash: parts.next()?,
        short_hash: parts.next()?,
        date: parts.next()?,
    })
}

fn commit_info() {
    // Var set by bootstrap whenever omit-git-hash is enabled in rust-lang/rust's config.toml.
    println!("cargo:rerun-if-env-changed=CFG_OMIT_GIT_HASH");
    #[expect(
        clippy::disallowed_methods,
        reason = "not `cargo`, not needing to load from config"
    )]
    if std::env::var_os("CFG_OMIT_GIT_HASH").is_some() {
        retu
Download .txt
gitextract_myxolkbh/

├── .cargo/
│   └── config.toml
├── .git-blame-ignore-revs
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   ├── feature_request.yml
│   │   ├── new_lint.yml
│   │   └── tracking_issue.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── renovate.json5
│   └── workflows/
│       ├── audit.yml
│       ├── contrib.yml
│       ├── main.yml
│       └── release.yml
├── .gitignore
├── .ignore
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Cargo.toml
├── LICENSE-APACHE
├── LICENSE-MIT
├── LICENSE-THIRD-PARTY
├── README.md
├── benches/
│   ├── README.md
│   ├── benchsuite/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── benches/
│   │   │   ├── global_cache_tracker.rs
│   │   │   ├── resolve.rs
│   │   │   └── workspace_initialization.rs
│   │   ├── global-cache-tracker/
│   │   │   ├── global-cache-sample
│   │   │   └── random-sample
│   │   └── src/
│   │       ├── bin/
│   │       │   └── capture-last-use.rs
│   │       └── lib.rs
│   ├── capture/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   └── workspaces/
│       ├── cargo.tgz
│       ├── diem.tgz
│       ├── empty.tgz
│       ├── gecko-dev.tgz
│       ├── rust-ws-inherit.tgz
│       ├── rust.tgz
│       ├── servo.tgz
│       ├── substrate.tgz
│       ├── tikv.tgz
│       └── toml-rs.tgz
├── build.rs
├── ci/
│   ├── clean-test-output.sh
│   ├── dump-environment.sh
│   ├── fetch-smoke-test.sh
│   ├── generate.py
│   ├── validate-man.sh
│   └── validate-version-bump.sh
├── clippy.toml
├── crates/
│   ├── build-rs/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── ident.rs
│   │       ├── input.rs
│   │       ├── lib.rs
│   │       └── output.rs
│   ├── build-rs-test-lib/
│   │   ├── Cargo.toml
│   │   ├── build.rs
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-platform/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   └── matches.rs
│   │   ├── src/
│   │   │   ├── cfg.rs
│   │   │   ├── error.rs
│   │   │   └── lib.rs
│   │   └── tests/
│   │       └── test_cfg.rs
│   ├── cargo-test-macro/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-test-support/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── build.rs
│   │   ├── containers/
│   │   │   ├── apache/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── bar/
│   │   │   │   │   ├── Cargo.toml
│   │   │   │   │   └── src/
│   │   │   │   │       └── lib.rs
│   │   │   │   └── httpd-cargo.conf
│   │   │   └── sshd/
│   │   │       ├── Dockerfile
│   │   │       └── bar/
│   │   │           ├── Cargo.toml
│   │   │           └── src/
│   │   │               └── lib.rs
│   │   └── src/
│   │       ├── compare.rs
│   │       ├── containers.rs
│   │       ├── cross_compile.rs
│   │       ├── git.rs
│   │       ├── install.rs
│   │       ├── lib.rs
│   │       ├── paths.rs
│   │       ├── publish.rs
│   │       └── registry.rs
│   ├── cargo-util/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── du.rs
│   │       ├── lib.rs
│   │       ├── paths.rs
│   │       ├── process_builder.rs
│   │       ├── process_error.rs
│   │       ├── read2.rs
│   │       ├── registry.rs
│   │       └── sha256.rs
│   ├── cargo-util-schemas/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── index.schema.json
│   │   ├── lockfile.schema.json
│   │   ├── manifest.schema.json
│   │   └── src/
│   │       ├── core/
│   │       │   ├── mod.rs
│   │       │   ├── package_id_spec.rs
│   │       │   ├── partial_version.rs
│   │       │   └── source_kind.rs
│   │       ├── index.rs
│   │       ├── lib.rs
│   │       ├── lockfile.rs
│   │       ├── manifest/
│   │       │   ├── mod.rs
│   │       │   └── rust_version.rs
│   │       ├── messages.rs
│   │       ├── restricted_names.rs
│   │       └── schema.rs
│   ├── crates-io/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── lib.rs
│   ├── home/
│   │   ├── CHANGELOG.md
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── env.rs
│   │       ├── lib.rs
│   │       └── windows.rs
│   ├── mdman/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── doc/
│   │   │   ├── mdman.md
│   │   │   └── out/
│   │   │       ├── mdman.1
│   │   │       ├── mdman.md
│   │   │       └── mdman.txt
│   │   ├── src/
│   │   │   ├── format/
│   │   │   │   ├── man.rs
│   │   │   │   ├── md.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── text.rs
│   │   │   ├── hbs.rs
│   │   │   ├── lib.rs
│   │   │   ├── main.rs
│   │   │   └── util.rs
│   │   └── tests/
│   │       ├── compare/
│   │       │   ├── expected/
│   │       │   │   ├── formatting.1
│   │       │   │   ├── formatting.md
│   │       │   │   ├── formatting.txt
│   │       │   │   ├── links.1
│   │       │   │   ├── links.md
│   │       │   │   ├── links.txt
│   │       │   │   ├── options.1
│   │       │   │   ├── options.md
│   │       │   │   ├── options.txt
│   │       │   │   ├── tables.1
│   │       │   │   ├── tables.md
│   │       │   │   ├── tables.txt
│   │       │   │   ├── vars.7
│   │       │   │   ├── vars.md
│   │       │   │   └── vars.txt
│   │       │   ├── formatting.md
│   │       │   ├── includes/
│   │       │   │   ├── links-include.md
│   │       │   │   └── options-common.md
│   │       │   ├── links.md
│   │       │   ├── options.md
│   │       │   ├── tables.md
│   │       │   └── vars.md
│   │       ├── compare.rs
│   │       ├── invalid/
│   │       │   ├── nested.md
│   │       │   └── not-inside-options.md
│   │       └── invalid.rs
│   ├── resolver-tests/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── src/
│   │   │   ├── helpers.rs
│   │   │   ├── lib.rs
│   │   │   └── sat.rs
│   │   └── tests/
│   │       ├── proptests.rs
│   │       ├── pubgrub.rs
│   │       ├── resolve.rs
│   │       └── validated.rs
│   ├── rustfix/
│   │   ├── CHANGELOG.md
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   └── fix-json.rs
│   │   ├── proptest-regressions/
│   │   │   └── replace.txt
│   │   ├── src/
│   │   │   ├── diagnostics.rs
│   │   │   ├── error.rs
│   │   │   ├── lib.rs
│   │   │   └── replace.rs
│   │   └── tests/
│   │       ├── edge-cases/
│   │       │   ├── empty.json
│   │       │   ├── empty.rs
│   │       │   ├── indented_whitespace.json
│   │       │   ├── no_main.json
│   │       │   ├── no_main.rs
│   │       │   ├── out_of_bounds.recorded.json
│   │       │   └── utf8_idents.recorded.json
│   │       ├── edge_cases.rs
│   │       ├── everything/
│   │       │   ├── .gitignore
│   │       │   ├── E0178.fixed.rs
│   │       │   ├── E0178.json
│   │       │   ├── E0178.rs
│   │       │   ├── closure-immutable-outer-variable.fixed.rs
│   │       │   ├── closure-immutable-outer-variable.json
│   │       │   ├── closure-immutable-outer-variable.rs
│   │       │   ├── dedup-suggestions.fixed.rs
│   │       │   ├── dedup-suggestions.json
│   │       │   ├── dedup-suggestions.rs
│   │       │   ├── handle-insert-only.fixed.rs
│   │       │   ├── handle-insert-only.json
│   │       │   ├── handle-insert-only.rs
│   │       │   ├── lt-generic-comp.fixed.rs
│   │       │   ├── lt-generic-comp.json
│   │       │   ├── lt-generic-comp.rs
│   │       │   ├── multiple-solutions.fixed.rs
│   │       │   ├── multiple-solutions.json
│   │       │   ├── multiple-solutions.rs
│   │       │   ├── replace-only-one-char.fixed.rs
│   │       │   ├── replace-only-one-char.json
│   │       │   ├── replace-only-one-char.rs
│   │       │   ├── str-lit-type-mismatch.fixed.rs
│   │       │   ├── str-lit-type-mismatch.json
│   │       │   ├── str-lit-type-mismatch.rs
│   │       │   ├── use-insert.fixed.rs
│   │       │   ├── use-insert.json
│   │       │   └── use-insert.rs
│   │       └── parse_and_replace.rs
│   ├── semver-check/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-build-man/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-bump-check/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       ├── main.rs
│   │       └── xtask.rs
│   ├── xtask-lint-docs/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── xtask-spellcheck/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   └── xtask-stale-label/
│       ├── Cargo.toml
│       └── src/
│           └── main.rs
├── credential/
│   ├── README.md
│   ├── cargo-credential/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── file-provider.rs
│   │   │   └── stdout-redirected.rs
│   │   ├── src/
│   │   │   ├── error.rs
│   │   │   ├── lib.rs
│   │   │   ├── secret.rs
│   │   │   └── stdio.rs
│   │   └── tests/
│   │       └── examples.rs
│   ├── cargo-credential-1password/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── main.rs
│   ├── cargo-credential-libsecret/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   ├── cargo-credential-macos-keychain/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       └── lib.rs
│   └── cargo-credential-wincred/
│       ├── Cargo.toml
│       ├── README.md
│       └── src/
│           └── lib.rs
├── deny.toml
├── publish.py
├── rustfmt.toml
├── src/
│   ├── bin/
│   │   └── cargo/
│   │       ├── cli.rs
│   │       ├── commands/
│   │       │   ├── add.rs
│   │       │   ├── bench.rs
│   │       │   ├── build.rs
│   │       │   ├── check.rs
│   │       │   ├── clean.rs
│   │       │   ├── config.rs
│   │       │   ├── doc.rs
│   │       │   ├── fetch.rs
│   │       │   ├── fix.rs
│   │       │   ├── generate_lockfile.rs
│   │       │   ├── git_checkout.rs
│   │       │   ├── help.rs
│   │       │   ├── info.rs
│   │       │   ├── init.rs
│   │       │   ├── install.rs
│   │       │   ├── locate_project.rs
│   │       │   ├── login.rs
│   │       │   ├── logout.rs
│   │       │   ├── metadata.rs
│   │       │   ├── mod.rs
│   │       │   ├── new.rs
│   │       │   ├── owner.rs
│   │       │   ├── package.rs
│   │       │   ├── pkgid.rs
│   │       │   ├── publish.rs
│   │       │   ├── read_manifest.rs
│   │       │   ├── remove.rs
│   │       │   ├── report.rs
│   │       │   ├── run.rs
│   │       │   ├── rustc.rs
│   │       │   ├── rustdoc.rs
│   │       │   ├── search.rs
│   │       │   ├── test.rs
│   │       │   ├── tree.rs
│   │       │   ├── uninstall.rs
│   │       │   ├── update.rs
│   │       │   ├── vendor.rs
│   │       │   ├── verify_project.rs
│   │       │   ├── version.rs
│   │       │   └── yank.rs
│   │       └── main.rs
│   ├── cargo/
│   │   ├── core/
│   │   │   ├── compiler/
│   │   │   │   ├── artifact.rs
│   │   │   │   ├── build_config.rs
│   │   │   │   ├── build_context/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── target_info.rs
│   │   │   │   ├── build_runner/
│   │   │   │   │   ├── compilation_files.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── compilation.rs
│   │   │   │   ├── compile_kind.rs
│   │   │   │   ├── crate_type.rs
│   │   │   │   ├── custom_build.rs
│   │   │   │   ├── fingerprint/
│   │   │   │   │   ├── dep_info.rs
│   │   │   │   │   ├── dirty_reason.rs
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── rustdoc.rs
│   │   │   │   ├── future_incompat.rs
│   │   │   │   ├── job_queue/
│   │   │   │   │   ├── job.rs
│   │   │   │   │   ├── job_state.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── layout.rs
│   │   │   │   ├── links.rs
│   │   │   │   ├── locking.rs
│   │   │   │   ├── lto.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── output_depinfo.rs
│   │   │   │   ├── output_sbom.rs
│   │   │   │   ├── rustdoc.rs
│   │   │   │   ├── standard_lib.rs
│   │   │   │   ├── timings/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   ├── report.rs
│   │   │   │   │   └── timings.js
│   │   │   │   ├── unit.rs
│   │   │   │   ├── unit_dependencies.rs
│   │   │   │   └── unit_graph.rs
│   │   │   ├── dependency.rs
│   │   │   ├── features.rs
│   │   │   ├── gc.rs
│   │   │   ├── global_cache_tracker.rs
│   │   │   ├── manifest.rs
│   │   │   ├── mod.rs
│   │   │   ├── package.rs
│   │   │   ├── package_id.rs
│   │   │   ├── package_id_spec.rs
│   │   │   ├── profiles.rs
│   │   │   ├── registry.rs
│   │   │   ├── resolver/
│   │   │   │   ├── conflict_cache.rs
│   │   │   │   ├── context.rs
│   │   │   │   ├── dep_cache.rs
│   │   │   │   ├── encode.rs
│   │   │   │   ├── errors.rs
│   │   │   │   ├── features.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── resolve.rs
│   │   │   │   ├── types.rs
│   │   │   │   └── version_prefs.rs
│   │   │   ├── shell.rs
│   │   │   ├── source_id.rs
│   │   │   ├── summary.rs
│   │   │   └── workspace.rs
│   │   ├── lib.rs
│   │   ├── lints/
│   │   │   ├── mod.rs
│   │   │   └── rules/
│   │   │       ├── blanket_hint_mostly_unused.rs
│   │   │       ├── im_a_teapot.rs
│   │   │       ├── implicit_minimum_version_req.rs
│   │   │       ├── missing_lints_inheritance.rs
│   │   │       ├── mod.rs
│   │   │       ├── non_kebab_case_bins.rs
│   │   │       ├── non_kebab_case_features.rs
│   │   │       ├── non_kebab_case_packages.rs
│   │   │       ├── non_snake_case_features.rs
│   │   │       ├── non_snake_case_packages.rs
│   │   │       ├── redundant_homepage.rs
│   │   │       ├── redundant_readme.rs
│   │   │       ├── unknown_lints.rs
│   │   │       ├── unused_workspace_dependencies.rs
│   │   │       └── unused_workspace_package_fields.rs
│   │   ├── macros.rs
│   │   ├── ops/
│   │   │   ├── cargo_add/
│   │   │   │   ├── crate_spec.rs
│   │   │   │   └── mod.rs
│   │   │   ├── cargo_clean.rs
│   │   │   ├── cargo_compile/
│   │   │   │   ├── compile_filter.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── packages.rs
│   │   │   │   └── unit_generator.rs
│   │   │   ├── cargo_config.rs
│   │   │   ├── cargo_doc.rs
│   │   │   ├── cargo_fetch.rs
│   │   │   ├── cargo_install.rs
│   │   │   ├── cargo_new.rs
│   │   │   ├── cargo_output_metadata.rs
│   │   │   ├── cargo_package/
│   │   │   │   ├── mod.rs
│   │   │   │   ├── vcs.rs
│   │   │   │   └── verify.rs
│   │   │   ├── cargo_pkgid.rs
│   │   │   ├── cargo_read_manifest.rs
│   │   │   ├── cargo_remove.rs
│   │   │   ├── cargo_report/
│   │   │   │   ├── mod.rs
│   │   │   │   ├── rebuilds.rs
│   │   │   │   ├── sessions.rs
│   │   │   │   ├── timings.rs
│   │   │   │   └── util.rs
│   │   │   ├── cargo_run.rs
│   │   │   ├── cargo_test.rs
│   │   │   ├── cargo_uninstall.rs
│   │   │   ├── cargo_update.rs
│   │   │   ├── common_for_install_and_uninstall.rs
│   │   │   ├── fix/
│   │   │   │   ├── fix_edition.rs
│   │   │   │   └── mod.rs
│   │   │   ├── lockfile.rs
│   │   │   ├── mod.rs
│   │   │   ├── registry/
│   │   │   │   ├── info/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── view.rs
│   │   │   │   ├── login.rs
│   │   │   │   ├── logout.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── owner.rs
│   │   │   │   ├── publish.rs
│   │   │   │   ├── search.rs
│   │   │   │   └── yank.rs
│   │   │   ├── resolve.rs
│   │   │   ├── tree/
│   │   │   │   ├── format/
│   │   │   │   │   ├── mod.rs
│   │   │   │   │   └── parse.rs
│   │   │   │   ├── graph.rs
│   │   │   │   └── mod.rs
│   │   │   └── vendor.rs
│   │   ├── sources/
│   │   │   ├── config.rs
│   │   │   ├── directory.rs
│   │   │   ├── git/
│   │   │   │   ├── known_hosts.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── oxide.rs
│   │   │   │   ├── source.rs
│   │   │   │   └── utils.rs
│   │   │   ├── mod.rs
│   │   │   ├── overlay.rs
│   │   │   ├── path.rs
│   │   │   ├── registry/
│   │   │   │   ├── download.rs
│   │   │   │   ├── http_remote.rs
│   │   │   │   ├── index/
│   │   │   │   │   ├── cache.rs
│   │   │   │   │   └── mod.rs
│   │   │   │   ├── local.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── remote.rs
│   │   │   ├── replaced.rs
│   │   │   └── source.rs
│   │   ├── util/
│   │   │   ├── auth/
│   │   │   │   └── mod.rs
│   │   │   ├── cache_lock.rs
│   │   │   ├── canonical_url.rs
│   │   │   ├── command_prelude.rs
│   │   │   ├── context/
│   │   │   │   ├── config_value.rs
│   │   │   │   ├── de.rs
│   │   │   │   ├── environment.rs
│   │   │   │   ├── error.rs
│   │   │   │   ├── key.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── path.rs
│   │   │   │   ├── schema.rs
│   │   │   │   ├── target.rs
│   │   │   │   └── value.rs
│   │   │   ├── counter.rs
│   │   │   ├── cpu.rs
│   │   │   ├── credential/
│   │   │   │   ├── adaptor.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── paseto.rs
│   │   │   │   ├── process.rs
│   │   │   │   └── token.rs
│   │   │   ├── dependency_queue.rs
│   │   │   ├── diagnostic_server.rs
│   │   │   ├── edit_distance.rs
│   │   │   ├── errors.rs
│   │   │   ├── flock.rs
│   │   │   ├── frontmatter.rs
│   │   │   ├── graph.rs
│   │   │   ├── hasher.rs
│   │   │   ├── hex.rs
│   │   │   ├── important_paths.rs
│   │   │   ├── interning.rs
│   │   │   ├── into_url.rs
│   │   │   ├── into_url_with_base.rs
│   │   │   ├── io.rs
│   │   │   ├── job.rs
│   │   │   ├── lockserver.rs
│   │   │   ├── log_message.rs
│   │   │   ├── logger.rs
│   │   │   ├── machine_message.rs
│   │   │   ├── mod.rs
│   │   │   ├── network/
│   │   │   │   ├── http.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── proxy.rs
│   │   │   │   ├── retry.rs
│   │   │   │   └── sleep.rs
│   │   │   ├── once.rs
│   │   │   ├── open.rs
│   │   │   ├── progress.rs
│   │   │   ├── queue.rs
│   │   │   ├── restricted_names.rs
│   │   │   ├── rustc.rs
│   │   │   ├── semver_eval_ext.rs
│   │   │   ├── semver_ext.rs
│   │   │   ├── sqlite.rs
│   │   │   ├── style.rs
│   │   │   ├── toml/
│   │   │   │   ├── embedded.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── targets.rs
│   │   │   ├── toml_mut/
│   │   │   │   ├── dependency.rs
│   │   │   │   ├── manifest.rs
│   │   │   │   ├── mod.rs
│   │   │   │   └── upgrade.rs
│   │   │   ├── vcs.rs
│   │   │   └── workspace.rs
│   │   └── version.rs
│   ├── doc/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── book.toml
│   │   ├── contrib/
│   │   │   ├── README.md
│   │   │   ├── book.toml
│   │   │   └── src/
│   │   │       ├── SUMMARY.md
│   │   │       ├── design.md
│   │   │       ├── documentation/
│   │   │       │   └── index.md
│   │   │       ├── implementation/
│   │   │       │   ├── architecture.md
│   │   │       │   ├── console.md
│   │   │       │   ├── debugging.md
│   │   │       │   ├── filesystem.md
│   │   │       │   ├── formatting.md
│   │   │       │   ├── index.md
│   │   │       │   ├── packages.md
│   │   │       │   ├── schemas.md
│   │   │       │   └── subcommands.md
│   │   │       ├── index.md
│   │   │       ├── issues.md
│   │   │       ├── process/
│   │   │       │   ├── index.md
│   │   │       │   ├── release.md
│   │   │       │   ├── rfc.md
│   │   │       │   ├── security.md
│   │   │       │   ├── unstable.md
│   │   │       │   └── working-on-cargo.md
│   │   │       ├── team.md
│   │   │       └── tests/
│   │   │           ├── crater.md
│   │   │           ├── index.md
│   │   │           ├── profiling.md
│   │   │           ├── running.md
│   │   │           └── writing.md
│   │   ├── man/
│   │   │   ├── cargo-add.md
│   │   │   ├── cargo-bench.md
│   │   │   ├── cargo-build.md
│   │   │   ├── cargo-check.md
│   │   │   ├── cargo-clean.md
│   │   │   ├── cargo-doc.md
│   │   │   ├── cargo-fetch.md
│   │   │   ├── cargo-fix.md
│   │   │   ├── cargo-generate-lockfile.md
│   │   │   ├── cargo-help.md
│   │   │   ├── cargo-info.md
│   │   │   ├── cargo-init.md
│   │   │   ├── cargo-install.md
│   │   │   ├── cargo-locate-project.md
│   │   │   ├── cargo-login.md
│   │   │   ├── cargo-logout.md
│   │   │   ├── cargo-metadata.md
│   │   │   ├── cargo-new.md
│   │   │   ├── cargo-owner.md
│   │   │   ├── cargo-package.md
│   │   │   ├── cargo-pkgid.md
│   │   │   ├── cargo-publish.md
│   │   │   ├── cargo-remove.md
│   │   │   ├── cargo-report-future-incompatibilities.md
│   │   │   ├── cargo-report.md
│   │   │   ├── cargo-run.md
│   │   │   ├── cargo-rustc.md
│   │   │   ├── cargo-rustdoc.md
│   │   │   ├── cargo-search.md
│   │   │   ├── cargo-test.md
│   │   │   ├── cargo-tree.md
│   │   │   ├── cargo-uninstall.md
│   │   │   ├── cargo-update.md
│   │   │   ├── cargo-vendor.md
│   │   │   ├── cargo-version.md
│   │   │   ├── cargo-yank.md
│   │   │   ├── cargo.md
│   │   │   ├── generated_txt/
│   │   │   │   ├── cargo-add.txt
│   │   │   │   ├── cargo-bench.txt
│   │   │   │   ├── cargo-build.txt
│   │   │   │   ├── cargo-check.txt
│   │   │   │   ├── cargo-clean.txt
│   │   │   │   ├── cargo-doc.txt
│   │   │   │   ├── cargo-fetch.txt
│   │   │   │   ├── cargo-fix.txt
│   │   │   │   ├── cargo-generate-lockfile.txt
│   │   │   │   ├── cargo-help.txt
│   │   │   │   ├── cargo-info.txt
│   │   │   │   ├── cargo-init.txt
│   │   │   │   ├── cargo-install.txt
│   │   │   │   ├── cargo-locate-project.txt
│   │   │   │   ├── cargo-login.txt
│   │   │   │   ├── cargo-logout.txt
│   │   │   │   ├── cargo-metadata.txt
│   │   │   │   ├── cargo-new.txt
│   │   │   │   ├── cargo-owner.txt
│   │   │   │   ├── cargo-package.txt
│   │   │   │   ├── cargo-pkgid.txt
│   │   │   │   ├── cargo-publish.txt
│   │   │   │   ├── cargo-remove.txt
│   │   │   │   ├── cargo-report-future-incompatibilities.txt
│   │   │   │   ├── cargo-report.txt
│   │   │   │   ├── cargo-run.txt
│   │   │   │   ├── cargo-rustc.txt
│   │   │   │   ├── cargo-rustdoc.txt
│   │   │   │   ├── cargo-search.txt
│   │   │   │   ├── cargo-test.txt
│   │   │   │   ├── cargo-tree.txt
│   │   │   │   ├── cargo-uninstall.txt
│   │   │   │   ├── cargo-update.txt
│   │   │   │   ├── cargo-vendor.txt
│   │   │   │   ├── cargo-version.txt
│   │   │   │   ├── cargo-yank.txt
│   │   │   │   └── cargo.txt
│   │   │   └── includes/
│   │   │       ├── description-install-root.md
│   │   │       ├── description-one-target.md
│   │   │       ├── options-display.md
│   │   │       ├── options-future-incompat.md
│   │   │       ├── options-ignore-rust-version.md
│   │   │       ├── options-index.md
│   │   │       ├── options-jobs.md
│   │   │       ├── options-keep-going.md
│   │   │       ├── options-locked.md
│   │   │       ├── options-manifest-path.md
│   │   │       ├── options-message-format.md
│   │   │       ├── options-new.md
│   │   │       ├── options-output-format.md
│   │   │       ├── options-profile-legacy-check.md
│   │   │       ├── options-profile.md
│   │   │       ├── options-registry.md
│   │   │       ├── options-release.md
│   │   │       ├── options-target-dir.md
│   │   │       ├── options-target-triple.md
│   │   │       ├── options-targets-bin-auto-built.md
│   │   │       ├── options-targets-lib-bin.md
│   │   │       ├── options-targets.md
│   │   │       ├── options-test.md
│   │   │       ├── options-timings.md
│   │   │       ├── options-token.md
│   │   │       ├── section-environment.md
│   │   │       ├── section-exit-status.md
│   │   │       ├── section-features.md
│   │   │       ├── section-options-common.md
│   │   │       ├── section-options-package.md
│   │   │       └── section-package-selection.md
│   │   ├── src/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── SUMMARY.md
│   │   │   ├── appendix/
│   │   │   │   ├── git-authentication.md
│   │   │   │   └── glossary.md
│   │   │   ├── commands/
│   │   │   │   ├── build-commands.md
│   │   │   │   ├── cargo-add.md
│   │   │   │   ├── cargo-bench.md
│   │   │   │   ├── cargo-build.md
│   │   │   │   ├── cargo-check.md
│   │   │   │   ├── cargo-clean.md
│   │   │   │   ├── cargo-clippy.md
│   │   │   │   ├── cargo-doc.md
│   │   │   │   ├── cargo-fetch.md
│   │   │   │   ├── cargo-fix.md
│   │   │   │   ├── cargo-fmt.md
│   │   │   │   ├── cargo-generate-lockfile.md
│   │   │   │   ├── cargo-help.md
│   │   │   │   ├── cargo-info.md
│   │   │   │   ├── cargo-init.md
│   │   │   │   ├── cargo-install.md
│   │   │   │   ├── cargo-locate-project.md
│   │   │   │   ├── cargo-login.md
│   │   │   │   ├── cargo-logout.md
│   │   │   │   ├── cargo-metadata.md
│   │   │   │   ├── cargo-miri.md
│   │   │   │   ├── cargo-new.md
│   │   │   │   ├── cargo-owner.md
│   │   │   │   ├── cargo-package.md
│   │   │   │   ├── cargo-pkgid.md
│   │   │   │   ├── cargo-publish.md
│   │   │   │   ├── cargo-remove.md
│   │   │   │   ├── cargo-report-future-incompatibilities.md
│   │   │   │   ├── cargo-report.md
│   │   │   │   ├── cargo-run.md
│   │   │   │   ├── cargo-rustc.md
│   │   │   │   ├── cargo-rustdoc.md
│   │   │   │   ├── cargo-search.md
│   │   │   │   ├── cargo-test.md
│   │   │   │   ├── cargo-tree.md
│   │   │   │   ├── cargo-uninstall.md
│   │   │   │   ├── cargo-update.md
│   │   │   │   ├── cargo-vendor.md
│   │   │   │   ├── cargo-version.md
│   │   │   │   ├── cargo-yank.md
│   │   │   │   ├── cargo.md
│   │   │   │   ├── deprecated-and-removed.md
│   │   │   │   ├── general-commands.md
│   │   │   │   ├── index.md
│   │   │   │   ├── manifest-commands.md
│   │   │   │   ├── package-commands.md
│   │   │   │   ├── publishing-commands.md
│   │   │   │   └── report-commands.md
│   │   │   ├── faq.md
│   │   │   ├── getting-started/
│   │   │   │   ├── first-steps.md
│   │   │   │   ├── index.md
│   │   │   │   └── installation.md
│   │   │   ├── guide/
│   │   │   │   ├── build-performance.md
│   │   │   │   ├── cargo-home.md
│   │   │   │   ├── cargo-toml-vs-cargo-lock.md
│   │   │   │   ├── continuous-integration.md
│   │   │   │   ├── creating-a-new-project.md
│   │   │   │   ├── dependencies.md
│   │   │   │   ├── index.md
│   │   │   │   ├── project-layout.md
│   │   │   │   ├── tests.md
│   │   │   │   ├── why-cargo-exists.md
│   │   │   │   └── working-on-an-existing-project.md
│   │   │   ├── index.md
│   │   │   └── reference/
│   │   │       ├── build-cache.md
│   │   │       ├── build-script-examples.md
│   │   │       ├── build-scripts.md
│   │   │       ├── cargo-targets.md
│   │   │       ├── config.md
│   │   │       ├── credential-provider-protocol.md
│   │   │       ├── environment-variables.md
│   │   │       ├── external-tools.md
│   │   │       ├── features-examples.md
│   │   │       ├── features.md
│   │   │       ├── future-incompat-report.md
│   │   │       ├── index.md
│   │   │       ├── lints.md
│   │   │       ├── manifest.md
│   │   │       ├── overriding-dependencies.md
│   │   │       ├── pkgid-spec.md
│   │   │       ├── profiles.md
│   │   │       ├── publishing.md
│   │   │       ├── registries.md
│   │   │       ├── registry-authentication.md
│   │   │       ├── registry-index.md
│   │   │       ├── registry-web-api.md
│   │   │       ├── resolver.md
│   │   │       ├── running-a-registry.md
│   │   │       ├── rust-version.md
│   │   │       ├── semver.md
│   │   │       ├── source-replacement.md
│   │   │       ├── specifying-dependencies.md
│   │   │       ├── timings.md
│   │   │       ├── unstable.md
│   │   │       └── workspaces.md
│   │   └── theme/
│   │       ├── cargo.css
│   │       └── head.hbs
│   └── etc/
│       ├── _cargo
│       ├── cargo.bashcomp.sh
│       └── man/
│           ├── cargo-add.1
│           ├── cargo-bench.1
│           ├── cargo-build.1
│           ├── cargo-check.1
│           ├── cargo-clean.1
│           ├── cargo-doc.1
│           ├── cargo-fetch.1
│           ├── cargo-fix.1
│           ├── cargo-generate-lockfile.1
│           ├── cargo-help.1
│           ├── cargo-info.1
│           ├── cargo-init.1
│           ├── cargo-install.1
│           ├── cargo-locate-project.1
│           ├── cargo-login.1
│           ├── cargo-logout.1
│           ├── cargo-metadata.1
│           ├── cargo-new.1
│           ├── cargo-owner.1
│           ├── cargo-package.1
│           ├── cargo-pkgid.1
│           ├── cargo-publish.1
│           ├── cargo-remove.1
│           ├── cargo-report-future-incompatibilities.1
│           ├── cargo-report.1
│           ├── cargo-run.1
│           ├── cargo-rustc.1
│           ├── cargo-rustdoc.1
│           ├── cargo-search.1
│           ├── cargo-test.1
│           ├── cargo-tree.1
│           ├── cargo-uninstall.1
│           ├── cargo-update.1
│           ├── cargo-vendor.1
│           ├── cargo-version.1
│           ├── cargo-yank.1
│           └── cargo.1
├── tests/
│   ├── build-std/
│   │   └── main.rs
│   └── testsuite/
│       ├── advanced_env.rs
│       ├── alt_registry.rs
│       ├── artifact_dep.rs
│       ├── artifact_dir.rs
│       ├── bad_config.rs
│       ├── bad_manifest_path.rs
│       ├── bench.rs
│       ├── binary_name.rs
│       ├── build.rs
│       ├── build_analysis.rs
│       ├── build_dir.rs
│       ├── build_dir_legacy.rs
│       ├── build_script.rs
│       ├── build_script_env.rs
│       ├── build_script_extra_link_arg.rs
│       ├── build_scripts_multiple.rs
│       ├── cache_lock.rs
│       ├── cache_messages.rs
│       ├── cargo/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── z_help/
│       │       └── mod.rs
│       ├── cargo_add/
│       │   ├── add-basic.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── add_basic/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_no_vendored_package_with_alter_registry/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── src/
│       │   │   │   │   └── lib.rs
│       │   │   │   └── vendor/
│       │   │   │       └── aa/
│       │   │   │           ├── .cargo-checksum.json
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_no_vendored_package_with_vendor/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── src/
│       │   │   │   │   └── lib.rs
│       │   │   │   └── vendor/
│       │   │   │       └── aa/
│       │   │   │           ├── .cargo-checksum.json
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── add_toolchain/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build_prefer_existing_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── change_rename_target/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── cyclic_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── default_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── deprecated_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── deprecated_section/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── detect_workspace_inherit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── deps/
│       │   │   │   │   └── dependency/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── deps/
│       │   │       │   └── dependency/
│       │   │       │       └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── detect_workspace_inherit_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev_build_conflict/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev_existing_path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── dev_prefer_existing_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── dry_run/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── empty_dep_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── feature_suggestion_multiple/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── feature_suggestion_none/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── feature_suggestion_single/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── mod.rs
│       │   ├── features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_activated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_deactivated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_empty/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_error_activated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_error_deactivated_over_limit/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_multiple_occurrences/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_preserve/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_spaced_values/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_unknown/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── features_unknown_no_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_branch/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_conflicts_namever/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_inferred_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_inferred_name_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_multiple_names/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_multiple_packages_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_registry/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_rev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── git_tag/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── infer_prerelease/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_git_name/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_inherited_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_overwrite_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_key_rename_inherit_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── dependency-alt/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       ├── dependency-alt/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_manifest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_name_external/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_path/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_path_name/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── invalid_path_self/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target_empty/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_vers/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── list_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── list_features_path/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── list_features_path_no_default/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── locked_changed/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── locked_unchanged/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── lockfile_updated/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── manifest_path_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── merge_activated_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── missing_at_in_crate_spec/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── mod.rs
│       │   ├── multiple_conflicts_with_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── multiple_conflicts_with_rename/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── namever/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_args/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_default_features/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_optional/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── normalize_name_path_existing/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── fuzzy_name/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── primary/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── normalize_name_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_registry_existing/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_registry_yanked/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── normalize_name_workspace_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── primary/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── offline_empty_cache/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_default_features_with_no_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_git_with_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_features_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inherit_optional_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_inline_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_name_dev_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_name_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_no_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_default_features_with_default_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_optional_with_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_no_public_with_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional_with_no_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_optional_with_optional/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_path_base_with_version/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_path_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── dependency/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_path_with_version/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_preserves_inline_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_public_with_no_public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_no_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_rename_with_rename_noop/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_version_with_git/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_version_with_path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_with_rename/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── overwrite_workspace_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── overwrite_workspace_dep_features/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_inferred_name/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_missing_base_path/
│       │   │   ├── in/
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_base_unstable/
│       │   │   ├── in/
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_dev/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_inferred_name/
│       │   │   ├── in/
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── path_inferred_name_conflicts_full_feature/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   ├── optional/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── prefixed_v_in_version/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_dep_std_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_features_unsorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── preserve_unsorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── public/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── public_common_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── quiet/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── registry/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── rename/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── require_weak/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── rust_version_ignore/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_incompatible/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_latest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rust_version_older/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_ignore/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_incompatible/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_latest/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── rustc_older/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── script_bare/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_escape/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_frontmatter/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_frontmatter_empty/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── script_shebang/
│       │   │   ├── in/
│       │   │   │   └── cargo-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-test-fixture.rs
│       │   ├── sorted_table_with_dotted_item/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── symlink.rs
│       │   ├── target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_cfg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── unknown_inherited_feature/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── vers/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── workspace_name/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── workspace_path/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   ├── workspace_path_dev/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── dependency/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── primary/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dependency/
│       │   │       │   └── Cargo.toml
│       │   │       └── primary/
│       │   │           └── Cargo.toml
│       │   └── yanked/
│       │       ├── mod.rs
│       │       └── out/
│       │           └── Cargo.toml
│       ├── cargo_alias_config.rs
│       ├── cargo_bench/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── no_keep_going/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── mod.rs
│       ├── cargo_build/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_check/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_clean/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_command.rs
│       ├── cargo_config/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_doc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_env_config.rs
│       ├── cargo_features.rs
│       ├── cargo_fetch/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_fix/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_generate_lockfile/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_git_checkout/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_help/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   ├── nested_alias_dash_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_dash_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_cmd_with_extra_flags/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── nested_subcommand_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_alias/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd_space_joined/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   ├── single_cmd_suggestion/
│       │   │   ├── mod.rs
│       │   │   └── stdout.term.txt
│       │   └── single_cmd_with_extra_flags/
│       │       ├── mod.rs
│       │       └── stdout.term.txt
│       ├── cargo_info/
│       │   ├── basic/
│       │   │   └── mod.rs
│       │   ├── crate_name_normalization_from_hyphen_to_underscore/
│       │   │   └── mod.rs
│       │   ├── crate_name_normalization_from_underscore_to_hyphen/
│       │   │   └── mod.rs
│       │   ├── features/
│       │   │   └── mod.rs
│       │   ├── features_activated_over_limit/
│       │   │   └── mod.rs
│       │   ├── features_activated_over_limit_verbose/
│       │   │   └── mod.rs
│       │   ├── features_deactivated_over_limit/
│       │   │   └── mod.rs
│       │   ├── git_dependency/
│       │   │   └── mod.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   ├── not_found/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── path_dependency/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── pick_msrv_compatible_package/
│       │   │   └── mod.rs
│       │   ├── pick_msrv_compatible_package_within_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crate1/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── crate2/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crate1/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── crate2/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── pick_msrv_compatible_package_within_ws_and_use_msrv_from_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crate1/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── crate2/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crate1/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── crate2/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── specify_empty_version_with_url/
│       │   │   └── mod.rs
│       │   ├── specify_version_outside_ws/
│       │   │   └── mod.rs
│       │   ├── specify_version_with_url_but_registry_is_not_matched/
│       │   │   └── mod.rs
│       │   ├── specify_version_within_ws_and_conflict_with_lockfile/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── specify_version_within_ws_and_match_with_lockfile/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── transitive_dependency_within_ws/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   ├── direct1/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── direct2/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── transitive1/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   ├── transitive123/
│       │   │   │   │   │   ├── Cargo.toml
│       │   │   │   │   │   └── src/
│       │   │   │   │   │       └── lib.rs
│       │   │   │   │   └── transitive2/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   ├── direct1/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── direct2/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── transitive1/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   ├── transitive123/
│       │   │       │   │   ├── Cargo.toml
│       │   │       │   │   └── src/
│       │   │       │   │       └── lib.rs
│       │   │       │   └── transitive2/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── verbose/
│       │   │   └── mod.rs
│       │   ├── with_default_registry_configured/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .cargo/
│       │   │       │   └── config.toml
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_default_registry_configured_and_specified/
│       │   │   ├── in/
│       │   │   │   ├── .cargo/
│       │   │   │   │   └── config.toml
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── crates/
│       │   │   │   │   └── crate1/
│       │   │   │   │       ├── Cargo.toml
│       │   │   │   │       └── src/
│       │   │   │   │           └── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .cargo/
│       │   │       │   └── config.toml
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── crate1/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_frozen_outside_ws/
│       │   │   └── mod.rs
│       │   ├── with_frozen_within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_locked_outside_ws/
│       │   │   └── mod.rs
│       │   ├── with_locked_within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_locked_within_ws_and_pick_the_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── with_offline/
│       │   │   └── mod.rs
│       │   ├── with_quiet/
│       │   │   └── mod.rs
│       │   ├── within_workspace.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── within_ws/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_and_pick_ws_package/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_with_alternative_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── within_ws_without_lockfile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   └── without_requiring_registry_auth/
│       │       ├── in/
│       │       │   ├── .cargo/
│       │       │   │   └── config.toml
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── .cargo/
│       │           │   └── config.toml
│       │           ├── Cargo.toml
│       │           └── src/
│       │               └── lib.rs
│       ├── cargo_init/
│       │   ├── auto_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── bin_already_exists_explicit/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── bin_already_exists_explicit_nosrc/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── bin_already_exists_implicit/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── bin_already_exists_implicit_namenosrc/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── bin_already_exists_implicit_namesrc/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── case.rs
│       │   ├── bin_already_exists_implicit_nosrc/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── both_lib_and_bin/
│       │   │   └── mod.rs
│       │   ├── cant_create_library_when_both_binlib_present/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── lib.rs
│       │   │   └── mod.rs
│       │   ├── confused_by_multiple_lib_files/
│       │   │   ├── in/
│       │   │   │   ├── lib.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── lib.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── creates_binary_when_both_binlib_present/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── case.rs
│       │   │       └── lib.rs
│       │   ├── creates_binary_when_instructed_and_has_lib_file/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── creates_library_when_instructed_and_has_bin_file/
│       │   │   ├── in/
│       │   │   │   └── case.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── case.rs
│       │   ├── empty_dir/
│       │   │   └── mod.rs
│       │   ├── error_on_existing_package.rs
│       │   ├── explicit_bin_with_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── formats_source/
│       │   │   ├── in/
│       │   │   │   └── rustfmt.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── rustfmt.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── fossil_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .fossil/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .fossil-settings/
│       │   │       │   ├── clean-glob
│       │   │       │   └── ignore-glob
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── git_autodetect/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── git_ignore_exists_no_conflicting_entries/
│       │   │   ├── in/
│       │   │   │   └── .gitignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── ignores_failure_to_format_source/
│       │   │   ├── in/
│       │   │   │   └── rustfmt.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── rustfmt.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── in_home_directory/
│       │   │   └── mod.rs
│       │   ├── inferred_bin_with_git/
│       │   │   ├── in/
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── main.rs
│       │   ├── inferred_lib_with_git/
│       │   │   ├── in/
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── lib.rs
│       │   ├── inherit_workspace_package_table/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── README.md
│       │   │   │   ├── crates/
│       │   │   │   │   └── foo/
│       │   │   │   │       └── src/
│       │   │   │   │           └── main.rs
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── invalid_dir_name/
│       │   │   └── mod.rs
│       │   ├── lib_already_exists_nosrc/
│       │   │   ├── in/
│       │   │   │   └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── lib.rs
│       │   ├── lib_already_exists_src/
│       │   │   ├── in/
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mercurial_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .hg/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mod.rs
│       │   ├── multibin_project_name_clash/
│       │   │   ├── in/
│       │   │   │   ├── case.rs
│       │   │   │   └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── case.rs
│       │   │       └── main.rs
│       │   ├── no_filename/
│       │   │   └── mod.rs
│       │   ├── path_contains_separator/
│       │   │   ├── in/
│       │   │   │   └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── pijul_autodetect/
│       │   │   ├── in/
│       │   │   │   └── .pijul/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .ignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── reserved_name/
│       │   │   └── mod.rs
│       │   ├── reserved_name_core.rs
│       │   ├── simple_bin/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── simple_git/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_git_ignore_exists/
│       │   │   ├── in/
│       │   │   │   └── .gitignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .gitignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_hg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_hg_ignore_exists/
│       │   │   ├── in/
│       │   │   │   ├── .hg/
│       │   │   │   │   └── .keep
│       │   │   │   └── .hgignore
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── .hgignore
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── simple_lib/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── unknown_flags/
│       │   │   └── mod.rs
│       │   ├── with_argument/
│       │   │   ├── in/
│       │   │   │   └── foo/
│       │   │   │       └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── foo/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   └── workspace_add_member/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── crates/
│       │       │       └── foo/
│       │       │           └── .keep
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           └── crates/
│       │               └── foo/
│       │                   ├── Cargo.toml
│       │                   └── src/
│       │                       └── main.rs
│       ├── cargo_install/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_locate_project/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_login/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_logout/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_metadata/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_new/
│       │   ├── add_members_to_non_workspace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── bar/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── add_members_to_workspace_format_previous_items/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_format_sorted/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── crates/
│       │   │   │       ├── bar/
│       │   │   │       │   ├── Cargo.toml
│       │   │   │       │   └── src/
│       │   │   │       │       └── main.rs
│       │   │   │       └── qux/
│       │   │   │           ├── Cargo.toml
│       │   │   │           └── src/
│       │   │   │               └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_absolute_package_path/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_empty_members/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_exclude_list/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_with_members_glob/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── crates/
│       │   │           └── foo/
│       │   │               ├── Cargo.toml
│       │   │               └── src/
│       │   │                   └── main.rs
│       │   ├── add_members_to_workspace_without_members/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── bar/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── empty_name/
│       │   │   ├── in/
│       │   │   │   └── .keep
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── .keep
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── ignore_current_dir_workspace/
│       │   │   ├── in/
│       │   │   │   └── workspace/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── out-of-workspace/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── workspace/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── inherit_workspace_lints/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table.in/
│       │   │   ├── Cargo.toml
│       │   │   ├── README.md
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── inherit_workspace_package_table_with_edition/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table_with_registry/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── inherit_workspace_package_table_without_version/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── README.md
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── crates/
│       │   │       │   └── foo/
│       │   │       │       ├── Cargo.toml
│       │   │       │       └── src/
│       │   │       │           └── main.rs
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── mod.rs
│       │   └── not_inherit_workspace_package_table_if_not_members/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   ├── README.md
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           ├── bar/
│       │           │   ├── Cargo.toml
│       │           │   └── src/
│       │           │       └── main.rs
│       │           └── src/
│       │               └── lib.rs
│       ├── cargo_owner/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_package/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_pkgid/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_publish/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_read_manifest/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_remove/
│       │   ├── avoid_empty_tables/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── dry_run/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── gc_keep_used_patch/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   ├── serde/
│       │   │   │   │   ├── Cargo.toml
│       │   │   │   │   └── src/
│       │   │   │   │       └── lib.rs
│       │   │   │   └── serde_derive/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── serde/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── serde_derive/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── gc_patch/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── gc_profile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── gc_replace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-package/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-package/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── invalid_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_package/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── invalid_package_multiple/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── invalid_section/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_section_dep/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_section_missing_flags/
│       │   │   ├── in/
│       │   │   │   └── Cargo.toml
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── invalid_target_dep/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── last_dep/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── mod.rs
│       │   ├── multiple_deps/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── multiple_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── no_arg/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── offline/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_dep_feature/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_dep_feature_formatting/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── optional_feature/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── package/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       ├── dep-a/
│       │   │       │   ├── Cargo.toml
│       │   │       │   └── src/
│       │   │       │       └── lib.rs
│       │   │       └── dep-b/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── lib.rs
│       │   ├── remove-basic.in/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   ├── remove-package.in/
│       │   │   ├── Cargo.toml
│       │   │   ├── dep-a/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   └── dep-b/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── lib.rs
│       │   ├── remove-target.in/
│       │   │   └── Cargo.toml
│       │   ├── remove_basic/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── script/
│       │   │   ├── in/
│       │   │   │   └── cargo-remove-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-remove-test-fixture.rs
│       │   ├── script_last/
│       │   │   ├── in/
│       │   │   │   └── cargo-remove-test-fixture.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── cargo-remove-test-fixture.rs
│       │   ├── skip_gc_glob_profile/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── lib.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_build/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── target_dev/
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       └── Cargo.toml
│       │   ├── update_lock_file/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── src/
│       │   │   │       └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── src/
│       │   │           └── main.rs
│       │   ├── workspace/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-package/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-package/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   ├── workspace_non_virtual/
│       │   │   ├── in/
│       │   │   │   ├── Cargo.toml
│       │   │   │   └── my-member/
│       │   │   │       ├── Cargo.toml
│       │   │   │       └── src/
│       │   │   │           └── main.rs
│       │   │   ├── mod.rs
│       │   │   └── out/
│       │   │       ├── Cargo.toml
│       │   │       └── my-member/
│       │   │           ├── Cargo.toml
│       │   │           └── src/
│       │   │               └── main.rs
│       │   └── workspace_preserved/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   ├── my-other-package/
│       │       │   │   ├── Cargo.toml
│       │       │   │   └── src/
│       │       │   │       └── main.rs
│       │       │   └── my-package/
│       │       │       ├── Cargo.toml
│       │       │       └── src/
│       │       │           └── main.rs
│       │       ├── mod.rs
│       │       └── out/
│       │           ├── Cargo.toml
│       │           ├── my-other-package/
│       │           │   ├── Cargo.toml
│       │           │   └── src/
│       │           │       └── main.rs
│       │           └── my-package/
│       │               ├── Cargo.toml
│       │               └── src/
│       │                   └── main.rs
│       ├── cargo_report/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_future_incompat/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_rebuilds/
│       │   └── mod.rs
│       ├── cargo_report_sessions/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_report_timings/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_run/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_rustc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_rustdoc/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_search/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_targets.rs
│       ├── cargo_test/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── no_keep_going/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── mod.rs
│       ├── cargo_tree/
│       │   ├── deps.rs
│       │   ├── dupe/
│       │   │   └── mod.rs
│       │   ├── edge_kind/
│       │   │   └── mod.rs
│       │   ├── features.rs
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_uninstall/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_update/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   ├── mod.rs
│       │   └── toolchain_pkgname/
│       │       ├── in/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── main.rs
│       │       └── mod.rs
│       ├── cargo_vendor/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_verify_project/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_version/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cargo_yank/
│       │   ├── help/
│       │   │   └── mod.rs
│       │   └── mod.rs
│       ├── cfg.rs
│       ├── check.rs
│       ├── check_cfg.rs
│       ├── clean.rs
│       ├── clean_new_layout.rs
│       ├── collisions.rs
│       ├── compile_time_deps.rs
│       ├── concurrent.rs
│       ├── config.rs
│       ├── config_cli.rs
│       ├── config_include.rs
│       ├── corrupt_git.rs
│       ├── credential_process.rs
│       ├── cross_compile.rs
│       ├── cross_publish.rs
│       ├── custom_target.rs
│       ├── death.rs
│       ├── dep_info.rs
│       ├── diagnostics.rs
│       ├── direct_minimal_versions.rs
│       ├── directory.rs
│       ├── doc.rs
│       ├── docscrape.rs
│       ├── edition.rs
│       ├── error.rs
│       ├── feature_unification.rs
│       ├── features.rs
│       ├── features2.rs
│       ├── features_namespaced.rs
│       ├── fetch.rs
│       ├── fix.rs
│       ├── fix_n_times.rs
│       ├── freshness.rs
│       ├── freshness_checksum.rs
│       ├── future_incompat_report.rs
│       ├── generate_lockfile.rs
│       ├── git.rs
│       ├── git_auth.rs
│       ├── git_gc.rs
│       ├── git_shallow.rs
│       ├── glob_targets.rs
│       ├── global_cache_tracker.rs
│       ├── help.rs
│       ├── hints.rs
│       ├── https.rs
│       ├── inheritable_workspace_fields.rs
│       ├── install.rs
│       ├── install_upgrade.rs
│       ├── jobserver.rs
│       ├── lints/
│       │   ├── blanket_hint_mostly_unused.rs
│       │   ├── error/
│       │   │   └── mod.rs
│       │   ├── implicit_minimum_version_req.rs
│       │   ├── inherited/
│       │   │   └── mod.rs
│       │   ├── missing_lints_inheritance.rs
│       │   ├── mod.rs
│       │   ├── non_kebab_case_bins.rs
│       │   ├── non_kebab_case_features.rs
│       │   ├── non_kebab_case_packages.rs
│       │   ├── non_snake_case_features.rs
│       │   ├── non_snake_case_packages.rs
│       │   ├── redundant_homepage.rs
│       │   ├── redundant_readme.rs
│       │   ├── unknown_lints.rs
│       │   ├── unused_workspace_dependencies.rs
│       │   ├── unused_workspace_package_fields.rs
│       │   └── warning/
│       │       └── mod.rs
│       ├── lints_table.rs
│       ├── list_availables.rs
│       ├── local_registry.rs
│       ├── locate_project.rs
│       ├── lockfile_compat.rs
│       ├── lockfile_path.rs
│       ├── login.rs
│       ├── logout.rs
│       ├── lto.rs
│       ├── main.rs
│       ├── member_discovery.rs
│       ├── member_errors.rs
│       ├── message_format.rs
│       ├── messages.rs
│       ├── metabuild.rs
│       ├── metadata.rs
│       ├── minimal_versions.rs
│       ├── mock-std/
│       │   ├── dep_test/
│       │   │   ├── Cargo.toml
│       │   │   └── src/
│       │   │       └── lib.rs
│       │   └── library/
│       │       ├── Cargo.toml
│       │       ├── alloc/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── compiler_builtins/
│       │       │   ├── Cargo.toml
│       │       │   ├── build.rs
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── core/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── panic_unwind/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── proc_macro/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── rustc-std-workspace-alloc/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── rustc-std-workspace-core/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── rustc-std-workspace-std/
│       │       │   ├── Cargo.toml
│       │       │   └── lib.rs
│       │       ├── std/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       ├── sysroot/
│       │       │   ├── Cargo.toml
│       │       │   └── src/
│       │       │       └── lib.rs
│       │       └── test/
│       │           ├── Cargo.toml
│       │           └── src/
│       │               └── lib.rs
│       ├── multitarget.rs
│       ├── net_config.rs
│       ├── new.rs
│       ├── offline.rs
│       ├── old_cargos.rs
│       ├── open_namespaces.rs
│       ├── owner.rs
│       ├── package.rs
│       ├── package_features.rs
│       ├── package_message_format.rs
│       ├── patch.rs
│       ├── path.rs
│       ├── paths.rs
│       ├── pgo.rs
│       ├── pkgid.rs
│       ├── precise_pre_release.rs
│       ├── proc_macro.rs
│       ├── profile_config.rs
│       ├── profile_custom.rs
│       ├── profile_overrides.rs
│       ├── profile_panic_immediate_abort.rs
│       ├── profile_targets.rs
│       ├── profile_trim_paths.rs
│       ├── profiles.rs
│       ├── progress.rs
│       ├── pub_priv.rs
│       ├── publish.rs
│       ├── publish_lockfile.rs
│       ├── read_manifest.rs
│       ├── registry.rs
│       ├── registry_auth.rs
│       ├── registry_overlay.rs
│       ├── rename_deps.rs
│       ├── replace.rs
│       ├── required_features.rs
│       ├── run.rs
│       ├── rust_version.rs
│       ├── rustc.rs
│       ├── rustc_info_cache.rs
│       ├── rustdoc.rs
│       ├── rustdoc_extern_html.rs
│       ├── rustdocflags.rs
│       ├── rustflags.rs
│       ├── rustup.rs
│       ├── sbom.rs
│       ├── script/
│       │   ├── cargo.rs
│       │   ├── mod.rs
│       │   ├── rustc.rs
│       │   └── rustc_fixtures/
│       │       ├── README.md
│       │       ├── auxiliary/
│       │       │   ├── expr.rs
│       │       │   ├── lib.rs
│       │       │   └── makro.rs
│       │       ├── content-contains-whitespace.rs
│       │       ├── content-contains-whitespace.stderr
│       │       ├── content-non-lexible-tokens.rs
│       │       ├── content-non-lexible-tokens.stdout
│       │       ├── escape-hyphens-leading.rs
│       │       ├── escape-hyphens-leading.stdout
│       │       ├── escape-hyphens-nonleading-1.rs
│       │       ├── escape-hyphens-nonleading-1.stdout
│       │       ├── escape-hyphens-nonleading-2.rs
│       │       ├── escape-hyphens-nonleading-2.stdout
│       │       ├── escape-hyphens-nonleading-3.rs
│       │       ├── escape-hyphens-nonleading-3.stdout
│       │       ├── fence-close-extra-after.rs
│       │       ├── fence-close-extra-after.stderr
│       │       ├── fence-indented-mismatch.rs
│       │       ├── fence-indented-mismatch.stderr
│       │       ├── fence-indented.rs
│       │       ├── fence-indented.stdout
│       │       ├── fence-mismatch-1.rs
│       │       ├── fence-mismatch-1.stderr
│       │       ├── fence-mismatch-2.rs
│       │       ├── fence-mismatch-2.stderr
│       │       ├── fence-too-many-dashes.rs
│       │       ├── fence-too-many-dashes.stderr
│       │       ├── fence-unclosed-1.rs
│       │       ├── fence-unclosed-1.stderr
│       │       ├── fence-unclosed-2.rs
│       │       ├── fence-unclosed-2.stderr
│       │       ├── fence-unclosed-3.rs
│       │       ├── fence-unclosed-3.stderr
│       │       ├── fence-unclosed-4.rs
│       │       ├── fence-unclosed-4.stderr
│       │       ├── fence-unclosed-5.rs
│       │       ├── fence-unclosed-5.stderr
│       │       ├── fence-unclosed-6.rs
│       │       ├── fence-unclosed-6.stderr
│       │       ├── fence-whitespace-trailing-1.rs
│       │       ├── fence-whitespace-trailing-1.stdout
│       │       ├── fence-whitespace-trailing-2.rs
│       │       ├── fence-whitespace-trailing-2.stdout
│       │       ├── frontmatter-crlf.rs
│       │       ├── frontmatter-crlf.stdout
│       │       ├── infostring-comma.rs
│       │       ├── infostring-comma.stderr
│       │       ├── infostring-dot-leading.rs
│       │       ├── infostring-dot-leading.stderr
│       │       ├── infostring-dot-nonleading.rs
│       │       ├── infostring-dot-nonleading.stderr
│       │       ├── infostring-hyphen-leading.rs
│       │       ├── infostring-hyphen-leading.stderr
│       │       ├── infostring-hyphen-nonleading.rs
│       │       ├── infostring-hyphen-nonleading.stderr
│       │       ├── infostring-space.rs
│       │       ├── infostring-space.stderr
│       │       ├── location-after-shebang.rs
│       │       ├── location-after-shebang.stdout
│       │       ├── location-after-tokens.rs
│       │       ├── location-after-tokens.stdout
│       │       ├── location-include-in-expr-ctxt.rs
│       │       ├── location-include-in-expr-ctxt.stdout
│       │       ├── location-include-in-item-ctxt.rs
│       │       ├── location-include-in-item-ctxt.stdout
│       │       ├── location-proc-macro-observer.rs
│       │       ├── location-proc-macro-observer.stdout
│       │       ├── multifrontmatter.rs
│       │       └── multifrontmatter.stderr
│       ├── search.rs
│       ├── shell_quoting.rs
│       ├── source_replacement.rs
│       ├── ssh.rs
│       ├── standard_lib.rs
│       ├── test.rs
│       ├── timings.rs
│       ├── tool_paths.rs
│       ├── unit_graph.rs
│       ├── update.rs
│       ├── utils/
│       │   ├── cross_compile.rs
│       │   ├── ext.rs
│       │   ├── mod.rs
│       │   └── tools.rs
│       ├── vendor.rs
│       ├── verify_project.rs
│       ├── version.rs
│       ├── warn_on_failure.rs
│       ├── warning_override.rs
│       ├── weak_dep_features.rs
│       ├── workspaces.rs
│       └── yank.rs
├── triagebot.toml
├── typos.toml
└── windows.manifest.xml
Download .txt
Showing preview only (907K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (10606 symbols across 1000 files)

FILE: benches/benchsuite/benches/global_cache_tracker.rs
  constant GLOBAL_CACHE_SAMPLE (line 12) | const GLOBAL_CACHE_SAMPLE: &str = "global-cache-tracker/global-cache-sam...
  constant GLOBAL_CACHE_RANDOM (line 13) | const GLOBAL_CACHE_RANDOM: &str = "global-cache-tracker/random-sample";
  function root (line 16) | fn root() -> PathBuf {
  function cargo_home (line 22) | fn cargo_home() -> PathBuf {
  function initialize_context (line 28) | fn initialize_context() -> GlobalContext {
  function global_tracker_init (line 63) | fn global_tracker_init(c: &mut Criterion) {
  function global_tracker_empty_save (line 77) | fn global_tracker_empty_save(c: &mut Criterion) {
  function load_random_sample (line 92) | fn load_random_sample() -> Vec<(InternedString, InternedString, u64)> {
  function global_tracker_update (line 113) | fn global_tracker_update(c: &mut Criterion) {

FILE: benches/benchsuite/benches/resolve.rs
  type ResolveInfo (line 11) | struct ResolveInfo<'gctx> {
  function do_resolve (line 25) | fn do_resolve<'gctx>(gctx: &'gctx GlobalContext, ws_root: &Path) -> Reso...
  function resolve_ws (line 63) | fn resolve_ws(c: &mut Criterion) {
  function feature_resolver (line 107) | fn feature_resolver(c: &mut Criterion) {

FILE: benches/benchsuite/benches/workspace_initialization.rs
  function workspace_initialization (line 5) | fn workspace_initialization(c: &mut Criterion) {

FILE: benches/benchsuite/src/bin/capture-last-use.rs
  function main (line 25) | fn main() {

FILE: benches/benchsuite/src/lib.rs
  constant CRATES_IO_COMMIT (line 23) | const CRATES_IO_COMMIT: &str = "85f7bfd61ea4fee08ec68c468762e886b2aebec6";
  type Fixtures (line 25) | pub struct Fixtures {
    method new (line 30) | pub fn new(cargo_target_tmpdir: &str) -> Self {
    method root (line 41) | fn root(&self) -> PathBuf {
    method target_dir (line 45) | fn target_dir(&self) -> PathBuf {
    method cargo_home (line 51) | fn cargo_home(&self) -> PathBuf {
    method index (line 57) | fn index(&self) -> PathBuf {
    method workspaces_path (line 63) | fn workspaces_path(&self) -> PathBuf {
    method registry_url (line 69) | fn registry_url(&self) -> Url {
    method create_home (line 73) | fn create_home(&self) {
    method create_target_dir (line 94) | fn create_target_dir(&self) {
    method clone_index (line 103) | fn clone_index(&self) {
    method unpack_workspaces (line 140) | fn unpack_workspaces(&self) {
    method workspaces (line 163) | pub fn workspaces(&self) -> Vec<(String, PathBuf)> {
    method make_context (line 187) | pub fn make_context(&self, ws_root: &Path) -> GlobalContext {

FILE: benches/capture/src/main.rs
  function main (line 15) | fn main() {
  function capture (line 30) | fn capture(source_root: &Path, dest: &Path, force: bool) {
  function copy_manifest (line 83) | fn copy_manifest<W: std::io::Write>(
  function add_ar_file (line 117) | fn add_ar_file<W: std::io::Write>(ar: &mut tar::Builder<W>, path: &Path,...
  function capture_vcs_info (line 128) | fn capture_vcs_info(ws_root: &Path, force: bool) -> Option<String> {

FILE: build.rs
  function main (line 7) | fn main() {
  function compress_man (line 19) | fn compress_man() {
  type CommitInfo (line 54) | struct CommitInfo {
  function commit_info_from_git (line 60) | fn commit_info_from_git() -> Option<CommitInfo> {
  function commit_info_from_rustc_source_tarball (line 97) | fn commit_info_from_rustc_source_tarball() -> Option<CommitInfo> {
  function commit_info (line 118) | fn commit_info() {
  function windows_manifest (line 142) | fn windows_manifest() {

FILE: ci/generate.py
  function main (line 34) | def main():

FILE: crates/build-rs-test-lib/build.rs
  function main (line 1) | fn main() {
  function smoke_test_inputs (line 9) | fn smoke_test_inputs() {

FILE: crates/build-rs-test-lib/src/lib.rs
  function test (line 2) | fn test() {

FILE: crates/build-rs/src/ident.rs
  function is_feature_name (line 3) | pub(crate) fn is_feature_name(s: &str) -> bool {
  function is_ident (line 8) | pub(crate) fn is_ident(s: &str) -> bool {
  function is_ascii_ident (line 15) | pub(crate) fn is_ascii_ident(s: &str) -> bool {
  function is_crate_name (line 22) | pub(crate) fn is_crate_name(s: &str) -> bool {

FILE: crates/build-rs/src/input.rs
  constant ENV (line 15) | const ENV: RerunIfEnvChanged<ProcessEnv> = RerunIfEnvChanged::new();
  type Env (line 18) | trait Env {
    method get (line 26) | fn get(&self, key: &str) -> Option<std::ffi::OsString>;
    method is_present (line 32) | fn is_present(&self, key: &str) -> bool;
    method get (line 39) | fn get(&self, key: &str) -> Option<std::ffi::OsString> {
    method is_present (line 43) | fn is_present(&self, key: &str) -> bool {
    method get (line 59) | fn get(&self, key: &str) -> Option<std::ffi::OsString> {
    method is_present (line 65) | fn is_present(&self, key: &str) -> bool {
  type ProcessEnv (line 36) | struct ProcessEnv;
  type RerunIfEnvChanged (line 49) | struct RerunIfEnvChanged<E: Env>(E);
  function new (line 52) | const fn new() -> Self {
  function cargo (line 72) | pub fn cargo() -> PathBuf {
  function cargo_manifest_dir (line 82) | pub fn cargo_manifest_dir() -> PathBuf {
  function cargo_manifest_path (line 88) | pub fn cargo_manifest_path() -> PathBuf {
  function cargo_manifest_links (line 100) | pub fn cargo_manifest_links() -> Option<String> {
  function cargo_makeflags (line 115) | pub fn cargo_makeflags() -> Option<String> {
  function cargo_feature (line 121) | pub fn cargo_feature(name: &str) -> bool {
  function cargo_cfg (line 139) | pub fn cargo_cfg(cfg: &str) -> Option<Vec<String>> {
  function cargo_cfg_var (line 145) | fn cargo_cfg_var(cfg: &str) -> String {
  function cargo_cfg_feature (line 164) | pub fn cargo_cfg_feature() -> Vec<String> {
  function cargo_cfg_clippy (line 170) | pub fn cargo_cfg_clippy() -> bool {
  function cargo_cfg_debug_assertions (line 176) | pub fn cargo_cfg_debug_assertions() -> bool {
  function cargo_cfg_doc (line 182) | pub fn cargo_cfg_doc() -> bool {
  function cargo_cfg_docsrs (line 188) | pub fn cargo_cfg_docsrs() -> bool {
  function cargo_cfg_doctest (line 194) | pub fn cargo_cfg_doctest() -> bool {
  function cargo_cfg_fmt_debug (line 202) | pub fn cargo_cfg_fmt_debug() -> String {
  function cargo_cfg_miri (line 208) | pub fn cargo_cfg_miri() -> bool {
  function cargo_cfg_overflow_checks (line 216) | pub fn cargo_cfg_overflow_checks() -> bool {
  function cargo_cfg_panic (line 222) | pub fn cargo_cfg_panic() -> String {
  function cargo_cfg_proc_macro (line 228) | pub fn cargo_cfg_proc_macro() -> bool {
  function cargo_cfg_relocation_model (line 236) | pub fn cargo_cfg_relocation_model() -> String {
  function cargo_cfg_rustfmt (line 242) | pub fn cargo_cfg_rustfmt() -> bool {
  function cargo_cfg_sanitize (line 250) | pub fn cargo_cfg_sanitize() -> Option<Vec<String>> {
  function cargo_cfg_sanitizer_cfi_generalize_pointers (line 258) | pub fn cargo_cfg_sanitizer_cfi_generalize_pointers() -> bool {
  function cargo_cfg_sanitizer_cfi_normalize_integers (line 266) | pub fn cargo_cfg_sanitizer_cfi_normalize_integers() -> bool {
  function cargo_cfg_target_abi (line 277) | pub fn cargo_cfg_target_abi() -> Option<String> {
  function cargo_cfg_target_arch (line 284) | pub fn cargo_cfg_target_arch() -> String {
  function cargo_cfg_target_endian (line 290) | pub fn cargo_cfg_target_endian() -> String {
  function cargo_cfg_target_env (line 301) | pub fn cargo_cfg_target_env() -> String {
  function cargo_target_family (line 307) | pub fn cargo_target_family() -> Vec<String> {
  function cargo_cfg_target_feature (line 313) | pub fn cargo_cfg_target_feature() -> Vec<String> {
  function cargo_cfg_target_has_atomic (line 319) | pub fn cargo_cfg_target_has_atomic() -> Vec<String> {
  function cargo_cfg_target_has_atomic_equal_alignment (line 327) | pub fn cargo_cfg_target_has_atomic_equal_alignment() -> Vec<String> {
  function cargo_cfg_target_has_atomic_load_store (line 338) | pub fn cargo_cfg_target_has_atomic_load_store() -> Vec<String> {
  function cargo_cfg_target_os (line 348) | pub fn cargo_cfg_target_os() -> String {
  function cargo_cfg_target_pointer_width (line 354) | pub fn cargo_cfg_target_pointer_width() -> u32 {
  function cargo_cfg_target_thread_local (line 362) | pub fn cargo_cfg_target_thread_local() -> bool {
  function cargo_cfg_target_vendor (line 368) | pub fn cargo_cfg_target_vendor() -> String {
  function cargo_cfg_test (line 374) | pub fn cargo_cfg_test() -> bool {
  function cargo_cfg_ub_checks (line 382) | pub fn cargo_cfg_ub_checks() -> bool {
  function cargo_cfg_unix (line 388) | pub fn cargo_cfg_unix() -> bool {
  function cargo_cfg_windows (line 394) | pub fn cargo_cfg_windows() -> bool {
  function out_dir (line 404) | pub fn out_dir() -> PathBuf {
  function target (line 413) | pub fn target() -> String {
  function host (line 419) | pub fn host() -> String {
  function num_jobs (line 434) | pub fn num_jobs() -> u32 {
  function opt_level (line 440) | pub fn opt_level() -> String {
  function debug (line 446) | pub fn debug() -> String {
  function profile (line 461) | pub fn profile() -> String {
  function dep_metadata (line 471) | pub fn dep_metadata(name: &str, key: &str) -> Option<String> {
  function rustc (line 487) | pub fn rustc() -> PathBuf {
  function rustdoc (line 493) | pub fn rustdoc() -> PathBuf {
  function rustc_wrapper (line 501) | pub fn rustc_wrapper() -> Option<PathBuf> {
  function rustc_workspace_wrapper (line 510) | pub fn rustc_workspace_wrapper() -> Option<PathBuf> {
  function rustc_linker (line 518) | pub fn rustc_linker() -> Option<PathBuf> {
  function cargo_encoded_rustflags (line 526) | pub fn cargo_encoded_rustflags() -> Vec<String> {
  function cargo_pkg_version (line 532) | pub fn cargo_pkg_version() -> String {
  function cargo_pkg_version_major (line 538) | pub fn cargo_pkg_version_major() -> u64 {
  function cargo_pkg_version_minor (line 544) | pub fn cargo_pkg_version_minor() -> u64 {
  function cargo_pkg_version_patch (line 550) | pub fn cargo_pkg_version_patch() -> u64 {
  function cargo_pkg_version_pre (line 556) | pub fn cargo_pkg_version_pre() -> Option<String> {
  function cargo_pkg_authors (line 562) | pub fn cargo_pkg_authors() -> Vec<String> {
  function cargo_pkg_name (line 568) | pub fn cargo_pkg_name() -> String {
  function cargo_pkg_description (line 574) | pub fn cargo_pkg_description() -> Option<String> {
  function cargo_pkg_homepage (line 580) | pub fn cargo_pkg_homepage() -> Option<String> {
  function cargo_pkg_repository (line 586) | pub fn cargo_pkg_repository() -> Option<String> {
  function cargo_pkg_license (line 592) | pub fn cargo_pkg_license() -> Option<String> {
  function cargo_pkg_license_file (line 598) | pub fn cargo_pkg_license_file() -> Option<PathBuf> {
  function cargo_pkg_rust_version (line 605) | pub fn cargo_pkg_rust_version() -> Option<String> {
  function cargo_pkg_readme (line 611) | pub fn cargo_pkg_readme() -> Option<PathBuf> {
  function var_or_panic (line 616) | fn var_or_panic(key: &str) -> std::ffi::OsString {
  function to_path (line 621) | fn to_path(value: std::ffi::OsString) -> PathBuf {
  function to_string (line 626) | fn to_string(value: std::ffi::OsString) -> String {
  function to_opt (line 636) | fn to_opt(value: std::ffi::OsString) -> Option<std::ffi::OsString> {
  function to_strings (line 641) | fn to_strings(value: std::ffi::OsString, sep: char) -> Vec<String> {
  function to_parsed (line 650) | fn to_parsed<T>(value: std::ffi::OsString) -> T

FILE: crates/build-rs/src/output.rs
  function emit (line 15) | fn emit(directive: &str, value: impl Display) {
  function rerun_if_changed (line 37) | pub fn rerun_if_changed(path: impl AsRef<Path>) {
  function rerun_if_env_changed (line 58) | pub fn rerun_if_env_changed(key: impl AsRef<OsStr>) {
  function rustc_link_arg (line 77) | pub fn rustc_link_arg(flag: &str) {
  function rustc_link_arg_bin (line 93) | pub fn rustc_link_arg_bin(bin: &str, flag: &str) {
  function rustc_link_arg_bins (line 112) | pub fn rustc_link_arg_bins(flag: &str) {
  function rustc_link_arg_tests (line 125) | pub fn rustc_link_arg_tests(flag: &str) {
  function rustc_link_arg_examples (line 138) | pub fn rustc_link_arg_examples(flag: &str) {
  function rustc_link_arg_benches (line 151) | pub fn rustc_link_arg_benches(flag: &str) {
  function rustc_link_lib (line 182) | pub fn rustc_link_lib(lib: &str) {
  function rustc_link_lib_kind (line 191) | pub fn rustc_link_lib_kind(kind: &str, lib: &str) {
  function rustc_link_search (line 217) | pub fn rustc_link_search(path: impl AsRef<Path>) {
  function rustc_link_search_kind (line 229) | pub fn rustc_link_search_kind(kind: &str, path: impl AsRef<Path>) {
  function rustc_flags (line 248) | pub fn rustc_flags(flags: &str) {
  function rustc_cfg (line 275) | pub fn rustc_cfg(key: &str) {
  function rustc_cfg_value (line 288) | pub fn rustc_cfg_value(key: &str, value: &str) {
  function rustc_check_cfgs (line 308) | pub fn rustc_check_cfgs(keys: &[&str]) {
  function rustc_check_cfg_values (line 337) | pub fn rustc_check_cfg_values(key: &str, values: &[&str]) {
  function rustc_env (line 369) | pub fn rustc_env(key: &str, value: &str) {
  function rustc_cdylib_link_arg (line 388) | pub fn rustc_cdylib_link_arg(flag: &str) {
  function warning (line 405) | pub fn warning(message: &str) {
  function error (line 425) | pub fn error(message: &str) {
  function metadata (line 434) | pub fn metadata(key: &str, val: &str) {

FILE: crates/cargo-platform/examples/matches.rs
  function main (line 18) | fn main() {
  function get_target (line 33) | fn get_target() -> String {
  function get_cfgs (line 47) | fn get_cfgs() -> Vec<Cfg> {

FILE: crates/cargo-platform/src/cfg.rs
  type CfgExpr (line 9) | pub enum CfgExpr {
    method matches_key (line 133) | pub fn matches_key(key: &str, target_cfg: &[Cfg]) -> bool {
    method matches (line 146) | pub fn matches(&self, cfg: &[Cfg]) -> bool {
    method fmt (line 175) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Cfg (line 20) | pub enum Cfg {
    method fmt (line 123) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Ident (line 29) | pub struct Ident {
    method as_str (line 68) | pub fn as_str(&self) -> &str {
    method eq (line 80) | fn eq(&self, other: &str) -> bool {
    method eq (line 86) | fn eq(&self, other: &&str) -> bool {
    method eq (line 92) | fn eq(&self, other: &Ident) -> bool {
    method fmt (line 98) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Token (line 40) | enum Token<'a> {
  constant KEYWORDS (line 55) | pub(crate) const KEYWORDS: &[&str; 2] = &["true", "false"];
  type Tokenizer (line 58) | struct Tokenizer<'a> {
  type Parser (line 63) | struct Parser<'a> {
  method hash (line 74) | fn hash<H: Hasher>(&self, state: &mut H) {
  type Err (line 107) | type Err = ParseError;
  method from_str (line 109) | fn from_str(s: &str) -> Result<Cfg, Self::Err> {
  type Err (line 159) | type Err = ParseError;
  method from_str (line 161) | fn from_str(s: &str) -> Result<CfgExpr, Self::Err> {
  type CommaSep (line 187) | struct CommaSep<'a, T>(&'a [T]);
  function fmt (line 190) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  function new (line 202) | fn new(s: &'a str) -> Parser<'a> {
  function expr (line 211) | fn expr(&mut self) -> Result<CfgExpr, ParseError> {
  function cfg (line 251) | fn cfg(&mut self) -> Result<Cfg, ParseError> {
  function peek (line 298) | fn peek(&mut self) -> Option<Result<Token<'a>, ParseError>> {
  function r#try (line 302) | fn r#try(&mut self, token: &Token<'a>) -> bool {
  function eat (line 311) | fn eat(&mut self, token: &Token<'a>) -> Result<(), ParseError> {
  function rest (line 330) | fn rest(&self) -> Option<&str> {
  type Item (line 343) | type Item = Result<Token<'a>, ParseError>;
  method next (line 345) | fn next(&mut self) -> Option<Result<Token<'a>, ParseError>> {
  function is_ident_start (line 410) | fn is_ident_start(ch: char) -> bool {
  function is_ident_rest (line 414) | fn is_ident_rest(ch: char) -> bool {
  function classify (line 419) | fn classify(&self) -> &'static str {

FILE: crates/cargo-platform/src/error.rs
  type ParseError (line 4) | pub struct ParseError {
    method fmt (line 24) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method new (line 61) | pub fn new(orig: &str, kind: ParseErrorKind) -> ParseError {
  type ParseErrorKind (line 11) | pub enum ParseErrorKind {
    method fmt (line 34) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {

FILE: crates/cargo-platform/src/lib.rs
  type Platform (line 26) | pub enum Platform {
    method matches (line 37) | pub fn matches(&self, name: &str, cfg: &[Cfg]) -> bool {
    method validate_named_platform (line 44) | fn validate_named_platform(name: &str) -> Result<(), ParseError> {
    method check_cfg_attributes (line 69) | pub fn check_cfg_attributes(&self, warnings: &mut Vec<String>) {
    method check_cfg_keywords (line 110) | pub fn check_cfg_keywords(&self, warnings: &mut Vec<String>, path: &Pa...
    method serialize (line 144) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
    method deserialize (line 153) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    method fmt (line 176) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Err (line 163) | type Err = ParseError;
  method from_str (line 165) | fn from_str(s: &str) -> Result<Platform, ParseError> {

FILE: crates/cargo-platform/tests/test_cfg.rs
  function good (line 48) | fn good<T>(s: &str, expected: T)
  function bad (line 60) | fn bad<T>(s: &str, err: &str)
  function cfg_syntax (line 80) | fn cfg_syntax() {
  function cfg_syntax_bad (line 95) | fn cfg_syntax_bad() {
  function cfg_expr (line 117) | fn cfg_expr() {
  function cfg_expr_bad (line 139) | fn cfg_expr_bad() {
  function cfg_matches (line 154) | fn cfg_matches() {
  function bad_target_name (line 185) | fn bad_target_name() {
  function round_trip_platform (line 200) | fn round_trip_platform() {
  function check_cfg_attributes (line 220) | fn check_cfg_attributes() {

FILE: crates/cargo-test-macro/src/lib.rs
  function cargo_test (line 59) | pub fn cargo_test(attr: TokenStream, item: TokenStream) -> TokenStream {
  function split_rules (line 257) | fn split_rules(t: TokenStream) -> Vec<String> {
  function to_token_stream (line 273) | fn to_token_stream(code: &str) -> TokenStream {
  function version (line 290) | fn version() -> (u32, bool) {
  function check_command (line 294) | fn check_command(command_path: &Path, args: &[&str]) -> bool {
  function has_command (line 324) | fn has_command(command: &str) -> bool {
  function is_executable (line 346) | fn is_executable<P: AsRef<Path>>(path: P) -> bool {
  function is_executable (line 354) | fn is_executable<P: AsRef<Path>>(path: P) -> bool {
  function has_rustup_stable (line 358) | fn has_rustup_stable() -> bool {
  function is_ci (line 376) | fn is_ci() -> bool {

FILE: crates/cargo-test-support/build.rs
  function main (line 3) | fn main() {

FILE: crates/cargo-test-support/src/compare.rs
  function assert_ui (line 108) | pub fn assert_ui() -> snapbox::Assert {
  function assert_e2e (line 163) | pub fn assert_e2e() -> snapbox::Assert {
  function add_test_support_redactions (line 177) | fn add_test_support_redactions(subs: &mut snapbox::Redactions) {
  function add_regex_redactions (line 191) | fn add_regex_redactions(subs: &mut snapbox::Redactions) {
  function match_contains (line 348) | pub(crate) fn match_contains(
  function match_does_not_contain (line 379) | pub(crate) fn match_does_not_contain(
  function match_with_without (line 405) | pub(crate) fn match_with_without(
  function normalize_actual (line 449) | fn normalize_actual(content: &str, redactions: &snapbox::Redactions) -> ...
  function normalize_expected (line 459) | fn normalize_expected(content: &str, redactions: &snapbox::Redactions) -...
  type WildStr (line 470) | struct WildStr<'a> {
  function new (line 476) | fn new(line: &'a str) -> WildStr<'a> {
  function eq (line 485) | fn eq(&self, other: &&str) -> bool {
  function meta_cmp (line 494) | fn meta_cmp(a: &str, mut b: &str) -> bool {
  function fmt (line 510) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  function fmt (line 516) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type InMemoryDir (line 521) | pub struct InMemoryDir {
    method paths (line 526) | pub fn paths(&self) -> impl Iterator<Item = &Path> {
    method assert_contains (line 531) | pub fn assert_contains(&self, expected: &Self) {
    method from_iter (line 558) | fn from_iter<I: IntoIterator<Item = (P, D)>>(files: I) -> Self {
    method from (line 572) | fn from(files: [(P, D); N]) -> Self {
    method from (line 586) | fn from(files: std::collections::HashMap<P, D>) -> Self {
    method from (line 600) | fn from(files: std::collections::BTreeMap<P, D>) -> Self {
    method from (line 610) | fn from(_files: ()) -> Self {
  function wild_str_cmp (line 669) | fn wild_str_cmp() {
  function redact_elapsed_time (line 685) | fn redact_elapsed_time() {

FILE: crates/cargo-test-support/src/containers.rs
  type Container (line 20) | pub struct Container {
    method new (line 38) | pub fn new(context_dir: &str) -> Container {
    method file (line 50) | pub fn file(mut self, file: MkFile) -> Self {
    method launch (line 56) | pub fn launch(mut self) -> ContainerHandle {
    method create_container (line 75) | fn create_container(&self, name: &str) {
    method copy_files (line 103) | fn copy_files(&mut self, name: &str) {
    method start_container (line 123) | fn start_container(&self, name: &str) {
    method container_inspect (line 131) | fn container_inspect(&self, name: &str) -> serde_json::Value {
    method port_mappings (line 141) | fn port_mappings(&self, info: &serde_json::Value) -> HashMap<u16, u16> {
    method wait_till_ready (line 163) | fn wait_till_ready(&self, port_mappings: &HashMap<u16, u16>) {
  type ContainerHandle (line 30) | pub struct ContainerHandle {
    method exec (line 189) | pub fn exec(&self, args: &[&str]) -> std::process::Output {
    method read_file (line 198) | pub fn read_file(&self, path: &str) -> String {
  method drop (line 212) | fn drop(&mut self) {
  function remove_if_exists (line 221) | fn remove_if_exists(name: &str) {
  type MkFile (line 231) | pub struct MkFile {
    method path (line 243) | pub fn path(path: &str) -> MkFile {
    method contents (line 251) | pub fn contents(mut self, contents: impl Into<Vec<u8>>) -> Self {
    method mode (line 257) | pub fn mode(mut self, mode: u32) -> Self {
    method uid (line 262) | pub fn uid(mut self, uid: u64) -> Self {
    method gid (line 267) | pub fn gid(mut self, gid: u64) -> Self {

FILE: crates/cargo-test-support/src/cross_compile.rs
  function native (line 15) | pub fn native() -> &'static str {
  function native_arch (line 19) | pub fn native_arch() -> &'static str {
  function alternate (line 35) | pub fn alternate() -> &'static str {
  function try_alternate (line 40) | pub(crate) fn try_alternate() -> Option<&'static str> {
  function alternate_arch (line 54) | pub fn alternate_arch() -> &'static str {
  function unused (line 67) | pub fn unused() -> &'static str {
  function requires_target_installed (line 78) | pub fn requires_target_installed(target: &str) -> bool {

FILE: crates/cargo-test-support/src/git.rs
  type RepoBuilder (line 53) | pub struct RepoBuilder {
    method init (line 69) | pub fn init(p: &Path) -> RepoBuilder {
    method file (line 79) | pub fn file(self, path: &str, contents: &str) -> RepoBuilder {
    method nocommit_symlink_dir (line 86) | pub fn nocommit_symlink_dir<T: AsRef<Path>>(self, dst: T, src: T) -> S...
    method nocommit_file (line 94) | pub fn nocommit_file(self, path: &str, contents: &str) -> RepoBuilder {
    method build (line 102) | pub fn build(self) -> Repository {
  type Repository (line 59) | pub struct Repository(git2::Repository);
    method root (line 122) | pub fn root(&self) -> &Path {
    method url (line 126) | pub fn url(&self) -> Url {
    method revparse_head (line 130) | pub fn revparse_head(&self) -> String {
  function repo (line 64) | pub fn repo(p: &Path) -> RepoBuilder {
  function init (line 140) | pub fn init(path: &Path) -> git2::Repository {
  function default_search_path (line 147) | fn default_search_path() {
  function default_repo_cfg (line 161) | fn default_repo_cfg(repo: &git2::Repository) {
  function new (line 168) | pub fn new<F>(name: &str, callback: F) -> Project
  function new_repo (line 176) | pub fn new_repo<F>(name: &str, callback: F) -> (Project, git2::Repository)
  function add (line 191) | pub fn add(repo: &git2::Repository) {
  function add_submodule (line 198) | pub fn add_submodule<'a>(
  function commit (line 216) | pub fn commit(repo: &git2::Repository) -> git2::Oid {
  function tag (line 235) | pub fn tag(repo: &git2::Repository, name: &str) {
  function cargo_uses_gitoxide (line 249) | pub fn cargo_uses_gitoxide() -> bool {

FILE: crates/cargo-test-support/src/install.rs
  function assert_has_installed_exe (line 15) | pub fn assert_has_installed_exe<P: AsRef<Path>>(path: P, name: &'static ...
  function assert_has_not_installed_exe (line 20) | pub fn assert_has_not_installed_exe<P: AsRef<Path>>(path: P, name: &'sta...
  function check_has_installed_exe (line 24) | fn check_has_installed_exe<P: AsRef<Path>>(path: P, name: &'static str) ...
  function exe (line 29) | pub fn exe(name: &str) -> String {

FILE: crates/cargo-test-support/src/lib.rs
  function panic_error (line 90) | pub fn panic_error(what: &str, err: impl Into<anyhow::Error>) -> ! {
  type FileBuilder (line 131) | struct FileBuilder {
    method new (line 138) | pub fn new(path: PathBuf, body: &str, executable: bool) -> FileBuilder {
    method mk (line 146) | fn mk(&mut self) {
    method dirname (line 168) | fn dirname(&self) -> &Path {
  type SymlinkBuilder (line 174) | struct SymlinkBuilder {
    method new (line 181) | pub fn new(dst: PathBuf, src: PathBuf) -> SymlinkBuilder {
    method new_dir (line 189) | pub fn new_dir(dst: PathBuf, src: PathBuf) -> SymlinkBuilder {
    method mk (line 198) | fn mk(&self) {
    method mk (line 204) | fn mk(&mut self) {
    method dirname (line 218) | fn dirname(&self) -> &Path {
  type Project (line 226) | pub struct Project {
    method from_template (line 370) | pub fn from_template(template_path: impl AsRef<Path>) -> Self {
    method root (line 380) | pub fn root(&self) -> PathBuf {
    method build_dir (line 387) | pub fn build_dir(&self) -> PathBuf {
    method target_debug_dir (line 394) | pub fn target_debug_dir(&self) -> PathBuf {
    method url (line 401) | pub fn url(&self) -> Url {
    method example_lib (line 411) | pub fn example_lib(&self, name: &str, kind: &str) -> PathBuf {
    method dylib (line 419) | pub fn dylib(&self, name: &str) -> PathBuf {
    method bin (line 430) | pub fn bin(&self, b: &str) -> PathBuf {
    method release_bin (line 439) | pub fn release_bin(&self, b: &str) -> PathBuf {
    method target_bin (line 448) | pub fn target_bin(&self, target: &str, b: &str) -> PathBuf {
    method glob (line 457) | pub fn glob<P: AsRef<Path>>(&self, pattern: P) -> glob::Paths {
    method change_file (line 471) | pub fn change_file(&self, path: impl AsRef<Path>, body: &str) {
    method process (line 487) | pub fn process<T: AsRef<OsStr>>(&self, program: T) -> Execs {
    method rename_run (line 506) | pub fn rename_run(&self, src: &str, dst: &str) -> Execs {
    method read_lockfile (line 515) | pub fn read_lockfile(&self) -> String {
    method read_file (line 520) | pub fn read_file(&self, path: impl AsRef<Path>) -> String {
    method uncomment_root_manifest (line 527) | pub fn uncomment_root_manifest(&self) {
    method symlink (line 532) | pub fn symlink(&self, src: impl AsRef<Path>, dst: impl AsRef<Path>) {
  type ProjectBuilder (line 240) | pub struct ProjectBuilder {
    method root (line 251) | pub fn root(&self) -> PathBuf {
    method target_debug_dir (line 258) | pub fn target_debug_dir(&self) -> PathBuf {
    method new (line 263) | pub fn new(root: PathBuf) -> ProjectBuilder {
    method at (line 273) | pub fn at<P: AsRef<Path>>(mut self, path: P) -> Self {
    method file (line 281) | pub fn file<B: AsRef<Path>>(mut self, path: B, body: &str) -> Self {
    method executable (line 287) | pub fn executable<B: AsRef<Path>>(mut self, path: B, body: &str) -> Se...
    method _file (line 292) | fn _file(&mut self, path: &Path, body: &str, executable: bool) {
    method symlink (line 301) | pub fn symlink(mut self, dst: impl AsRef<Path>, src: impl AsRef<Path>)...
    method symlink_dir (line 310) | pub fn symlink_dir(mut self, dst: impl AsRef<Path>, src: impl AsRef<Pa...
    method no_manifest (line 318) | pub fn no_manifest(mut self) -> Self {
    method build (line 324) | pub fn build(mut self) -> Project {
    method rm_root (line 363) | fn rm_root(&self) {
  function project (line 557) | pub fn project() -> ProjectBuilder {
  function project_in (line 562) | pub fn project_in(dir: impl AsRef<Path>) -> ProjectBuilder {
  function project_in_home (line 567) | pub fn project_in_home(name: impl AsRef<Path>) -> ProjectBuilder {
  function main_file (line 587) | pub fn main_file(println: &str, externed_deps: &[&str]) -> String {
  type RawOutput (line 608) | pub struct RawOutput {
  type Execs (line 622) | pub struct Execs {
    method with_process_builder (line 639) | pub fn with_process_builder(mut self, p: ProcessBuilder) -> Execs {
    method with_stdout_data (line 701) | pub fn with_stdout_data(&mut self, expected: impl snapbox::IntoData) -...
    method with_stderr_data (line 760) | pub fn with_stderr_data(&mut self, expected: impl snapbox::IntoData) -...
    method with_stdin (line 766) | pub fn with_stdin<S: ToString>(&mut self, expected: S) -> &mut Self {
    method with_status (line 774) | pub fn with_status(&mut self, expected: i32) -> &mut Self {
    method without_status (line 782) | pub fn without_status(&mut self) -> &mut Self {
    method with_stdout_contains (line 799) | pub fn with_stdout_contains<S: ToString>(&mut self, expected: S) -> &m...
    method with_stderr_contains (line 816) | pub fn with_stderr_contains<S: ToString>(&mut self, expected: S) -> &m...
    method with_stdout_does_not_contain (line 838) | pub fn with_stdout_does_not_contain<S: ToString>(&mut self, expected: ...
    method with_stderr_does_not_contain (line 859) | pub fn with_stderr_does_not_contain<S: ToString>(&mut self, expected: ...
    method with_stderr_line_without (line 895) | pub fn with_stderr_line_without<S: ToString>(
    method stream (line 913) | pub fn stream(&mut self) -> &mut Self {
    method arg (line 918) | pub fn arg<T: AsRef<OsStr>>(&mut self, arg: T) -> &mut Self {
    method args (line 925) | pub fn args<T: AsRef<OsStr>>(&mut self, args: &[T]) -> &mut Self {
    method cwd (line 932) | pub fn cwd<T: AsRef<OsStr>>(&mut self, path: T) -> &mut Self {
    method env (line 944) | pub fn env<T: AsRef<OsStr>>(&mut self, key: &str, val: T) -> &mut Self {
    method env_remove (line 951) | pub fn env_remove(&mut self, key: &str) -> &mut Self {
    method masquerade_as_nightly_cargo (line 963) | pub fn masquerade_as_nightly_cargo(&mut self, reasons: &[&str]) -> &mu...
    method replace_crates_io (line 974) | pub fn replace_crates_io(&mut self, url: &Url) -> &mut Self {
    method overlay_registry (line 981) | pub fn overlay_registry(&mut self, url: &Url, path: &str) -> &mut Self {
    method enable_split_debuginfo_packed (line 992) | pub fn enable_split_debuginfo_packed(&mut self) -> &mut Self {
    method enable_mac_dsym (line 1000) | pub fn enable_mac_dsym(&mut self) -> &mut Self {
    method exec_with_output (line 1010) | pub fn exec_with_output(&mut self) -> Result<Output> {
    method build_command (line 1017) | pub fn build_command(&mut self) -> Command {
    method run (line 1025) | pub fn run(&mut self) -> RawOutput {
    method run_json (line 1041) | pub fn run_json(&mut self) -> serde_json::Value {
    method run_output (line 1054) | pub fn run_output(&mut self, output: &Output) {
    method verify_checks_output (line 1062) | fn verify_checks_output(&self, stdout: &[u8], stderr: &[u8]) {
    method match_process (line 1084) | fn match_process(&self, process: &ProcessBuilder) -> Result<RawOutput> {
    method match_output (line 1135) | fn match_output(&self, code: Option<i32>, stdout: &[u8], stderr: &[u8]...
  method drop (line 1190) | fn drop(&mut self) {
  function execs (line 1198) | pub fn execs() -> Execs {
  function basic_manifest (line 1217) | pub fn basic_manifest(name: &str, version: &str) -> String {
  function basic_bin_manifest (line 1231) | pub fn basic_bin_manifest(name: &str) -> String {
  function basic_lib_manifest (line 1250) | pub fn basic_lib_manifest(name: &str) -> String {
  function target_spec_json (line 1272) | pub fn target_spec_json() -> &'static str {
  type RustcInfo (line 1290) | struct RustcInfo {
    method new (line 1296) | fn new() -> RustcInfo {
  function rustc_info (line 1315) | fn rustc_info() -> &'static RustcInfo {
  function rustc_host (line 1321) | pub fn rustc_host() -> &'static str {
  function rustc_host_env (line 1326) | pub fn rustc_host_env() -> String {
  function is_nightly (line 1330) | pub fn is_nightly() -> bool {
  function process (line 1345) | pub fn process<T: AsRef<OsStr>>(bin: T) -> ProcessBuilder {
  function _process (line 1349) | fn _process(t: &OsStr) -> ProcessBuilder {
  type ChannelChangerCommandExt (line 1356) | pub trait ChannelChangerCommandExt {
    method masquerade_as_nightly_cargo (line 1360) | fn masquerade_as_nightly_cargo(self, _reasons: &[&str]) -> Self;
    method masquerade_as_nightly_cargo (line 1364) | fn masquerade_as_nightly_cargo(self, _reasons: &[&str]) -> Self {
    method masquerade_as_nightly_cargo (line 1370) | fn masquerade_as_nightly_cargo(self, _reasons: &[&str]) -> Self {
  type TestEnvCommandExt (line 1376) | pub trait TestEnvCommandExt: Sized {
    method test_env (line 1377) | fn test_env(mut self) -> Self {
    method current_dir (line 1469) | fn current_dir<S: AsRef<std::path::Path>>(self, path: S) -> Self;
    method env (line 1470) | fn env<S: AsRef<std::ffi::OsStr>>(self, key: &str, value: S) -> Self;
    method env_remove (line 1471) | fn env_remove(self, key: &str) -> Self;
    method current_dir (line 1475) | fn current_dir<S: AsRef<std::path::Path>>(self, path: S) -> Self {
    method env (line 1479) | fn env<S: AsRef<std::ffi::OsStr>>(self, key: &str, value: S) -> Self {
    method env_remove (line 1482) | fn env_remove(self, key: &str) -> Self {
    method current_dir (line 1488) | fn current_dir<S: AsRef<std::path::Path>>(self, path: S) -> Self {
    method env (line 1491) | fn env<S: AsRef<std::ffi::OsStr>>(self, key: &str, value: S) -> Self {
    method env_remove (line 1494) | fn env_remove(self, key: &str) -> Self {
  type ArgLineCommandExt (line 1500) | pub trait ArgLineCommandExt: Sized {
    method arg_line (line 1501) | fn arg_line(mut self, s: &str) -> Self {
    method arg (line 1515) | fn arg<S: AsRef<std::ffi::OsStr>>(self, s: S) -> Self;
    method arg (line 1519) | fn arg<S: AsRef<std::ffi::OsStr>>(self, s: S) -> Self {
    method arg (line 1525) | fn arg<S: AsRef<std::ffi::OsStr>>(self, s: S) -> Self {
    method arg (line 1531) | fn arg<S: AsRef<std::ffi::OsStr>>(self, s: S) -> Self {
  function git_process (line 1537) | pub fn git_process(arg_line: &str) -> ProcessBuilder {
  function sleep_ms (line 1543) | pub fn sleep_ms(ms: u64) {
  function is_coarse_mtime (line 1548) | pub fn is_coarse_mtime() -> bool {
  function slow_cpu_multiplier (line 1562) | pub fn slow_cpu_multiplier(main: u64) -> Duration {
  function symlink_supported (line 1574) | pub fn symlink_supported() -> bool {
  function symlink_supported (line 1601) | pub fn symlink_supported() -> bool {
  function no_such_file_err_msg (line 1606) | pub fn no_such_file_err_msg() -> String {
  function retry (line 1614) | pub fn retry<F, R>(n: u32, mut f: F) -> R
  function retry_fails (line 1637) | fn retry_fails() {
  function thread_wait_timeout (line 1643) | pub fn thread_wait_timeout<T>(n: u32, thread: JoinHandle<T>) -> T {
  function threaded_timeout (line 1651) | pub fn threaded_timeout<F, R>(n: u32, f: F) -> R
  function assert_deps (line 1662) | pub fn assert_deps(project: &Project, fingerprint: &str, test_cb: impl F...
  function assert_deps_contains (line 1728) | pub fn assert_deps_contains(project: &Project, fingerprint: &str, expect...
  function assert_deterministic_mtime (line 1747) | pub fn assert_deterministic_mtime(path: impl AsRef<Path>) {

FILE: crates/cargo-test-support/src/paths.rs
  function set_global_root (line 23) | fn set_global_root(tmp_dir: &'static str) {
  function global_root (line 38) | pub fn global_root() -> PathBuf {
  type TestIdGuard (line 59) | pub struct TestIdGuard {
  function init_root (line 64) | pub fn init_root(tmp_dir: &'static str, test_dir: PathBuf) -> TestIdGuard {
  method drop (line 93) | fn drop(&mut self) {
  function root (line 103) | pub fn root() -> PathBuf {
  function home (line 117) | pub fn home() -> PathBuf {
  function cargo_home (line 127) | pub fn cargo_home() -> PathBuf {
  function log_dir (line 134) | pub fn log_dir() -> PathBuf {
  function log_file (line 143) | pub fn log_file(idx: usize) -> PathBuf {
  type CargoPathExt (line 167) | pub trait CargoPathExt {
    method to_url (line 168) | fn to_url(&self) -> url::Url;
    method rm_rf (line 170) | fn rm_rf(&self);
    method mkdir_p (line 171) | fn mkdir_p(&self);
    method ls_r (line 175) | fn ls_r(&self) -> Vec<PathBuf>;
    method move_into_the_past (line 177) | fn move_into_the_past(&self) {
    method move_into_the_future (line 181) | fn move_into_the_future(&self) {
    method move_in_time (line 185) | fn move_in_time<F>(&self, travel_amount: F)
    method assert_build_dir_layout (line 189) | fn assert_build_dir_layout(&self, expected: impl snapbox::IntoData);
    method assert_dir_layout (line 191) | fn assert_dir_layout(&self, expected: impl snapbox::IntoData, ignored_...
    method to_url (line 195) | fn to_url(&self) -> url::Url {
    method rm_rf (line 199) | fn rm_rf(&self) {
    method mkdir_p (line 221) | fn mkdir_p(&self) {
    method ls_r (line 226) | fn ls_r(&self) -> Vec<PathBuf> {
    method move_in_time (line 234) | fn move_in_time<F>(&self, travel_amount: F)
    method assert_build_dir_layout (line 278) | fn assert_build_dir_layout(&self, expected: impl snapbox::IntoData) {
    method assert_dir_layout (line 289) | fn assert_dir_layout(
    method to_url (line 316) | fn to_url(&self) -> url::Url {
    method rm_rf (line 320) | fn rm_rf(&self) {
    method mkdir_p (line 323) | fn mkdir_p(&self) {
    method ls_r (line 327) | fn ls_r(&self) -> Vec<PathBuf> {
    method move_in_time (line 331) | fn move_in_time<F>(&self, travel_amount: F)
    method assert_build_dir_layout (line 339) | fn assert_build_dir_layout(&self, expected: impl snapbox::IntoData) {
    method assert_dir_layout (line 344) | fn assert_dir_layout(
  function do_op (line 354) | fn do_op<F>(path: &Path, desc: &str, mut f: F)
  function build_dir_ignored_path_patterns (line 383) | fn build_dir_ignored_path_patterns() -> Vec<String> {
  function get_lib_filename (line 414) | pub fn get_lib_filename(name: &str, kind: &str) -> String {
  function get_lib_prefix (line 421) | pub fn get_lib_prefix(kind: &str) -> &str {
  function get_lib_extension (line 436) | pub fn get_lib_extension(kind: &str) -> &str {
  function sysroot (line 460) | pub fn sysroot() -> String {
  function windows_reserved_names_are_allowed (line 476) | pub fn windows_reserved_names_are_allowed() -> bool {
  function test_dir (line 527) | pub fn test_dir(path: &str, name: &str) -> std::path::PathBuf {

FILE: crates/cargo-test-support/src/publish.rs
  function read_le_u32 (line 48) | fn read_le_u32<R>(mut reader: R) -> io::Result<u32>
  function validate_upload (line 59) | pub fn validate_upload(expected_json: &str, expected_crate_name: &str, e...
  function validate_upload_with_contents (line 72) | pub fn validate_upload_with_contents(
  function validate_alt_upload (line 90) | pub fn validate_alt_upload(
  function _validate_upload (line 106) | fn _validate_upload(
  function read_new_post (line 127) | fn read_new_post(new_path: &Path) -> (Vec<u8>, Vec<u8>) {
  function validate_crate_contents (line 156) | pub fn validate_crate_contents(
  function validate_crate_contents_ (line 172) | fn validate_crate_contents_(
  function create_index_line (line 222) | pub(crate) fn create_index_line(
  function write_to_index (line 262) | pub(crate) fn write_to_index(registry_path: &Path, name: &str, line: Str...
  function split_index_features (line 299) | fn split_index_features(mut features: FeatureMap) -> (FeatureMap, Option...

FILE: crates/cargo-test-support/src/registry.rs
  function registry_path (line 74) | pub fn registry_path() -> PathBuf {
  function api_path (line 84) | pub fn api_path() -> PathBuf {
  function dl_path (line 95) | pub fn dl_path() -> PathBuf {
  function alt_registry_path (line 102) | pub fn alt_registry_path() -> PathBuf {
  function alt_registry_url (line 107) | fn alt_registry_url() -> Url {
  function alt_dl_path (line 114) | pub fn alt_dl_path() -> PathBuf {
  function alt_api_path (line 121) | pub fn alt_api_path() -> PathBuf {
  function generate_path (line 125) | fn generate_path(name: &str) -> PathBuf {
  function generate_url (line 128) | fn generate_url(name: &str) -> Url {
  type Token (line 134) | pub enum Token {
    method rfc_key (line 143) | pub fn rfc_key() -> Token {
  type RequestCallback (line 152) | type RequestCallback = Box<dyn Send + Fn(&Request, &HttpServer) -> Respo...
  type RegistryBuilder (line 157) | pub struct RegistryBuilder {
    method new (line 233) | pub fn new() -> RegistryBuilder {
    method add_responder (line 259) | pub fn add_responder<R: 'static + Send + Fn(&Request, &HttpServer) -> ...
    method not_found_handler (line 270) | pub fn not_found_handler<R: 'static + Send + Fn(&Request, &HttpServer)...
    method delayed_index_update (line 280) | pub fn delayed_index_update(mut self, delay: usize) -> Self {
    method alternative_named (line 287) | pub fn alternative_named(mut self, alt: &str) -> Self {
    method alternative (line 294) | pub fn alternative(self) -> Self {
    method no_configure_token (line 300) | pub fn no_configure_token(mut self) -> Self {
    method no_configure_registry (line 307) | pub fn no_configure_registry(mut self) -> Self {
    method token (line 314) | pub fn token(mut self, token: Token) -> Self {
    method auth_required (line 322) | pub fn auth_required(mut self) -> Self {
    method http_index (line 329) | pub fn http_index(mut self) -> Self {
    method http_api (line 336) | pub fn http_api(mut self) -> Self {
    method no_api (line 343) | pub fn no_api(mut self) -> Self {
    method credential_provider (line 350) | pub fn credential_provider(mut self, provider: &[&str]) -> Self {
    method build (line 357) | pub fn build(self) -> TestRegistry {
  type TestRegistry (line 187) | pub struct TestRegistry {
    method index_url (line 197) | pub fn index_url(&self) -> &Url {
    method api_url (line 201) | pub fn api_url(&self) -> &Url {
    method token (line 205) | pub fn token(&self) -> &str {
    method key (line 212) | pub fn key(&self) -> &str {
    method join (line 222) | pub fn join(self) {
  type Package (line 564) | pub struct Package {
    method new (line 1256) | pub fn new(name: &str, vers: &str) -> Package {
    method local (line 1288) | pub fn local(&mut self, local: bool) -> &mut Package {
    method alternative (line 1302) | pub fn alternative(&mut self, alternative: bool) -> &mut Package {
    method file (line 1308) | pub fn file(&mut self, name: &str, contents: &str) -> &mut Package {
    method file_with_mode (line 1313) | pub fn file_with_mode(&mut self, path: &str, mode: u32, contents: &str...
    method symlink (line 1324) | pub fn symlink(&mut self, dst: &str, src: &str) -> &mut Package {
    method directory (line 1335) | pub fn directory(&mut self, path: &str) -> &mut Package {
    method extra_file (line 1350) | pub fn extra_file(&mut self, path: &str, contents: &str) -> &mut Packa...
    method dep (line 1365) | pub fn dep(&mut self, name: &str, vers: &str) -> &mut Package {
    method feature_dep (line 1374) | pub fn feature_dep(&mut self, name: &str, vers: &str, features: &[&str...
    method target_dep (line 1383) | pub fn target_dep(&mut self, name: &str, vers: &str, target: &str) -> ...
    method registry_dep (line 1388) | pub fn registry_dep(&mut self, name: &str, vers: &str) -> &mut Package {
    method dev_dep (line 1397) | pub fn dev_dep(&mut self, name: &str, vers: &str) -> &mut Package {
    method build_dep (line 1406) | pub fn build_dep(&mut self, name: &str, vers: &str) -> &mut Package {
    method add_dep (line 1410) | pub fn add_dep(&mut self, dep: &Dependency) -> &mut Package {
    method yanked (line 1416) | pub fn yanked(&mut self, yanked: bool) -> &mut Package {
    method edition (line 1422) | pub fn edition(&mut self, edition: &str) -> &mut Package {
    method resolver (line 1428) | pub fn resolver(&mut self, resolver: &str) -> &mut Package {
    method proc_macro (line 1434) | pub fn proc_macro(&mut self, proc_macro: bool) -> &mut Package {
    method feature (line 1440) | pub fn feature(&mut self, name: &str, deps: &[&str]) -> &mut Package {
    method rust_version (line 1447) | pub fn rust_version(&mut self, rust_version: &str) -> &mut Package {
    method invalid_index_line (line 1454) | pub fn invalid_index_line(&mut self, invalid: bool) -> &mut Package {
    method index_line (line 1462) | pub fn index_line(&mut self, line: &str) -> &mut Package {
    method links (line 1467) | pub fn links(&mut self, links: &str) -> &mut Package {
    method cargo_feature (line 1472) | pub fn cargo_feature(&mut self, feature: &str) -> &mut Package {
    method pubtime (line 1478) | pub fn pubtime(&mut self, time: &str) -> &mut Package {
    method schema_version (line 1486) | pub fn schema_version(&mut self, version: u32) -> &mut Package {
    method publish (line 1497) | pub fn publish(&self) -> String {
    method make_archive (line 1575) | fn make_archive(&self) {
    method append_manifest (line 1613) | fn append_manifest<W: Write>(&self, ar: &mut Builder<W>) {
    method append (line 1733) | fn append<W: Write>(&self, ar: &mut Builder<W>, file: &str, mode: u32,...
    method append_raw (line 1742) | fn append_raw<W: Write>(
    method archive_dst (line 1770) | pub fn archive_dst(&self) -> PathBuf {
  type FeatureMap (line 585) | pub(crate) type FeatureMap = BTreeMap<String, Vec<String>>;
  type Dependency (line 589) | pub struct Dependency {
    method new (line 1795) | pub fn new(name: &str, vers: &str) -> Dependency {
    method build (line 1814) | pub fn build(&mut self) -> &mut Self {
    method dev (line 1820) | pub fn dev(&mut self) -> &mut Self {
    method target (line 1826) | pub fn target(&mut self, target: &str) -> &mut Self {
    method artifact (line 1833) | pub fn artifact(&mut self, kind: &str, target: Option<String>) -> &mut...
    method registry (line 1840) | pub fn registry(&mut self, registry: &str) -> &mut Self {
    method enable_features (line 1846) | pub fn enable_features(&mut self, features: &[&str]) -> &mut Self {
    method package (line 1852) | pub fn package(&mut self, pkg: &str) -> &mut Self {
    method optional (line 1858) | pub fn optional(&mut self, optional: bool) -> &mut Self {
    method public (line 1864) | pub fn public(&mut self, public: bool) -> &mut Self {
    method default_features (line 1870) | pub fn default_features(&mut self, default_features: bool) -> &mut Self {
  type EntryData (line 607) | enum EntryData {
  type PackageFile (line 614) | struct PackageFile {
  constant DEFAULT_MODE (line 625) | const DEFAULT_MODE: u32 = 0o644;
  function init (line 632) | pub fn init() -> TestRegistry {
  function alt_init (line 639) | pub fn alt_init() -> TestRegistry {
  type HttpServerHandle (line 644) | pub struct HttpServerHandle {
    method index_url (line 650) | pub fn index_url(&self) -> Url {
    method api_url (line 654) | pub fn api_url(&self) -> Url {
    method dl_url (line 658) | pub fn dl_url(&self) -> Url {
    method stop (line 662) | fn stop(&self) {
  method drop (line 672) | fn drop(&mut self) {
  type Request (line 679) | pub struct Request {
    method fmt (line 689) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Response (line 702) | pub struct Response {
  type HttpServer (line 708) | pub struct HttpServer {
    method new (line 731) | pub fn new(
    method start (line 759) | fn start(&self) {
    method check_authorized (line 841) | fn check_authorized(&self, req: &Request, mutation: Option<Mutation<'_...
    method route (line 963) | fn route(&self, req: &Request) -> Response {
    method unauthorized (line 1028) | pub fn unauthorized(&self, _req: &Request) -> Response {
    method not_found (line 1039) | pub fn not_found(&self, req: &Request) -> Response {
    method ok (line 1044) | pub fn ok(&self, _req: &Request) -> Response {
    method internal_server_error (line 1053) | pub fn internal_server_error(&self, _req: &Request) -> Response {
    method too_many_requests (line 1062) | pub fn too_many_requests(&self, _req: &Request, delay: std::time::Dura...
    method dl (line 1075) | pub fn dl(&self, req: &Request) -> Response {
    method index (line 1091) | pub fn index(&self, req: &Request) -> Response {
    method check_authorized_publish (line 1141) | pub fn check_authorized_publish(&self, req: &Request) -> Response {
  type Mutation (line 723) | struct Mutation<'a> {
  function save_new_crate (line 1201) | fn save_new_crate(
  function cksum (line 1790) | pub fn cksum(s: &[u8]) -> String {

FILE: crates/cargo-util-schemas/src/core/package_id_spec.rs
  type Result (line 14) | type Result<T> = std::result::Result<T, PackageIdSpecError>;
  type PackageIdSpec (line 26) | pub struct PackageIdSpec {
    method new (line 34) | pub fn new(name: String) -> Self {
    method with_version (line 43) | pub fn with_version(mut self, version: PartialVersion) -> Self {
    method with_url (line 48) | pub fn with_url(mut self, url: Url) -> Self {
    method with_kind (line 53) | pub fn with_kind(mut self, kind: SourceKind) -> Self {
    method parse (line 80) | pub fn parse(spec: &str) -> Result<PackageIdSpec> {
    method from_url (line 108) | fn from_url(mut url: Url) -> Result<PackageIdSpec> {
    method name (line 186) | pub fn name(&self) -> &str {
    method version (line 191) | pub fn version(&self) -> Option<Version> {
    method partial_version (line 195) | pub fn partial_version(&self) -> Option<&PartialVersion> {
    method url (line 199) | pub fn url(&self) -> Option<&Url> {
    method set_url (line 203) | pub fn set_url(&mut self, url: Url) {
    method kind (line 207) | pub fn kind(&self) -> Option<&SourceKind> {
    method set_kind (line 211) | pub fn set_kind(&mut self, kind: SourceKind) {
    method fmt (line 235) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method serialize (line 266) | fn serialize<S>(&self, s: S) -> std::result::Result<S::Ok, S::Error>
    method deserialize (line 275) | fn deserialize<D>(d: D) -> std::result::Result<PackageIdSpec, D::Error>
    method schema_name (line 286) | fn schema_name() -> std::borrow::Cow<'static, str> {
    method json_schema (line 289) | fn json_schema(generator: &mut schemars::SchemaGenerator) -> schemars:...
  function parse_spec (line 216) | fn parse_spec(spec: &str) -> Result<Option<(String, Option<PartialVersio...
  function strip_url_protocol (line 228) | fn strip_url_protocol(url: &Url) -> Url {
  type PackageIdSpecError (line 296) | pub struct PackageIdSpecError(#[from] ErrorKind);
    method from (line 299) | fn from(value: PartialVersionError) -> Self {
    method from (line 305) | fn from(value: NameValidationError) -> Self {
  type ErrorKind (line 313) | enum ErrorKind {
  function ok (line 347) | fn ok(spec: &str, expected: PackageIdSpec, expected_rendered: &str) {
  function good_parsing (line 369) | fn good_parsing() {
  function bad_parsing (line 737) | fn bad_parsing() {

FILE: crates/cargo-util-schemas/src/core/partial_version.rs
  type PartialVersion (line 7) | pub struct PartialVersion {
    method to_version (line 16) | pub fn to_version(&self) -> Option<Version> {
    method to_caret_req (line 26) | pub fn to_caret_req(&self) -> VersionReq {
    method matches (line 42) | pub fn matches(&self, version: &Version) -> bool {
    method from (line 61) | fn from(ver: semver::Version) -> Self {
    type Err (line 83) | type Err = PartialVersionError;
    method from_str (line 85) | fn from_str(value: &str) -> Result<Self, Self::Err> {
    method serialize (line 144) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    method deserialize (line 153) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  method fmt (line 124) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type PartialVersionError (line 167) | pub struct PartialVersionError(#[from] ErrorKind);
  type ErrorKind (line 172) | enum ErrorKind {
  function parse_success (line 193) | fn parse_success() {
  function parse_errors (line 211) | fn parse_errors() {

FILE: crates/cargo-util-schemas/src/core/source_kind.rs
  type SourceKind (line 5) | pub enum SourceKind {
    method hash (line 25) | fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
    method protocol (line 34) | pub fn protocol(&self) -> Option<&str> {
  method cmp (line 51) | fn cmp(&self, other: &SourceKind) -> Ordering {
  method partial_cmp (line 80) | fn partial_cmp(&self, other: &SourceKind) -> Option<Ordering> {
  type GitReference (line 87) | pub enum GitReference {
    method from_query (line 100) | pub fn from_query(
    method pretty_ref (line 120) | pub fn pretty_ref(&self, url_encoded: bool) -> Option<PrettyRef<'_>> {
  type PrettyRef (line 132) | pub struct PrettyRef<'a> {
  function fmt (line 138) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {

FILE: crates/cargo-util-schemas/src/index.rs
  type IndexPackage (line 9) | pub struct IndexPackage<'a> {
  type RegistryDependency (line 93) | pub struct RegistryDependency<'a> {
  function parse_pubtime (line 132) | pub fn parse_pubtime(s: &str) -> Result<jiff::Timestamp, jiff::Error> {
  function format_pubtime (line 145) | pub fn format_pubtime(t: jiff::Timestamp) -> String {
  function serialize (line 151) | pub(super) fn serialize<S: serde::Serializer>(
  function deserialize (line 165) | pub(super) fn deserialize<'de, D: serde::Deserializer<'de>>(
  type OptionalVisitor (line 176) | struct OptionalVisitor<V>(V);
  type Value (line 181) | type Value = Option<jiff::Timestamp>;
  function expecting (line 183) | fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Resu...
  function visit_some (line 188) | fn visit_some<D: serde::de::Deserializer<'de>>(
  function visit_none (line 196) | fn visit_none<E: serde::de::Error>(self) -> Result<Option<jiff::Timestam...
  function default_true (line 202) | fn default_true() -> bool {
  function escaped_char_in_index_json_blob (line 207) | fn escaped_char_in_index_json_blob() {
  function dump_index_schema (line 241) | fn dump_index_schema() {
  function pubtime_format (line 248) | fn pubtime_format() {

FILE: crates/cargo-util-schemas/src/lockfile.rs
  type TomlLockfile (line 15) | pub struct TomlLockfile {
  type TomlLockfileMetadata (line 44) | pub type TomlLockfileMetadata = BTreeMap<String, String>;
  type TomlLockfilePatch (line 51) | pub struct TomlLockfilePatch {
    method is_empty (line 57) | fn is_empty(&self) -> bool {
  type TomlLockfileDependency (line 65) | pub struct TomlLockfileDependency {
  type TomlLockfileSourceId (line 92) | pub struct TomlLockfileSourceId {
    method new (line 106) | pub fn new(source: String) -> Result<Self, TomlLockfileSourceIdError> {
    method kind (line 143) | pub fn kind(&self) -> &SourceKind {
    method url (line 147) | pub fn url(&self) -> &Url {
    method source_str (line 151) | pub fn source_str(&self) -> &String {
    method as_url (line 155) | pub fn as_url(&self) -> impl fmt::Display + '_ {
    method serialize (line 161) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
    method deserialize (line 170) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
    method hash (line 180) | fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
    method eq (line 187) | fn eq(&self, other: &Self) -> bool {
  method partial_cmp (line 195) | fn partial_cmp(&self, other: &TomlLockfileSourceId) -> Option<Ordering> {
  method cmp (line 201) | fn cmp(&self, other: &TomlLockfileSourceId) -> Ordering {
  type TomlLockfilePackageId (line 215) | pub struct TomlLockfilePackageId {
    method fmt (line 222) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method serialize (line 261) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
    method deserialize (line 270) | fn deserialize<D>(d: D) -> Result<TomlLockfilePackageId, D::Error>
  type Err (line 235) | type Err = TomlLockfilePackageIdError;
  method from_str (line 237) | fn from_str(s: &str) -> Result<TomlLockfilePackageId, Self::Err> {
  type TomlLockfileSourceIdError (line 284) | pub struct TomlLockfileSourceIdError(#[from] TomlLockfileSourceIdErrorKi...
  type TomlLockfileSourceIdErrorKind (line 288) | enum TomlLockfileSourceIdErrorKind {
  type TomlLockfilePackageIdError (line 301) | pub struct TomlLockfilePackageIdError(#[from] TomlLockfilePackageIdError...
    method from (line 304) | fn from(value: TomlLockfileSourceIdError) -> Self {
  type TomlLockfilePackageIdErrorKind (line 311) | enum TomlLockfilePackageIdErrorKind {
  function dump_lockfile_schema (line 321) | fn dump_lockfile_schema() {
  function ok (line 333) | fn ok(source_str: &str, source_kind: SourceKind, url: &str) {
  function good_sources (line 352) | fn good_sources() {
  function bad_sources (line 391) | fn bad_sources() {

FILE: crates/cargo-util-schemas/src/manifest/mod.rs
  type TomlManifest (line 37) | pub struct TomlManifest {
    method requires_package (line 73) | pub fn requires_package(&self) -> impl Iterator<Item = &'static str> {
    method has_profiles (line 95) | pub fn has_profiles(&self) -> bool {
    method package (line 99) | pub fn package(&self) -> Option<&Box<TomlPackage>> {
    method dev_dependencies (line 103) | pub fn dev_dependencies(&self) -> Option<&BTreeMap<PackageName, Inheri...
    method build_dependencies (line 109) | pub fn build_dependencies(&self) -> Option<&BTreeMap<PackageName, Inhe...
    method features (line 115) | pub fn features(&self) -> Option<&BTreeMap<FeatureName, Vec<String>>> {
    method normalized_lints (line 119) | pub fn normalized_lints(&self) -> Result<Option<&TomlLints>, Unresolve...
  type TomlWorkspace (line 127) | pub struct TomlWorkspace {
  type InheritablePackage (line 149) | pub struct InheritablePackage {
  type TomlPackage (line 179) | pub struct TomlPackage {
    method new (line 229) | pub fn new(name: PackageName) -> Self {
    method normalized_name (line 236) | pub fn normalized_name(&self) -> Result<&PackageName, UnresolvedError> {
    method normalized_edition (line 240) | pub fn normalized_edition(&self) -> Result<Option<&String>, Unresolved...
    method normalized_rust_version (line 244) | pub fn normalized_rust_version(&self) -> Result<Option<&RustVersion>, ...
    method normalized_version (line 251) | pub fn normalized_version(&self) -> Result<Option<&semver::Version>, U...
    method normalized_authors (line 255) | pub fn normalized_authors(&self) -> Result<Option<&Vec<String>>, Unres...
    method normalized_build (line 259) | pub fn normalized_build(&self) -> Result<Option<&[String]>, Unresolved...
    method normalized_exclude (line 269) | pub fn normalized_exclude(&self) -> Result<Option<&Vec<String>>, Unres...
    method normalized_include (line 273) | pub fn normalized_include(&self) -> Result<Option<&Vec<String>>, Unres...
    method normalized_publish (line 277) | pub fn normalized_publish(&self) -> Result<Option<&VecStringOrBool>, U...
    method normalized_description (line 281) | pub fn normalized_description(&self) -> Result<Option<&String>, Unreso...
    method normalized_homepage (line 288) | pub fn normalized_homepage(&self) -> Result<Option<&String>, Unresolve...
    method normalized_documentation (line 292) | pub fn normalized_documentation(&self) -> Result<Option<&String>, Unre...
    method normalized_readme (line 299) | pub fn normalized_readme(&self) -> Result<Option<&String>, UnresolvedE...
    method normalized_keywords (line 308) | pub fn normalized_keywords(&self) -> Result<Option<&Vec<String>>, Unre...
    method normalized_categories (line 312) | pub fn normalized_categories(&self) -> Result<Option<&Vec<String>>, Un...
    method normalized_license (line 316) | pub fn normalized_license(&self) -> Result<Option<&String>, Unresolved...
    method normalized_license_file (line 320) | pub fn normalized_license_file(&self) -> Result<Option<&String>, Unres...
    method normalized_repository (line 327) | pub fn normalized_repository(&self) -> Result<Option<&String>, Unresol...
  type InheritableField (line 336) | pub enum InheritableField<T> {
  function normalized (line 344) | pub fn normalized(&self) -> Result<&T, UnresolvedError> {
  function as_value (line 348) | pub fn as_value(&self) -> Option<&T> {
  function into_value (line 355) | pub fn into_value(self) -> Option<T> {
  function is_inherited (line 362) | pub fn is_inherited(&self) -> bool {
  type InheritableSemverVersion (line 368) | pub type InheritableSemverVersion = InheritableField<semver::Version>;
    method deserialize (line 370) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableString (line 387) | pub type InheritableString = InheritableField<String>;
    method deserialize (line 389) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableRustVersion (line 429) | pub type InheritableRustVersion = InheritableField<RustVersion>;
    method deserialize (line 431) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableVecString (line 472) | pub type InheritableVecString = InheritableField<Vec<String>>;
    method deserialize (line 474) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableStringOrBool (line 507) | pub type InheritableStringOrBool = InheritableField<StringOrBool>;
    method deserialize (line 509) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableVecStringOrBool (line 558) | pub type InheritableVecStringOrBool = InheritableField<VecStringOrBool>;
    method deserialize (line 560) | fn deserialize<D>(d: D) -> Result<Self, D::Error>
  type InheritableBtreeMap (line 602) | pub type InheritableBtreeMap = InheritableField<BTreeMap<String, BTreeMa...
    method deserialize (line 605) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type TomlInheritedField (line 624) | pub struct TomlInheritedField {
    method new (line 629) | pub fn new() -> Self {
  method default (line 637) | fn default() -> Self {
  type WorkspaceValue (line 646) | struct WorkspaceValue;
    type Error (line 649) | type Error = String;
    method try_from (line 650) | fn try_from(other: bool) -> Result<WorkspaceValue, Self::Error> {
  function from (line 660) | fn from(_: WorkspaceValue) -> bool {
  type InheritableDependency (line 668) | pub enum InheritableDependency {
    method unused_keys (line 676) | pub fn unused_keys(&self) -> Vec<String> {
    method normalized (line 683) | pub fn normalized(&self) -> Result<&TomlDependency, UnresolvedError> {
    method is_inherited (line 690) | pub fn is_inherited(&self) -> bool {
    method deserialize (line 696) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type TomlInheritedDependency (line 720) | pub struct TomlInheritedDependency {
    method default_features (line 737) | pub fn default_features(&self) -> Option<bool> {
  type TomlDependency (line 745) | pub enum TomlDependency<P: Clone = String> {
    method is_version_specified (line 756) | pub fn is_version_specified(&self) -> bool {
    method is_optional (line 763) | pub fn is_optional(&self) -> bool {
    method is_public (line 770) | pub fn is_public(&self) -> bool {
    method default_features (line 777) | pub fn default_features(&self) -> Option<bool> {
    method unused_keys (line 784) | pub fn unused_keys(&self) -> Vec<String> {
  function deserialize (line 793) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type TomlDetailedDependency (line 825) | pub struct TomlDetailedDependency<P: Clone = String> {
  function default_features (line 870) | pub fn default_features(&self) -> Option<bool> {
  method default (line 877) | fn default() -> Self {
  type TomlProfiles (line 904) | pub struct TomlProfiles(pub BTreeMap<ProfileName, TomlProfile>);
    method get_all (line 907) | pub fn get_all(&self) -> &BTreeMap<ProfileName, TomlProfile> {
    method get (line 911) | pub fn get(&self, name: &str) -> Option<&TomlProfile> {
  type TomlProfile (line 919) | pub struct TomlProfile {
    method merge (line 948) | pub fn merge(&mut self, profile: &Self) {
  type ProfilePackageSpec (line 1044) | pub enum ProfilePackageSpec {
    method fmt (line 1050) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method serialize (line 1059) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
    method deserialize (line 1068) | fn deserialize<D>(d: D) -> Result<ProfilePackageSpec, D::Error>
  type TomlOptLevel (line 1085) | pub struct TomlOptLevel(pub String);
    method serialize (line 1088) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    method deserialize (line 1100) | fn deserialize<D>(d: D) -> Result<TomlOptLevel, D::Error>
  type TomlDebugInfo (line 1125) | pub enum TomlDebugInfo {
    method serialize (line 1146) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    method deserialize (line 1161) | fn deserialize<D>(d: D) -> Result<TomlDebugInfo, D::Error>
  method fmt (line 1134) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type TomlTrimPaths (line 1213) | pub enum TomlTrimPaths {
    method none (line 1219) | pub fn none() -> Self {
    method is_none (line 1223) | pub fn is_none(&self) -> bool {
    method deserialize (line 1232) | fn deserialize<D>(d: D) -> Result<TomlTrimPaths, D::Error>
    method fmt (line 1273) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method from (line 1292) | fn from(value: TomlTrimPathsValue) -> Self {
    method from (line 1298) | fn from(value: Vec<TomlTrimPathsValue>) -> Self {
  type TomlTrimPathsValue (line 1306) | pub enum TomlTrimPathsValue {
    method as_str (line 1313) | pub fn as_str(&self) -> &'static str {
    method fmt (line 1323) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type TomlLibTarget (line 1328) | pub type TomlLibTarget = TomlTarget;
  type TomlBinTarget (line 1329) | pub type TomlBinTarget = TomlTarget;
  type TomlExampleTarget (line 1330) | pub type TomlExampleTarget = TomlTarget;
  type TomlTestTarget (line 1331) | pub type TomlTestTarget = TomlTarget;
  type TomlBenchTarget (line 1332) | pub type TomlBenchTarget = TomlTarget;
  type TomlTarget (line 1337) | pub struct TomlTarget {
    method new (line 1364) | pub fn new() -> TomlTarget {
    method proc_macro (line 1368) | pub fn proc_macro(&self) -> Option<bool> {
    method crate_types (line 1379) | pub fn crate_types(&self) -> Option<&Vec<String>> {
  function new (line 1450) | pub fn new(name: T) -> Result<Self, NameValidationError> {
  method sanitize (line 1460) | pub fn sanitize(name: impl AsRef<str>, placeholder: char) -> Self {
  function new (line 1472) | pub fn new(name: T) -> Result<Self, NameValidationError> {
  function new (line 1482) | pub fn new(name: T) -> Result<Self, NameValidationError> {
  function new (line 1492) | pub fn new(name: T) -> Result<Self, NameValidationError> {
  function new (line 1502) | pub fn new(name: T) -> Result<Self, NameValidationError> {
  type TomlPlatform (line 1512) | pub struct TomlPlatform {
    method dev_dependencies (line 1523) | pub fn dev_dependencies(&self) -> Option<&BTreeMap<PackageName, Inheri...
    method build_dependencies (line 1529) | pub fn build_dependencies(&self) -> Option<&BTreeMap<PackageName, Inhe...
  type InheritableLints (line 1538) | pub struct InheritableLints {
    method normalized (line 1547) | pub fn normalized(&self) -> Result<&TomlLints, UnresolvedError> {
    method deserialize (line 1557) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type TomlLints (line 1604) | pub type TomlLints = BTreeMap<String, TomlToolLints>;
  type TomlToolLints (line 1606) | pub type TomlToolLints = BTreeMap<String, TomlLint>;
  type TomlLint (line 1611) | pub enum TomlLint {
    method deserialize (line 1617) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    method level (line 1631) | pub fn level(&self) -> TomlLintLevel {
    method priority (line 1638) | pub fn priority(&self) -> i8 {
    method config (line 1645) | pub fn config(&self) -> Option<&toml::Table> {
  type TomlLintConfig (line 1656) | pub struct TomlLintConfig {
  type TomlLintLevel (line 1671) | pub enum TomlLintLevel {
  type Hints (line 1681) | pub struct Hints {
  type InvalidCargoFeatures (line 1690) | pub struct InvalidCargoFeatures {}
    method deserialize (line 1693) | fn deserialize<D>(_d: D) -> Result<Self, D::Error>
  type StringOrVec (line 1709) | pub struct StringOrVec(pub Vec<String>);
    method iter (line 1712) | pub fn iter<'a>(&'a self) -> std::slice::Iter<'a, String> {
    method deserialize (line 1718) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type StringOrBool (line 1733) | pub enum StringOrBool {
    method deserialize (line 1739) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type TomlPackageBuild (line 1753) | pub enum TomlPackageBuild {
    method deserialize (line 1766) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type VecStringOrBool (line 1781) | pub enum VecStringOrBool {
    method deserialize (line 1787) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type PathValue (line 1800) | pub struct PathValue(pub PathBuf);
    method fmt (line 1803) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method serialize (line 1809) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    method deserialize (line 1818) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type UnresolvedError (line 1831) | pub struct UnresolvedError;
  function dump_manifest_schema (line 1835) | fn dump_manifest_schema() {

FILE: crates/cargo-util-schemas/src/manifest/rust_version.rs
  type RustVersion (line 10) | pub struct RustVersion {
    method new (line 17) | pub const fn new(major: u64, minor: u64, patch: u64) -> Self {
    method is_compatible_with (line 25) | pub fn is_compatible_with(&self, rustc: &PartialVersion) -> bool {
    method to_partial (line 38) | pub fn to_partial(&self) -> PartialVersion {
    type Err (line 55) | type Err = RustVersionError;
    method from_str (line 57) | fn from_str(value: &str) -> Result<Self, Self::Err> {
    type Error (line 65) | type Error = RustVersionError;
    method try_from (line 67) | fn try_from(version: semver::Version) -> Result<Self, Self::Error> {
    type Error (line 74) | type Error = RustVersionError;
    method try_from (line 76) | fn try_from(partial: PartialVersion) -> Result<Self, Self::Error> {
    method serialize (line 99) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    method deserialize (line 108) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  method fmt (line 120) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type RustVersionError (line 128) | pub struct RustVersionError(#[from] RustVersionErrorKind);
  type RustVersionErrorKind (line 133) | enum RustVersionErrorKind {
  function is_compatible_with_rustc (line 151) | fn is_compatible_with_rustc() {
  function is_compatible_with_workspace_msrv (line 177) | fn is_compatible_with_workspace_msrv() {
  function parse_errors (line 215) | fn parse_errors() {

FILE: crates/cargo-util-schemas/src/messages.rs
  type PackageList (line 9) | pub struct PackageList {
  type PackageFile (line 19) | pub enum PackageFile {

FILE: crates/cargo-util-schemas/src/restricted_names.rs
  type Result (line 3) | type Result<T> = std::result::Result<T, NameValidationError>;
  type NameValidationError (line 8) | pub struct NameValidationError(#[from] ErrorKind);
  type ErrorKind (line 13) | enum ErrorKind {
  function validate_package_name (line 36) | pub(crate) fn validate_package_name(name: &str) -> Result<()> {
  function validate_registry_name (line 43) | pub(crate) fn validate_registry_name(name: &str) -> Result<()> {
  function validate_name (line 47) | pub(crate) fn validate_name(name: &str, what: &'static str) -> Result<()> {
  function sanitize_package_name (line 91) | pub(crate) fn sanitize_package_name(name: &str, placeholder: char) -> St...
  function sanitize_name (line 102) | pub(crate) fn sanitize_name(name: &str, placeholder: char) -> String {
  function validate_profile_name (line 125) | pub(crate) fn validate_profile_name(name: &str) -> Result<()> {
  function validate_feature_name (line 195) | pub(crate) fn validate_feature_name(name: &str) -> Result<()> {
  function validate_path_base_name (line 241) | pub(crate) fn validate_path_base_name(name: &str) -> Result<()> {
  function valid_feature_names (line 250) | fn valid_feature_names() {

FILE: crates/cargo-util-schemas/src/schema.rs
  type TomlValueWrapper (line 8) | pub struct TomlValueWrapper(pub TomlValue);
  method schema_name (line 11) | fn schema_name() -> std::borrow::Cow<'static, str> {
  method json_schema (line 15) | fn json_schema(generator: &mut schemars::SchemaGenerator) -> schemars::S...

FILE: crates/cargo-util/src/du.rs
  function du (line 21) | pub fn du(path: &Path, patterns: &[&str]) -> Result<u64> {
  function du_inner (line 25) | fn du_inner(path: &Path, patterns: &[&str]) -> Result<u64> {

FILE: crates/cargo-util/src/lib.rs
  function is_ci (line 24) | pub fn is_ci() -> bool {

FILE: crates/cargo-util/src/paths.rs
  function join_paths (line 20) | pub fn join_paths<T: AsRef<OsStr>>(paths: &[T], env: &str) -> Result<OsS...
  function dylib_path_envvar (line 38) | pub fn dylib_path_envvar() -> &'static str {
  function dylib_path (line 69) | pub fn dylib_path() -> Vec<PathBuf> {
  function normalize_path (line 84) | pub fn normalize_path(path: &Path) -> PathBuf {
  function resolve_executable (line 122) | pub fn resolve_executable(exec: &Path) -> Result<PathBuf> {
  function metadata (line 149) | pub fn metadata<P: AsRef<Path>>(path: P) -> Result<Metadata> {
  function symlink_metadata (line 158) | pub fn symlink_metadata<P: AsRef<Path>>(path: P) -> Result<Metadata> {
  function read (line 167) | pub fn read(path: &Path) -> Result<String> {
  function read_bytes (line 177) | pub fn read_bytes(path: &Path) -> Result<Vec<u8>> {
  function write (line 184) | pub fn write<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C) -> Re...
  function write_atomic (line 194) | pub fn write_atomic<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C...
  function write_if_changed (line 240) | pub fn write_if_changed<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, content...
  function append (line 263) | pub fn append(path: &Path, contents: &[u8]) -> Result<()> {
  function create (line 279) | pub fn create<P: AsRef<Path>>(path: P) -> Result<File> {
  function open (line 285) | pub fn open<P: AsRef<Path>>(path: P) -> Result<File> {
  function mtime (line 291) | pub fn mtime(path: &Path) -> Result<FileTime> {
  function mtime_recursive (line 298) | pub fn mtime_recursive(path: &Path) -> Result<FileTime> {
  function set_invocation_time (line 379) | pub fn set_invocation_time(path: &Path) -> Result<FileTime> {
  function path2bytes (line 393) | pub fn path2bytes(path: &Path) -> Result<&[u8]> {
  function bytes2path (line 412) | pub fn bytes2path(bytes: &[u8]) -> Result<PathBuf> {
  function ancestors (line 433) | pub fn ancestors<'a>(path: &'a Path, stop_root_at: Option<&Path>) -> Pat...
  type PathAncestors (line 437) | pub struct PathAncestors<'a> {
  function new (line 443) | fn new(path: &'a Path, stop_root_at: Option<&Path>) -> PathAncestors<'a> {
  type Item (line 457) | type Item = &'a Path;
  method next (line 459) | fn next(&mut self) -> Option<&'a Path> {
  function create_dir_all (line 477) | pub fn create_dir_all(p: impl AsRef<Path>) -> Result<()> {
  function _create_dir_all (line 481) | fn _create_dir_all(p: &Path) -> Result<()> {
  function remove_dir_all (line 490) | pub fn remove_dir_all<P: AsRef<Path>>(p: P) -> Result<()> {
  function _remove_dir_all (line 505) | fn _remove_dir_all(p: &Path) -> Result<()> {
  function remove_dir (line 525) | pub fn remove_dir<P: AsRef<Path>>(p: P) -> Result<()> {
  function _remove_dir (line 529) | fn _remove_dir(p: &Path) -> Result<()> {
  function remove_file (line 540) | pub fn remove_file<P: AsRef<Path>>(p: P) -> Result<()> {
  function _remove_file (line 544) | fn _remove_file(p: &Path) -> Result<()> {
  function remove_symlink_dir_with_permission_check (line 562) | fn remove_symlink_dir_with_permission_check(p: &Path) -> Result<()> {
  function remove_file_with_permission_check (line 567) | fn remove_file_with_permission_check(p: &Path) -> Result<()> {
  function remove_with_permission_check (line 572) | fn remove_with_permission_check<F, P>(remove_func: F, p: P) -> io::Resul...
  function set_not_readonly (line 591) | fn set_not_readonly(p: &Path) -> io::Result<bool> {
  function link_or_copy (line 604) | pub fn link_or_copy(src: impl AsRef<Path>, dst: impl AsRef<Path>) -> Res...
  function _link_or_copy (line 610) | fn _link_or_copy(src: &Path, dst: &Path) -> Result<()> {
  function copy (line 692) | pub fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<u6...
  function set_file_time_no_err (line 704) | pub fn set_file_time_no_err<P: AsRef<Path>>(path: P, time: FileTime) {
  function strip_prefix_canonical (line 722) | pub fn strip_prefix_canonical(
  function create_dir_all_excluded_from_backups_atomic (line 746) | pub fn create_dir_all_excluded_from_backups_atomic(p: impl AsRef<Path>) ...
  function exclude_from_backups_and_indexing (line 787) | pub fn exclude_from_backups_and_indexing(p: impl AsRef<Path>) {
  function exclude_from_backups (line 800) | fn exclude_from_backups(path: &Path) {
  function exclude_from_content_indexing (line 822) | fn exclude_from_content_indexing(path: &Path) {
  function exclude_from_time_machine_and_cloud_sync (line 846) | fn exclude_from_time_machine_and_cloud_sync(_: &Path) {}
  function exclude_from_time_machine_and_cloud_sync (line 850) | fn exclude_from_time_machine_and_cloud_sync(path: &Path) {
  function test_normalize_path (line 892) | fn test_normalize_path() {
  function write_works (line 925) | fn write_works() {
  function write_atomic_works (line 935) | fn write_atomic_works() {
  function write_atomic_permissions (line 947) | fn write_atomic_permissions() {
  function join_paths_lists_paths_on_error (line 972) | fn join_paths_lists_paths_on_error() {
  function write_atomic_symlink (line 1008) | fn write_atomic_symlink() {
  function test_remove_symlink_dir (line 1036) | fn test_remove_symlink_dir() {
  function test_remove_symlink_file (line 1059) | fn test_remove_symlink_file() {

FILE: crates/cargo-util/src/process_builder.rs
  type ProcessBuilder (line 20) | pub struct ProcessBuilder {
    method fmt (line 49) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method new (line 77) | pub fn new<T: AsRef<OsStr>>(cmd: T) -> ProcessBuilder {
    method program (line 93) | pub fn program<T: AsRef<OsStr>>(&mut self, program: T) -> &mut Process...
    method arg0 (line 99) | pub fn arg0<T: AsRef<OsStr>>(&mut self, arg: T) -> &mut ProcessBuilder {
    method arg (line 105) | pub fn arg<T: AsRef<OsStr>>(&mut self, arg: T) -> &mut ProcessBuilder {
    method args (line 111) | pub fn args<T: AsRef<OsStr>>(&mut self, args: &[T]) -> &mut ProcessBui...
    method args_replace (line 118) | pub fn args_replace<T: AsRef<OsStr>>(&mut self, args: &[T]) -> &mut Pr...
    method cwd (line 131) | pub fn cwd<T: AsRef<OsStr>>(&mut self, path: T) -> &mut ProcessBuilder {
    method env (line 137) | pub fn env<T: AsRef<OsStr>>(&mut self, key: &str, val: T) -> &mut Proc...
    method env_remove (line 144) | pub fn env_remove(&mut self, key: &str) -> &mut ProcessBuilder {
    method get_program (line 150) | pub fn get_program(&self) -> &OsString {
    method get_arg0 (line 155) | pub fn get_arg0(&self) -> Option<&OsStr> {
    method get_args (line 160) | pub fn get_args(&self) -> impl Iterator<Item = &OsString> {
    method get_cwd (line 170) | pub fn get_cwd(&self) -> Option<&Path> {
    method get_env (line 176) | pub fn get_env(&self, var: &str) -> Option<OsString> {
    method get_envs (line 186) | pub fn get_envs(&self) -> &BTreeMap<String, Option<OsString>> {
    method inherit_jobserver (line 194) | pub fn inherit_jobserver(&mut self, jobserver: &Client) -> &mut Self {
    method display_env_vars (line 200) | pub fn display_env_vars(&mut self) -> &mut Self {
    method retry_with_argfile (line 222) | pub fn retry_with_argfile(&mut self, enabled: bool) -> &mut Self {
    method stdin (line 228) | pub fn stdin<T: Into<Vec<u8>>>(&mut self, stdin: T) -> &mut Self {
    method should_retry_with_argfile (line 233) | fn should_retry_with_argfile(&self, err: &io::Error) -> bool {
    method status (line 238) | pub fn status(&self) -> Result<ExitStatus> {
    method _status (line 243) | fn _status(&self) -> io::Result<ExitStatus> {
    method exec (line 259) | pub fn exec(&self) -> Result<()> {
    method exec_replace (line 288) | pub fn exec_replace(&self) -> Result<()> {
    method output (line 293) | pub fn output(&self) -> Result<Output> {
    method _output (line 298) | fn _output(&self) -> io::Result<Output> {
    method exec_with_output (line 323) | pub fn exec_with_output(&self) -> Result<Output> {
    method exec_with_streaming (line 346) | pub fn exec_with_streaming(
    method build_command_with_argfile (line 455) | fn build_command_with_argfile(&self) -> io::Result<(Command, NamedTemp...
    method build_command_without_args (line 493) | fn build_command_without_args(&self) -> Command {
    method build_command (line 529) | pub fn build_command(&self) -> Command {
    method wrapped (line 549) | pub fn wrapped(mut self, wrapper: Option<impl AsRef<OsStr>>) -> Self {
  function debug_force_argfile (line 563) | fn debug_force_argfile(retry_enabled: bool) -> bool {
  function piped (line 568) | fn piped(cmd: &mut Command, pipe_stdin: bool) -> &mut Command {
  function close_tempfile_and_log_error (line 578) | fn close_tempfile_and_log_error(file: NamedTempFile) {
  function exec_replace (line 591) | pub fn exec_replace(process_builder: &ProcessBuilder) -> Result<()> {
  function command_line_too_big (line 618) | pub fn command_line_too_big(err: &io::Error) -> bool {
  function ctrlc_handler (line 632) | unsafe extern "system" fn ctrlc_handler(_: u32) -> BOOL {
  function exec_replace (line 637) | pub fn exec_replace(process_builder: &ProcessBuilder) -> Result<()> {
  function command_line_too_big (line 648) | pub fn command_line_too_big(err: &io::Error) -> bool {
  function argfile_build_succeeds (line 660) | fn argfile_build_succeeds() {
  function argfile_build_fails_if_arg_contains_newline (line 676) | fn argfile_build_fails_if_arg_contains_newline() {
  function argfile_build_fails_if_arg_contains_invalid_utf8 (line 687) | fn argfile_build_fails_if_arg_contains_invalid_utf8() {

FILE: crates/cargo-util/src/process_error.rs
  type ProcessError (line 8) | pub struct ProcessError {
    method fmt (line 33) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method new (line 45) | pub fn new(msg: &str, status: Option<ExitStatus>, output: Option<&Outp...
    method new_raw (line 63) | pub fn new_raw(
    method could_not_execute (line 102) | pub fn could_not_execute(cmd: impl fmt::Display) -> ProcessError {
  function exit_status_to_string (line 109) | pub fn exit_status_to_string(status: ExitStatus) -> String {
  function is_simple_exit_code (line 191) | pub fn is_simple_exit_code(code: i32) -> bool {

FILE: crates/cargo-util/src/read2.rs
  function set_nonblock (line 12) | fn set_nonblock(fd: c_int) -> io::Result<()> {
  function read2 (line 20) | pub fn read2(
  type Pipe (line 96) | struct Pipe<'a> {
  function read2 (line 103) | pub fn read2(
  function new (line 143) | unsafe fn new<P: IntoRawHandle>(p: P, dst: &'a mut Vec<u8>) -> Pipe<'a> {
  function read (line 154) | unsafe fn read(&mut self) -> io::Result<()> {
  function complete (line 171) | unsafe fn complete(&mut self, status: &CompletionStatus) {
  function slice_to_end (line 180) | unsafe fn slice_to_end(v: &mut Vec<u8>) -> &mut [u8] {

FILE: crates/cargo-util/src/registry.rs
  function make_dep_path (line 14) | pub fn make_dep_path(dep_name: &str, prefix_only: bool) -> String {
  function prefix_only (line 33) | fn prefix_only() {
  function full (line 43) | fn full() {

FILE: crates/cargo-util/src/sha256.rs
  type Sha256 (line 8) | pub struct Sha256(Sha2_sha256);
    method new (line 11) | pub fn new() -> Sha256 {
    method update (line 16) | pub fn update(&mut self, bytes: &[u8]) -> &mut Sha256 {
    method update_file (line 21) | pub fn update_file(&mut self, mut file: &File) -> io::Result<&mut Sha2...
    method update_path (line 32) | pub fn update_path<P: AsRef<Path>>(&mut self, path: P) -> Result<&mut ...
    method finish (line 40) | pub fn finish(&mut self) -> [u8; 32] {
    method finish_hex (line 44) | pub fn finish_hex(&mut self) -> String {
  method default (line 50) | fn default() -> Self {

FILE: crates/crates-io/lib.rs
  type Result (line 15) | pub type Result<T> = std::result::Result<T, Error>;
  type Registry (line 17) | pub struct Registry {
    method new_handle (line 211) | pub fn new_handle(
    method set_token (line 225) | pub fn set_token(&mut self, token: Option<String>) {
    method token (line 229) | fn token(&self) -> Result<&str> {
    method host (line 237) | pub fn host(&self) -> &str {
    method host_is_crates_io (line 241) | pub fn host_is_crates_io(&self) -> bool {
    method add_owners (line 245) | pub fn add_owners(&mut self, krate: &str, owners: &[&str]) -> Result<S...
    method remove_owners (line 252) | pub fn remove_owners(&mut self, krate: &str, owners: &[&str]) -> Resul...
    method list_owners (line 259) | pub fn list_owners(&mut self, krate: &str) -> Result<Vec<User>> {
    method publish (line 264) | pub fn publish(&mut self, krate: &NewCrate, mut tarball: &File) -> Res...
    method search (line 348) | pub fn search(&mut self, query: &str, limit: u32) -> Result<(Vec<Crate...
    method yank (line 360) | pub fn yank(&mut self, krate: &str, version: &str) -> Result<()> {
    method unyank (line 366) | pub fn unyank(&mut self, krate: &str, version: &str) -> Result<()> {
    method put (line 372) | fn put(&mut self, path: &str, b: &[u8]) -> Result<String> {
    method get (line 377) | fn get(&mut self, path: &str) -> Result<String> {
    method delete (line 382) | fn delete(&mut self, path: &str, b: Option<&[u8]>) -> Result<String> {
    method req (line 387) | fn req(&mut self, path: &str, body: Option<&[u8]>, authorized: Auth) -...
    method handle (line 410) | fn handle(&mut self, read: &mut dyn FnMut(&mut [u8]) -> usize) -> Resu...
  type Auth (line 30) | pub enum Auth {
  type Crate (line 36) | pub struct Crate {
  type NewCrate (line 47) | pub struct NewCrate {
  type NewCrateDependency (line 69) | pub struct NewCrateDependency {
  type User (line 90) | pub struct User {
  type Warnings (line 98) | pub struct Warnings {
  type R (line 105) | struct R {
  type OwnerResponse (line 109) | struct OwnerResponse {
  type ApiErrorList (line 114) | struct ApiErrorList {
  type ApiError (line 118) | struct ApiError {
  type OwnersReq (line 122) | struct OwnersReq<'a> {
  type Users (line 126) | struct Users {
  type TotalCrates (line 130) | struct TotalCrates {
  type Crates (line 134) | struct Crates {
  type Error (line 141) | pub enum Error {
  function is_success (line 456) | fn is_success(code: u32) -> bool {
  function status (line 460) | fn status(code: u32) -> String {
  function reason (line 469) | fn reason(code: u32) -> &'static str {
  function is_url_crates_io (line 519) | pub fn is_url_crates_io(url: &str) -> bool {
  function check_token (line 530) | pub fn check_token(token: &str) -> Result<()> {

FILE: crates/home/src/env.rs
  type Env (line 11) | pub trait Env {
    method home_dir (line 14) | fn home_dir(&self) -> Option<PathBuf>;
    method current_dir (line 16) | fn current_dir(&self) -> io::Result<PathBuf>;
    method var_os (line 18) | fn var_os(&self, key: &str) -> Option<OsString>;
    method home_dir (line 32) | fn home_dir(&self) -> Option<PathBuf> {
    method current_dir (line 35) | fn current_dir(&self) -> io::Result<PathBuf> {
    method var_os (line 38) | fn var_os(&self, key: &str) -> Option<OsString> {
  type OsEnv (line 30) | pub struct OsEnv;
  constant OS_ENV (line 43) | pub const OS_ENV: OsEnv = OsEnv {};
  function home_dir_with_env (line 46) | pub fn home_dir_with_env(env: &dyn Env) -> Option<PathBuf> {
  function cargo_home_with_env (line 56) | pub fn cargo_home_with_env(env: &dyn Env) -> io::Result<PathBuf> {
  function cargo_home_with_cwd_env (line 67) | pub fn cargo_home_with_cwd_env(env: &dyn Env, cwd: &Path) -> io::Result<...
  function rustup_home_with_env (line 89) | pub fn rustup_home_with_env(env: &dyn Env) -> io::Result<PathBuf> {
  function rustup_home_with_cwd_env (line 100) | pub fn rustup_home_with_cwd_env(env: &dyn Env, cwd: &Path) -> io::Result...

FILE: crates/home/src/lib.rs
  function home_dir (line 65) | pub fn home_dir() -> Option<PathBuf> {
  function home_dir_inner (line 73) | fn home_dir_inner() -> Option<PathBuf> {
  function cargo_home (line 105) | pub fn cargo_home() -> io::Result<PathBuf> {
  function cargo_home_with_cwd (line 111) | pub fn cargo_home_with_cwd(cwd: &Path) -> io::Result<PathBuf> {
  function rustup_home (line 142) | pub fn rustup_home() -> io::Result<PathBuf> {
  function rustup_home_with_cwd (line 148) | pub fn rustup_home_with_cwd(cwd: &Path) -> io::Result<PathBuf> {

FILE: crates/home/src/windows.rs
  function home_dir_inner (line 12) | pub fn home_dir_inner() -> Option<PathBuf> {
  function home_dir_crt (line 20) | fn home_dir_crt() -> Option<PathBuf> {
  function home_dir_crt (line 45) | fn home_dir_crt() -> Option<PathBuf> {
  function wcslen (line 50) | fn wcslen(buf: *const u16) -> usize;
  function test_with_without (line 62) | fn test_with_without() {

FILE: crates/mdman/src/format/man.rs
  type ManFormatter (line 10) | pub struct ManFormatter {
    method new (line 15) | pub fn new(url: Option<Url>) -> ManFormatter {
    method render (line 21) | fn render(&self, input: &str) -> Result<String, Error> {
    method render_options_start (line 25) | fn render_options_start(&self) -> &'static str {
    method render_options_end (line 31) | fn render_options_end(&self) -> &'static str {
    method render_option (line 35) | fn render_option(
    method linkify_man_to_md (line 59) | fn linkify_man_to_md(&self, name: &str, section: u8) -> Result<String,...
  type Font (line 65) | enum Font {
    method str_from_stack (line 71) | fn str_from_stack(font_stack: &[Font]) -> &'static str {
  type ManRenderer (line 83) | struct ManRenderer<'e> {
  function render (line 90) | fn render(input: &str, url: Option<Url>) -> Result<String, Error> {
  function push_man (line 102) | fn push_man(&mut self) -> Result<(), Error> {
  function flush (line 382) | fn flush(&mut self) {
  function push_font (line 393) | fn push_font(&mut self, font: Font) {
  function pop_font (line 398) | fn pop_font(&mut self) {
  function push_top_header (line 404) | fn push_top_header(&mut self) -> Result<(), Error> {
  function escape (line 431) | fn escape(s: &str) -> Result<String, Error> {

FILE: crates/mdman/src/format/md.rs
  type MdFormatter (line 8) | pub struct MdFormatter {
    method new (line 13) | pub fn new(man_map: ManMap) -> MdFormatter {
    method render_html (line 19) | fn render_html(&self, input: &str) -> Result<String, Error> {
    method render (line 28) | fn render(&self, input: &str) -> Result<String, Error> {
    method render_options_start (line 32) | fn render_options_start(&self) -> &'static str {
    method render_options_end (line 36) | fn render_options_end(&self) -> &'static str {
    method render_option (line 40) | fn render_option(&self, params: &[&str], block: &str, man_name: &str) ...
    method linkify_man_to_md (line 73) | fn linkify_man_to_md(&self, name: &str, section: u8) -> Result<String,...
  function trim_tags (line 82) | fn trim_tags(s: &str) -> String {

FILE: crates/mdman/src/format/mod.rs
  type Formatter (line 7) | pub trait Formatter {
    method render (line 9) | fn render(&self, input: &str) -> Result<String, Error>;
    method render_options_start (line 11) | fn render_options_start(&self) -> &'static str;
    method render_options_end (line 13) | fn render_options_end(&self) -> &'static str;
    method render_option (line 15) | fn render_option(&self, params: &[&str], block: &str, man_name: &str) ...
    method linkify_man_to_md (line 19) | fn linkify_man_to_md(&self, name: &str, section: u8) -> Result<String,...

FILE: crates/mdman/src/format/text.rs
  type TextFormatter (line 11) | pub struct TextFormatter {
    method new (line 16) | pub fn new(url: Option<Url>) -> TextFormatter {
    method render (line 22) | fn render(&self, input: &str) -> Result<String, Error> {
    method render_options_start (line 26) | fn render_options_start(&self) -> &'static str {
    method render_options_end (line 32) | fn render_options_end(&self) -> &'static str {
    method render_option (line 36) | fn render_option(
    method linkify_man_to_md (line 55) | fn linkify_man_to_md(&self, name: &str, section: u8) -> Result<String,...
  type TextRenderer (line 60) | struct TextRenderer<'e> {
  function render (line 77) | fn render(input: &str, url: Option<Url>, indent: usize) -> Result<String...
  function push_md (line 93) | fn push_md(&mut self) -> Result<(), Error> {
  function flush (line 373) | fn flush(&mut self) {
  function hard_break (line 382) | fn hard_break(&mut self) {
  function flush_word (line 389) | fn flush_word(&mut self) {
  function push_indent (line 408) | fn push_indent(&mut self, indent: usize) {
  function push_to_line (line 414) | fn push_to_line(&mut self, text: &str) {
  function split_chunks (line 424) | fn split_chunks(text: &str) -> Vec<&str> {
  type Table (line 453) | struct Table {
    method new (line 461) | fn new() -> Table {
    method process (line 471) | fn process(&mut self, parser: &mut EventIter<'_>, indent: usize) -> Re...
    method render (line 508) | fn render(&self, indent: usize) -> Result<String, Error> {
  function fill_row (line 581) | fn fill_row(row: &[String], col_widths: &[usize], alignment: &[Alignment...
  function fill_cell (line 601) | fn fill_cell(text: &str, width: usize, alignment: Alignment) -> Vec<Stri...

FILE: crates/mdman/src/hbs.rs
  type FormatterRef (line 14) | type FormatterRef<'a> = &'a (dyn Formatter + Send + Sync);
  function expand (line 17) | pub fn expand(file: &Path, formatter: FormatterRef<'_>) -> Result<String...
  type OptionsHelper (line 42) | struct OptionsHelper<'a> {
  method call (line 47) | fn call<'reg: 'rc, 'rc>(
  function in_options (line 84) | fn in_options(rc: &RenderContext<'_, '_>) -> bool {
  type OptionHelper (line 90) | struct OptionHelper<'a> {
  method call (line 95) | fn call<'reg: 'rc, 'rc>(
  type ManLinkHelper (line 161) | struct ManLinkHelper<'a> {
  method call (line 166) | fn call<'reg: 'rc, 'rc>(
  function set_decorator (line 200) | fn set_decorator(
  function set_in_context (line 214) | fn set_in_context(rc: &mut RenderContext<'_, '_>, key: &str, value: serd...
  function remove_from_context (line 228) | fn remove_from_context(rc: &mut RenderContext<'_, '_>, key: &str) {

FILE: crates/mdman/src/lib.rs
  type ManMap (line 23) | pub type ManMap = HashMap<(String, u8), String>;
  type Section (line 26) | pub type Section = u8;
  type Format (line 30) | pub enum Format {
    method extension (line 38) | pub fn extension(&self, section: Section) -> String {
  function convert (line 49) | pub fn convert(
  type EventIter (line 68) | type EventIter<'a> = Box<dyn Iterator<Item = (Event<'a>, Range<usize>)> ...
  function md_parser (line 71) | pub(crate) fn md_parser(input: &str, url: Option<Url>) -> EventIter<'_> {
  function join_url (line 101) | fn join_url<'a>(base: Option<&Url>, dest: CowStr<'a>) -> CowStr<'a> {
  function extract_section (line 118) | pub fn extract_section(file: &Path) -> Result<Section, Error> {

FILE: crates/mdman/src/main.rs
  type Options (line 10) | struct Options {
  function main (line 18) | fn main() {
  function run (line 35) | fn run() -> Result<(), Error> {
  function process_args (line 62) | fn process_args() -> Result<Options, Error> {

FILE: crates/mdman/src/util.rs
  function parse_name_and_section (line 7) | pub fn parse_name_and_section(text: &str) -> Result<(&str, u8), Error> {
  function header_text (line 28) | pub fn header_text<'e>(parser: &mut EventIter<'e>) -> Result<CowStr<'e>,...
  function unwrap (line 42) | pub fn unwrap<'t>(text: &'t str, front: &str, back: &str) -> &'t str {

FILE: crates/mdman/tests/compare.rs
  function run (line 8) | fn run(name: &str) {

FILE: crates/mdman/tests/invalid.rs
  function run (line 8) | fn run(name: &str, expected_error: impl IntoData) {

FILE: crates/resolver-tests/src/helpers.rs
  type ToDep (line 9) | pub trait ToDep {
    method to_dep (line 10) | fn to_dep(self) -> Dependency;
    method opt (line 11) | fn opt(self) -> Dependency;
    method with (line 12) | fn with(self, features: &[&'static str]) -> Dependency;
    method with_default (line 13) | fn with_default(self) -> Dependency;
    method rename (line 14) | fn rename(self, name: &str) -> Dependency;
    method to_dep (line 18) | fn to_dep(self) -> Dependency {
    method opt (line 21) | fn opt(self) -> Dependency {
    method with (line 26) | fn with(self, features: &[&'static str]) -> Dependency {
    method with_default (line 32) | fn with_default(self) -> Dependency {
    method rename (line 37) | fn rename(self, name: &str) -> Dependency {
    method to_dep (line 45) | fn to_dep(self) -> Dependency {
    method opt (line 48) | fn opt(mut self) -> Dependency {
    method with (line 52) | fn with(mut self, features: &[&'static str]) -> Dependency {
    method with_default (line 57) | fn with_default(mut self) -> Dependency {
    method rename (line 61) | fn rename(mut self, name: &str) -> Dependency {
  type ToPkgId (line 67) | pub trait ToPkgId {
    method to_pkgid (line 68) | fn to_pkgid(&self) -> PackageId;
    method to_pkgid (line 72) | fn to_pkgid(&self) -> PackageId {
    method to_pkgid (line 78) | fn to_pkgid(&self) -> PackageId {
    method to_pkgid (line 84) | fn to_pkgid(&self) -> PackageId {
  function registry_loc (line 103) | fn registry_loc() -> SourceId {
  function pkg (line 111) | pub fn pkg<T: ToPkgId>(name: T) -> Summary {
  function pkg_dep (line 115) | pub fn pkg_dep<T: ToPkgId>(name: T, dep: Vec<Dependency>) -> Summary {
  function pkg_dep_with (line 125) | pub fn pkg_dep_with<T: ToPkgId>(
  function pkg_dep_link (line 143) | pub fn pkg_dep_link<T: ToPkgId>(name: T, link: &str, dep: Vec<Dependency...
  function pkg_id (line 147) | pub fn pkg_id(name: &str) -> PackageId {
  function pkg_id_source (line 151) | pub fn pkg_id_source(name: &str, source: &str) -> PackageId {
  function pkg_id_loc (line 160) | fn pkg_id_loc(name: &str, loc: &str) -> PackageId {
  function pkg_loc (line 168) | pub fn pkg_loc(name: &str, loc: &str) -> Summary {
  function remove_dep (line 184) | pub fn remove_dep(sum: &Summary, ind: usize) -> Summary {
  function dep (line 191) | pub fn dep(name: &str) -> Dependency {
  function dep_req (line 195) | pub fn dep_req(name: &str, req: &str) -> Dependency {
  function dep_req_kind (line 199) | pub fn dep_req_kind(name: &str, req: &str, kind: DepKind) -> Dependency {
  function dep_req_platform (line 205) | pub fn dep_req_platform(name: &str, req: &str, platform: &str) -> Depend...
  function dep_loc (line 211) | pub fn dep_loc(name: &str, location: &str) -> Dependency {
  function dep_kind (line 218) | pub fn dep_kind(name: &str, kind: DepKind) -> Dependency {
  function dep_platform (line 224) | pub fn dep_platform(name: &str, platform: &str) -> Dependency {
  function registry (line 230) | pub fn registry(pkgs: Vec<Summary>) -> Vec<Summary> {
  function names (line 234) | pub fn names<P: ToPkgId>(names: &[P]) -> Vec<PackageId> {
  function loc_names (line 238) | pub fn loc_names(names: &[(&'static str, &'static str)]) -> Vec<PackageI...
  function assert_contains (line 247) | pub fn assert_contains<A: PartialEq + Debug>(xs: &[A], elems: &[A]) {
  function assert_same (line 257) | pub fn assert_same<A: PartialEq + Debug>(a: &[A], b: &[A]) {

FILE: crates/resolver-tests/src/lib.rs
  function resolve (line 35) | pub fn resolve(deps: Vec<Dependency>, registry: &[Summary]) -> CargoResu...
  function resolve_and_validated (line 44) | pub fn resolve_and_validated(
  function resolve_and_validated_raw (line 53) | pub fn resolve_and_validated_raw(
  function collect_features (line 109) | fn collect_features(resolve: &Resolve) -> Vec<(PackageId, Vec<InternedSt...
  function resolve_with_global_context (line 117) | pub fn resolve_with_global_context(
  function resolve_with_global_context_raw (line 126) | pub fn resolve_with_global_context_raw(
  type PrettyPrintRegistry (line 224) | pub struct PrettyPrintRegistry(pub Vec<Summary>);
    method fmt (line 227) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  function registry_strategy (line 272) | pub fn registry_strategy(
  function meta_test_deep_pretty_print_registry (line 407) | fn meta_test_deep_pretty_print_registry() {
  function meta_test_deep_trees_from_strategy (line 443) | fn meta_test_deep_trees_from_strategy() {
  function meta_test_multiple_versions_strategy (line 484) | fn meta_test_multiple_versions_strategy() {

FILE: crates/resolver-tests/src/sat.rs
  function num_bits (line 11) | const fn num_bits<T>() -> usize {
  function log_bits (line 15) | fn log_bits(x: usize) -> usize {
  function sat_at_most_one (line 27) | fn sat_at_most_one(solver: &mut varisat::Solver<'_>, vars: &[varisat::Va...
  function sat_at_most_one_by_key (line 51) | fn sat_at_most_one_by_key<K: std::hash::Hash + Eq>(
  type DependencyVarMap (line 66) | type DependencyVarMap<'a> =
  type DependencyFeatureVarMap (line 69) | type DependencyFeatureVarMap<'a> = HashMap<
  function create_dependencies_vars (line 74) | fn create_dependencies_vars<'a>(
  function process_pkg_dependencies (line 151) | fn process_pkg_dependencies(
  function process_pkg_features (line 177) | fn process_pkg_features(
  function process_compatible_dep_summaries (line 261) | fn process_compatible_dep_summaries(
  type SatResolver (line 342) | pub struct SatResolver {
    method new (line 351) | pub fn new<'a>(registry: impl IntoIterator<Item = &'a Summary>) -> Self {
    method sat_resolve (line 454) | pub fn sat_resolve(&mut self, root_dependencies: &[Dependency]) -> bool {
    method sat_is_valid_solution (line 505) | pub fn sat_is_valid_solution(&mut self, pkgs: &[(PackageId, Vec<Intern...
    method used_packages (line 540) | pub fn used_packages(&self) -> Option<String> {

FILE: crates/resolver-tests/tests/pubgrub.rs
  function test_01_renamed_package (line 13) | fn test_01_renamed_package() {
  function test_02_renamed_package_no_shadowing (line 29) | fn test_02_renamed_package_no_shadowing() {
  function test_03_prerelease_semver (line 42) | fn test_03_prerelease_semver() {
  function test_04_cyclic_features (line 59) | fn test_04_cyclic_features() {
  function test_05_cyclic_optional_dependencies (line 75) | fn test_05_cyclic_optional_dependencies() {
  function test_06_cyclic_dependencies (line 95) | fn test_06_cyclic_dependencies() {
  function test_07_self_dependency (line 110) | fn test_07_self_dependency() {
  function test_08_activated_optional_self_dependency (line 121) | fn test_08_activated_optional_self_dependency() {
  function test_09_build_dependency_with_same_name (line 132) | fn test_09_build_dependency_with_same_name() {
  function test_10_root_dev_dependency_with_same_name (line 157) | fn test_10_root_dev_dependency_with_same_name() {
  function test_11_dev_dependency (line 167) | fn test_11_dev_dependency() {
  function test_12_weak_dependencies (line 180) | fn test_12_weak_dependencies() {
  function test_13_weak_dependencies (line 198) | fn test_13_weak_dependencies() {
  function test_14_weak_dependencies (line 216) | fn test_14_weak_dependencies() {
  function test_15_duplicate_sys_crate (line 239) | fn test_15_duplicate_sys_crate() {
  function test_16_missing_optional_dependency (line 251) | fn test_16_missing_optional_dependency() {
  function test_17_feature_shadowing_missing_optional_dependency (line 263) | fn test_17_feature_shadowing_missing_optional_dependency() {
  function test_18_feature_shadowing_activated_optional_dependency (line 280) | fn test_18_feature_shadowing_activated_optional_dependency() {
  function test_19_same_dep_twice_feature_unification (line 300) | fn test_19_same_dep_twice_feature_unification() {
  function test_20_no_implicit_feature (line 316) | fn test_20_no_implicit_feature() {
  function test_21_implicit_feature (line 329) | fn test_21_implicit_feature() {
  function test_22_missing_explicit_default_feature (line 342) | fn test_22_missing_explicit_default_feature() {
  function test_23_no_need_for_explicit_default_feature (line 358) | fn test_23_no_need_for_explicit_default_feature() {
  function test_24_dep_feature (line 374) | fn test_24_dep_feature() {
  function test_25_dep_feature (line 391) | fn test_25_dep_feature() {
  function test_26_implicit_feature_with_dep_feature (line 407) | fn test_26_implicit_feature_with_dep_feature() {
  function test_27_dep_feature_activating_shadowing_feature (line 423) | fn test_27_dep_feature_activating_shadowing_feature() {
  function test_28_dep_feature_not_activating_shadowing_feature (line 439) | fn test_28_dep_feature_not_activating_shadowing_feature() {

FILE: crates/resolver-tests/tests/resolve.rs
  function test_dependency_with_empty_name (line 15) | fn test_dependency_with_empty_name() {
  function test_resolving_empty_dependency_list (line 21) | fn test_resolving_empty_dependency_list() {
  function test_resolving_only_package (line 28) | fn test_resolving_only_package() {
  function test_resolving_one_dep (line 35) | fn test_resolving_one_dep() {
  function test_resolving_multiple_deps (line 42) | fn test_resolving_multiple_deps() {
  function test_resolving_transitive_deps (line 49) | fn test_resolving_transitive_deps() {
  function test_resolving_common_transitive_deps (line 57) | fn test_resolving_common_transitive_deps() {
  function test_resolving_with_same_name (line 65) | fn test_resolving_with_same_name() {
  function test_resolving_with_dev_deps (line 91) | fn test_resolving_with_dev_deps() {
  function resolving_with_many_versions (line 109) | fn resolving_with_many_versions() {
  function resolving_with_specific_version (line 118) | fn resolving_with_specific_version() {
  function test_resolving_maximum_version_with_transitive_deps (line 127) | fn test_resolving_maximum_version_with_transitive_deps() {
  function test_resolving_minimum_version_with_transitive_deps (line 152) | fn test_resolving_minimum_version_with_transitive_deps() {
  function resolving_incompat_versions (line 205) | fn resolving_incompat_versions() {
  function resolving_wrong_case_from_registry (line 216) | fn resolving_wrong_case_from_registry() {
  function resolving_mis_hyphenated_from_registry (line 227) | fn resolving_mis_hyphenated_from_registry() {
  function resolving_backtrack (line 238) | fn resolving_backtrack() {
  function resolving_backtrack_features (line 255) | fn resolving_backtrack_features() {
  function resolving_allows_multiple_compatible_versions (line 275) | fn resolving_allows_multiple_compatible_versions() {
  function resolving_with_deep_backtracking (line 308) | fn resolving_with_deep_backtracking() {
  function resolving_with_sys_crates (line 335) | fn resolving_with_sys_crates() {
  function resolving_with_constrained_sibling_backtrack_parent (line 364) | fn resolving_with_constrained_sibling_backtrack_parent() {
  function resolving_with_many_equivalent_backtracking (line 411) | fn resolving_with_many_equivalent_backtracking() {
  function resolving_with_deep_traps (line 490) | fn resolving_with_deep_traps() {
  function resolving_with_constrained_cousins_backtrack (line 529) | fn resolving_with_constrained_cousins_backtrack() {
  function resolving_with_constrained_sibling_backtrack_activation (line 613) | fn resolving_with_constrained_sibling_backtrack_activation() {
  function resolving_with_constrained_sibling_transitive_dep_effects (line 658) | fn resolving_with_constrained_sibling_transitive_dep_effects() {
  function incomplete_information_skipping (line 705) | fn incomplete_information_skipping() {
  function incomplete_information_skipping_2 (line 754) | fn incomplete_information_skipping_2() {
  function incomplete_information_skipping_3 (line 823) | fn incomplete_information_skipping_3() {
  function resolving_but_no_exists (line 873) | fn resolving_but_no_exists() {
  function resolving_cycle (line 889) | fn resolving_cycle() {
  function hard_equality (line 896) | fn hard_equality() {
  function large_conflict_cache (line 912) | fn large_conflict_cache() {
  function resolving_slow_case_missing_feature (line 941) | fn resolving_slow_case_missing_feature() {
  function cyclic_good_error_message (line 985) | fn cyclic_good_error_message() {
  function shortest_path_in_error_message (line 1003) | fn shortest_path_in_error_message() {

FILE: crates/resolver-tests/tests/validated.rs
  function off_by_one_bug (line 13) | fn off_by_one_bug() {
  function conflict_store_bug (line 33) | fn conflict_store_bug() {
  function conflict_store_more_then_one_match (line 74) | fn conflict_store_more_then_one_match() {
  function bad_lockfile_from_8249 (line 103) | fn bad_lockfile_from_8249() {
  function registry_with_features (line 129) | fn registry_with_features() {
  function missing_feature (line 165) | fn missing_feature() {
  function missing_dep_feature (line 172) | fn missing_dep_feature() {
  function missing_weak_dep_feature (line 184) | fn missing_weak_dep_feature() {
  function conflict_feature_and_sys (line 225) | fn conflict_feature_and_sys() {
  function conflict_weak_features (line 248) | fn conflict_weak_features() {
  function multiple_dep_kinds_and_targets (line 269) | fn multiple_dep_kinds_and_targets() {
  function multiple_dep_kinds_and_targets_with_different_packages (line 317) | fn multiple_dep_kinds_and_targets_with_different_packages() {
  function dep_feature_with_shadowing_feature (line 352) | fn dep_feature_with_shadowing_feature() {
  function dep_feature_not_optional_with_shadowing_feature (line 368) | fn dep_feature_not_optional_with_shadowing_feature() {
  function dep_feature_weak_with_shadowing_feature (line 384) | fn dep_feature_weak_with_shadowing_feature() {
  function dep_feature_duplicate_with_shadowing_feature (line 400) | fn dep_feature_duplicate_with_shadowing_feature() {
  function optional_dep_features (line 420) | fn optional_dep_features() {
  function optional_dep_features_with_rename (line 433) | fn optional_dep_features_with_rename() {
  function optional_weak_dep_features (line 463) | fn optional_weak_dep_features() {
  function default_feature_multiple_major_versions (line 478) | fn default_feature_multiple_major_versions() {

FILE: crates/rustfix/examples/fix-json.rs
  function main (line 8) | fn main() -> Result<(), Error> {

FILE: crates/rustfix/src/diagnostics.rs
  type Diagnostic (line 11) | pub struct Diagnostic {
  type DiagnosticSpan (line 26) | pub struct DiagnosticSpan {
  type Applicability (line 58) | pub enum Applicability {
  type DiagnosticSpanLine (line 82) | pub struct DiagnosticSpanLine {
  type DiagnosticSpanMacroExpansion (line 93) | struct DiagnosticSpanMacroExpansion {
  type DiagnosticCode (line 110) | pub struct DiagnosticCode {

FILE: crates/rustfix/src/error.rs
  type Error (line 7) | pub enum Error {

FILE: crates/rustfix/src/lib.rs
  type Filter (line 39) | pub enum Filter {
  function get_suggestions_from_json (line 51) | pub fn get_suggestions_from_json<S: ::std::hash::BuildHasher>(
  type LinePosition (line 65) | pub struct LinePosition {
    method fmt (line 71) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  type LineRange (line 77) | pub struct LineRange {
    method fmt (line 83) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  type Suggestion (line 90) | pub struct Suggestion {
  type Solution (line 98) | pub struct Solution {
  type Snippet (line 107) | pub struct Snippet {
  type Replacement (line 115) | pub struct Replacement {
  function span_to_snippet (line 123) | fn span_to_snippet(span: &DiagnosticSpan) -> Snippet {
  function collect_span (line 141) | fn collect_span(span: &DiagnosticSpan) -> Option<Replacement> {
  function collect_suggestions (line 153) | pub fn collect_suggestions<S: ::std::hash::BuildHasher>(
  type CodeFix (line 219) | pub struct CodeFix {
    method new (line 227) | pub fn new(s: &str) -> CodeFix {
    method apply (line 235) | pub fn apply(&mut self, suggestion: &Suggestion) -> Result<(), Error> {
    method apply_solution (line 249) | pub fn apply_solution(&mut self, solution: &Solution) -> Result<(), Er...
    method finish (line 261) | pub fn finish(&self) -> Result<String, Error> {
    method modified (line 266) | pub fn modified(&self) -> bool {
  function apply_suggestions (line 281) | pub fn apply_suggestions(code: &str, suggestions: &[Suggestion]) -> Resu...

FILE: crates/rustfix/src/replace.rs
  type Span (line 33) | struct Span {
    method fmt (line 43) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
    method new (line 65) | fn new(range: Range<usize>, data: &[u8]) -> Self {
    method is_insert (line 77) | fn is_insert(&self) -> bool {
  method eq (line 85) | fn eq(&self, other: &Self) -> bool {
  type Data (line 92) | pub struct Data {
    method new (line 103) | pub fn new(data: &[u8]) -> Self {
    method commit (line 111) | pub fn commit(&mut self) {
    method restore (line 116) | pub fn restore(&mut self) {
    method to_vec (line 123) | pub fn to_vec(&self) -> Vec<u8> {
    method replace_range (line 150) | pub fn replace_range(&mut self, range: Range<usize>, data: &[u8]) -> R...
  function str (line 200) | fn str(i: &[u8]) -> &str {
  function insert_at_beginning (line 205) | fn insert_at_beginning() {
  function insert_at_end (line 212) | fn insert_at_end() {
  function replace_some_stuff (line 219) | fn replace_some_stuff() {
  function replace_a_single_char (line 226) | fn replace_a_single_char() {
  function replace_multiple_lines (line 233) | fn replace_multiple_lines() {
  function replace_multiple_lines_with_insert_only (line 244) | fn replace_multiple_lines_with_insert_only() {
  function replace_invalid_range (line 259) | fn replace_invalid_range() {
  function empty_to_vec_roundtrip (line 267) | fn empty_to_vec_roundtrip() {
  function replace_same_range_diff_data (line 273) | fn replace_same_range_diff_data() {
  function replace_same_range_same_data (line 289) | fn replace_same_range_same_data() {
  function broken_replacements (line 305) | fn broken_replacements() {
  function insert_same_twice (line 314) | fn insert_same_twice() {
  function commit_restore (line 329) | fn commit_restore() {

FILE: crates/rustfix/tests/everything/E0178.fixed.rs
  type Foo (line 3) | trait Foo {}
  type Bar (line 5) | struct Bar<'a> {
  function main (line 9) | fn main() {

FILE: crates/rustfix/tests/everything/E0178.rs
  type Foo (line 3) | trait Foo {}
  type Bar (line 5) | struct Bar<'a> {
  function main (line 9) | fn main() {

FILE: crates/rustfix/tests/everything/closure-immutable-outer-variable.fixed.rs
  function foo (line 6) | fn foo(mut f: Box<dyn FnMut()>) {
  function main (line 10) | fn main() {

FILE: crates/rustfix/tests/everything/closure-immutable-outer-variable.rs
  function foo (line 6) | fn foo(mut f: Box<dyn FnMut()>) {
  function main (line 10) | fn main() {

FILE: crates/rustfix/tests/everything/dedup-suggestions.fixed.rs
  function main (line 9) | fn main() {

FILE: crates/rustfix/tests/everything/dedup-suggestions.rs
  function main (line 9) | fn main() {

FILE: crates/rustfix/tests/everything/handle-insert-only.fixed.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/handle-insert-only.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/lt-generic-comp.fixed.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/lt-generic-comp.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/multiple-solutions.fixed.rs
  function main (line 3) | fn main() {

FILE: crates/rustfix/tests/everything/multiple-solutions.rs
  function main (line 3) | fn main() {

FILE: crates/rustfix/tests/everything/replace-only-one-char.fixed.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/replace-only-one-char.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/str-lit-type-mismatch.fixed.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/str-lit-type-mismatch.rs
  function main (line 1) | fn main() {

FILE: crates/rustfix/tests/everything/use-insert.fixed.rs
  function f (line 4) | pub fn f() {}
  function main (line 7) | fn main() {

FILE: crates/rustfix/tests/everything/use-insert.rs
  function f (line 2) | pub fn f() {}
  function main (line 5) | fn main() {

FILE: crates/rustfix/tests/parse_and_replace.rs
  constant EVERYTHING (line 31) | pub const EVERYTHING: &str = "yolo";
  function version (line 37) | fn version() -> (u32, bool) {
  function compile (line 54) | fn compile(file: &Path) -> Result<Output, Error> {
  function compile_and_get_json_errors (line 75) | fn compile_and_get_json_errors(file: &Path) -> Result<String, Error> {
  function compiles_without_errors (line 92) | fn compiles_without_errors(file: &Path) -> Result<(), Error> {
  function test_rustfix_with_file (line 106) | fn test_rustfix_with_file<P: AsRef<Path>>(file: P, mode: &str) {

FILE: crates/semver-check/src/main.rs
  function main (line 23) | fn main() {
  constant SEPARATOR (line 30) | const SEPARATOR: &str = "///////////////////////////////////////////////...
  function doit (line 32) | fn doit() -> Result<(), Box<dyn Error>> {
  constant CRATE_NAME (line 128) | const CRATE_NAME: &str = "updated_crate";
  function run_test (line 130) | fn run_test(
  function check_formatting (line 155) | fn check_formatting(path: &Path) -> Result<(), Box<dyn Error>> {
  function compile (line 171) | fn compile(
  function compile_check (line 205) | fn compile_check(
  function run_check (line 263) | fn run_check(

FILE: crates/xtask-build-man/src/main.rs
  function main (line 21) | fn main() -> io::Result<()> {
  function build_mdman (line 28) | fn build_mdman() -> io::Result<()> {
  function build_cargo (line 47) | fn build_cargo() -> io::Result<()> {
  function cwd_to_workspace_root (line 80) | fn cwd_to_workspace_root() -> io::Result<()> {
  function build_man (line 87) | fn build_man(

FILE: crates/xtask-bump-check/src/main.rs
  function main (line 3) | fn main() {
  function setup_logger (line 19) | fn setup_logger() {

FILE: crates/xtask-bump-check/src/xtask.rs
  constant UPSTREAM_BRANCH (line 31) | const UPSTREAM_BRANCH: &str = "master";
  constant STATUS (line 32) | const STATUS: &str = "BumpCheck";
  function cli (line 34) | pub fn cli() -> clap::Command {
  function exec (line 72) | pub fn exec(args: &clap::ArgMatches, gctx: &mut cargo::util::GlobalConte...
  function global_context_configure (line 80) | fn global_context_configure(gctx: &mut GlobalContext, args: &ArgMatches)...
  function bump_check (line 114) | fn bump_check(args: &clap::ArgMatches, gctx: &cargo::util::GlobalContext...
  function get_base_commit (line 238) | fn get_base_commit<'a>(
  function get_head_commit (line 280) | fn get_head_commit<'a>(
  function get_referenced_commit (line 302) | fn get_referenced_commit<'a>(
  function beta_and_stable_branch (line 331) | fn beta_and_stable_branch(repo: &git2::Repository) -> CargoResult<[git2:...
  function changed (line 362) | fn changed<'r, 'ws>(
  function symmetric_diff (line 400) | fn symmetric_diff<'a>(
  function check_crates_io (line 418) | fn check_crates_io<'a>(
  function checkout_ws (line 464) | fn checkout_ws<'gctx, 'a>(
  function verify_cli (line 484) | fn verify_cli() {

FILE: crates/xtask-lint-docs/src/main.rs
  function cli (line 9) | fn cli() -> clap::Command {
  function main (line 13) | fn main() -> anyhow::Result<()> {
  function lint_groups (line 74) | fn lint_groups(buf: &mut String) -> anyhow::Result<()> {
  function add_lint (line 115) | fn add_lint(lint: &Lint, buf: &mut String) -> std::fmt::Result {
  function add_level_section (line 127) | fn add_level_section(level: LintLevel, lint_names: &[&str], buf: &mut St...
  function lint_docs_path (line 148) | fn lint_docs_path() -> PathBuf {

FILE: crates/xtask-spellcheck/src/main.rs
  constant BIN_NAME (line 15) | const BIN_NAME: &str = "typos";
  constant PKG_NAME (line 16) | const PKG_NAME: &str = "typos-cli";
  function main (line 18) | fn main() -> anyhow::Result<()> {
  function cli (line 24) | pub fn cli() -> clap::Command {
  function exec (line 60) | pub fn exec(matches: &clap::ArgMatches) -> Result<()> {
  function extract_workflow_typos_version (line 114) | fn extract_workflow_typos_version(metadata: &Metadata) -> anyhow::Result...
  function extract_typos_version_from_content (line 122) | fn extract_typos_version_from_content(file_content: &str) -> anyhow::Res...
  function ensure_version_or_cargo_install (line 135) | pub fn ensure_version_or_cargo_install(
  function get_typos_version (line 193) | fn get_typos_version(bin: &PathBuf) -> Option<Version> {

FILE: crates/xtask-stale-label/src/main.rs
  function main (line 20) | fn main() {

FILE: credential/cargo-credential-1password/src/main.rs
  constant CARGO_TAG (line 18) | const CARGO_TAG: &str = "cargo-registry";
  type OnePasswordKeychain (line 21) | struct OnePasswordKeychain {
    method new (line 51) | fn new(args: &[&str]) -> Result<OnePasswordKeychain, Error> {
    method signin (line 82) | fn signin(&self) -> Result<Option<String>, Error> {
    method make_cmd (line 122) | fn make_cmd(&self, session: &Option<String>, args: &[&str]) -> Command {
    method run_cmd (line 140) | fn run_cmd(&self, mut cmd: Command) -> Result<String, Error> {
    method search (line 161) | fn search(&self, session: &Option<String>, index_url: &str) -> Result<...
    method modify (line 198) | fn modify(
    method create (line 213) | fn create(
    method get_token (line 243) | fn get_token(&self, session: &Option<String>, id: &str) -> Result<Secr...
    method delete (line 258) | fn delete(&self, session: &Option<String>, id: &str) -> Result<(), Err...
  type Login (line 28) | struct Login {
  type Field (line 33) | struct Field {
  type ListItem (line 40) | struct ListItem {
  type Url (line 46) | struct Url {
  type OnePasswordCredential (line 265) | pub struct OnePasswordCredential {}
  method perform (line 268) | fn perform(
  function main (line 317) | fn main() {

FILE: credential/cargo-credential-libsecret/src/lib.rs
  type gchar (line 20) | type gchar = c_char;
  type gboolean (line 23) | type gboolean = c_int;
  type gint (line 26) | type gint = c_int;
  type gpointer (line 29) | type gpointer = *mut ();
  type GQuark (line 31) | type GQuark = u32;
  type GError (line 34) | struct GError {
  type GCancellable (line 41) | struct GCancellable {
  type SecretSchema (line 46) | struct SecretSchema {
  type SecretSchemaAttribute (line 62) | struct SecretSchemaAttribute {
  type SecretSchemaFlags (line 68) | enum SecretSchemaFlags {
  type SecretSchemaAttributeType (line 74) | enum SecretSchemaAttributeType {
  type SecretPasswordStoreSync (line 78) | type SecretPasswordStoreSync = extern "C" fn(
  type SecretPasswordClearSync (line 87) | type SecretPasswordClearSync = extern "C" fn(
  type SecretPasswordLookupSync (line 93) | type SecretPasswordLookupSync = extern "C" fn(
  type LibSecretCredential (line 100) | pub struct LibSecretCredential {
    method new (line 133) | pub fn new() -> Result<LibSecretCredential, Error> {
  function label (line 104) | fn label(index_url: &str) -> CString {
  function schema (line 108) | fn schema() -> SecretSchema {
  method perform (line 145) | fn perform(

FILE: credential/cargo-credential-macos-keychain/src/lib.rs
  type MacKeychain (line 16) | pub struct MacKeychain;
  constant ACCOUNT (line 19) | const ACCOUNT: &'static str = "";
  constant NOT_FOUND (line 20) | const NOT_FOUND: i32 = -25300;
  function registry (line 22) | fn registry(index_url: &str) -> String {
  method perform (line 27) | fn perform(

FILE: credential/cargo-credential-wincred/src/lib.rs
  type WindowsCredential (line 26) | pub struct WindowsCredential;
  function wstr (line 29) | fn wstr(s: &str) -> Vec<u16> {
  function target_name (line 38) | fn target_name(index_url: &str) -> Vec<u16> {
  method perform (line 43) | fn perform(

FILE: credential/cargo-credential/examples/file-provider.rs
  type Error (line 8) | type Error = Box<dyn std::error::Error + Send + Sync + 'static>;
  type FileCredential (line 10) | struct FileCredential;
    method read (line 75) | fn read() -> Result<HashMap<String, Secret<String>>, Error> {
    method write (line 82) | fn write(value: &HashMap<String, Secret<String>>) -> Result<(), Error> {
  method perform (line 13) | fn perform(
  function main (line 88) | fn main() {

FILE: credential/cargo-credential/examples/stdout-redirected.rs
  type MyCredential (line 8) | struct MyCredential;
  method perform (line 11) | fn perform(
  function main (line 26) | fn main() {

FILE: credential/cargo-credential/src/error.rs
  type Error (line 15) | pub enum Error {
    method from (line 45) | fn from(message: String) -> Self {
    method from (line 55) | fn from(err: &str) -> Self {
    method from (line 61) | fn from(value: anyhow::Error) -> Self {
    method from (line 74) | fn from(value: Box<T>) -> Self {
  type StringTypedError (line 81) | struct StringTypedError {
    method fmt (line 93) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  method source (line 87) | fn source(&self) -> Option<&(dyn StdError + 'static)> {
  function serialize (line 109) | pub fn serialize<S>(
  function deserialize (line 130) | pub fn deserialize<'de, D>(deserializer: D) -> Result<Box<dyn StdError +...
  function unknown_kind (line 163) | pub fn unknown_kind() {
  function roundtrip (line 173) | pub fn roundtrip() {

FILE: credential/cargo-credential/src/lib.rs
  type CredentialHello (line 60) | pub struct CredentialHello {
  type UnsupportedCredential (line 66) | pub struct UnsupportedCredential;
  type CredentialRequest (line 81) | pub struct CredentialRequest<'a> {
  type RegistryInfo (line 95) | pub struct RegistryInfo<'a> {
  type Action (line 110) | pub enum Action<'a> {
  method fmt (line 120) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  type LoginOptions (line 132) | pub struct LoginOptions<'a> {
  type Operation (line 145) | pub enum Operation<'a> {
  type CredentialResponse (line 184) | pub enum CredentialResponse {
  type CacheControl (line 200) | pub enum CacheControl {
  constant PROTOCOL_VERSION_1 (line 221) | pub const PROTOCOL_VERSION_1: u32 = 1;
  type Credential (line 222) | pub trait Credential {
    method perform (line 68) | fn perform(
    method perform (line 224) | fn perform(
  function main (line 233) | pub fn main(credential: impl Credential) {
  function doit (line 242) | fn doit(
  function deserialize_request (line 268) | fn deserialize_request(
  function read_line (line 279) | pub fn read_line() -> Result<String, io::Error> {
  function read_token (line 286) | pub fn read_token(
  function unsupported_version (line 310) | fn unsupported_version() {
  function cache_control (line 321) | fn cache_control() {
  function credential_response (line 344) | fn credential_response() {
  function credential_request (line 380) | fn credential_request() {
  function credential_request_logout (line 404) | fn credential_request_logout() {
  function credential_request_unknown (line 424) | fn credential_request_unknown() {

FILE: credential/cargo-credential/src/secret.rs
  type Secret (line 22) | pub struct Secret<T> {
  function expose (line 31) | pub fn expose(self) -> T {
  function as_deref (line 41) | pub fn as_deref(&self) -> Secret<&<T as Deref>::Target>
  function as_ref (line 49) | pub fn as_ref(&self) -> Secret<&T> {
  function map (line 54) | pub fn map<U, F>(self, f: F) -> Secret<U>
  function to_owned (line 70) | pub fn to_owned(&self) -> Secret<<T as ToOwned>::Owned> {
  function transpose (line 77) | pub fn transpose(self) -> Result<Secret<T>, E> {
  function is_empty (line 84) | pub fn is_empty(&self) -> bool {
  function from (line 90) | fn from(inner: T) -> Self {
  function fmt (line 96) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {

FILE: credential/cargo-credential/src/stdio.rs
  function stdin_stdout_to_console (line 5) | pub fn stdin_stdout_to_console<F, T>(f: F) -> Result<T, Error>
  type Stdio (line 19) | enum Stdio {
  constant OUT_DEVICE (line 34) | pub const OUT_DEVICE: &str = "CONOUT$";
  constant IN_DEVICE (line 35) | pub const IN_DEVICE: &str = "CONIN$";
  constant NULL_DEVICE (line 36) | pub const NULL_DEVICE: &str = "NUL";
  type ReplacementGuard (line 39) | pub struct ReplacementGuard {
    method new (line 45) | pub(super) fn new(stdio: Stdio, replacement: &mut File) -> Result<Repl...
    method new (line 98) | pub(super) fn new(stdio: Stdio, replacement: &mut File) -> Result<Repl...
  method drop (line 73) | fn drop(&mut self) {
  constant IN_DEVICE (line 87) | pub const IN_DEVICE: &str = "/dev/tty";
  constant OUT_DEVICE (line 88) | pub const OUT_DEVICE: &str = "/dev/tty";
  constant NULL_DEVICE (line 89) | pub const NULL_DEVICE: &str = "/dev/null";
  type ReplacementGuard (line 92) | pub struct ReplacementGuard {
    method new (line 45) | pub(super) fn new(stdio: Stdio, replacement: &mut File) -> Result<Repl...
    method new (line 98) | pub(super) fn new(stdio: Stdio, replacement: &mut File) -> Result<Repl...
  method drop (line 125) | fn drop(&mut self) {
  function stdin (line 145) | fn stdin() {

FILE: credential/cargo-credential/tests/examples.rs
  function stdout_redirected (line 7) | fn stdout_redirected() {
  function file_provider (line 24) | fn file_provider() {

FILE: publish.py
  function already_published (line 39) | def already_published(name, version):
  function maybe_publish (line 53) | def maybe_publish(path):
  function main (line 64) | def main():

FILE: src/bin/cargo/cli.rs
  function main (line 23) | pub fn main(gctx: &mut GlobalContext) -> CliResult {
  function print_zhelp (line 104) | fn print_zhelp(gctx: &GlobalContext) {
  function print_list (line 151) | fn print_list(gctx: &GlobalContext, is_verbose: bool) {
  function get_version_string (line 207) | pub fn get_version_string(is_verbose: bool) -> String {
  function add_libgit2 (line 225) | fn add_libgit2(version_string: &mut String) {
  function add_curl (line 245) | fn add_curl(version_string: &mut String) {
  function add_ssl (line 263) | fn add_ssl(version_string: &mut String) {
  function expand_aliases (line 280) | fn expand_aliases(
  function configure_gctx (line 406) | fn configure_gctx(
  type Exec (line 463) | enum Exec {
    method infer (line 478) | fn infer(cmd: &str) -> CargoResult<Self> {
    method exec (line 489) | fn exec(self, gctx: &mut GlobalContext, subcommand_args: &ArgMatches) ...
  type GlobalArgs (line 534) | struct GlobalArgs {
    method new (line 546) | fn new(args: &ArgMatches) -> GlobalArgs {
  function cli (line 569) | pub fn cli(gctx: &GlobalContext) -> Command {
  function get_toolchains_from_rustup (line 738) | fn get_toolchains_from_rustup() -> Vec<String> {
  function get_command_candidates (line 755) | fn get_command_candidates(gctx: &GlobalContext) -> Vec<clap_complete::Co...
  function verify_cli (line 783) | fn verify_cli() {
  function avoid_ambiguity_between_builtins_and_manifest_commands (line 789) | fn avoid_ambiguity_between_builtins_and_manifest_commands() {

FILE: src/bin/cargo/commands/add.rs
  function cli (line 16) | pub fn cli() -> Command {
  function exec (line 180) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function parse_dependencies (line 237) | fn parse_dependencies(gctx: &GlobalContext, matches: &ArgMatches) -> Car...
  function default_features (line 366) | fn default_features(matches: &ArgMatches) -> Option<bool> {
  function optional (line 373) | fn optional(matches: &ArgMatches) -> Option<bool> {
  function public (line 377) | fn public(matches: &ArgMatches) -> Option<bool> {
  function resolve_bool_arg (line 381) | fn resolve_bool_arg(yes: bool, no: bool) -> Option<bool> {
  function parse_section (line 390) | fn parse_section(matches: &ArgMatches) -> DepTable {
  function parse_feature (line 410) | fn parse_feature(feature: &str) -> impl Iterator<Item = &str> {

FILE: src/bin/cargo/commands/bench.rs
  function cli (line 4) | pub fn cli() -> Command {
  function exec (line 59) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/build.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 48) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/check.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 46) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/clean.rs
  function cli (line 13) | pub fn cli() -> Command {
  function exec (line 137) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function gc (line 171) | fn gc(gctx: &GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/config.rs
  function cli (line 4) | pub fn cli() -> Command {
  function exec (line 33) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/doc.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 48) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/fetch.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 17) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/fix.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 63) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/generate_lockfile.rs
  function cli (line 8) | pub fn cli() -> Command {
  function datetime_completer (line 27) | fn datetime_completer(current: &std::ffi::OsStr) -> Vec<CompletionCandid...
  function exec (line 46) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/git_checkout.rs
  constant REMOVED (line 5) | const REMOVED: &str = "The `git-checkout` command has been removed.";
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 14) | pub fn exec(_gctx: &mut GlobalContext, _args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/help.rs
  constant COMPRESSED_MAN (line 15) | const COMPRESSED_MAN: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/...
  function cli (line 17) | pub fn cli() -> Command {
  function exec (line 30) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function try_help (line 119) | fn try_help(subcommand: &str) -> CargoResult<bool> {
  function extract_man (line 151) | fn extract_man(subcommand: &str, extension: &str) -> Option<Vec<u8>> {
  function write_and_spawn (line 172) | fn write_and_spawn(name: &str, contents: &[u8], command: &str) -> CargoR...
  type FindError (line 191) | enum FindError<'a> {
  function find_builtin_cmd (line 202) | fn find_builtin_cmd<'a>(parts: &[&'a str]) -> Result<Vec<String>, FindEr...
  function find_builtin_cmd_dash_joined (line 240) | fn find_builtin_cmd_dash_joined(s: &str) -> Option<String> {
  function try_match_cmd (line 252) | fn try_match_cmd(cmd: &Command, arg: &str) -> Option<String> {
  function get_completion_candidates (line 282) | fn get_completion_candidates() -> Vec<clap_complete::CompletionCandidate> {

FILE: src/bin/cargo/commands/info.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 24) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/init.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 22) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/install.rs
  function cli (line 17) | pub fn cli() -> Command {
  function exec (line 111) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  type CrateVersion (line 253) | type CrateVersion = (String, Option<VersionReq>);
  function parse_crate (line 255) | fn parse_crate(krate: &str) -> crate::CargoResult<CrateVersion> {
  function parse_semver_flag (line 279) | fn parse_semver_flag(v: &str) -> CargoResult<VersionReq> {
  function resolve_crate (line 327) | fn resolve_crate(

FILE: src/bin/cargo/commands/locate_project.rs
  function cli (line 6) | pub fn cli() -> Command {
  type ProjectLocation (line 24) | pub struct ProjectLocation<'a> {
  function exec (line 28) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  type WhatToFind (line 74) | enum WhatToFind {
    method parse (line 80) | fn parse(args: &ArgMatches) -> Self {
  type MessageFormat (line 89) | enum MessageFormat {
    method parse (line 95) | fn parse(args: &ArgMatches) -> CargoResult<Self> {

FILE: src/bin/cargo/commands/login.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 28) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/logout.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 16) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/metadata.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 35) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/mod.rs
  function builtin (line 3) | pub fn builtin() -> Vec<Command> {
  type Exec (line 47) | pub type Exec = fn(&mut GlobalContext, &ArgMatches) -> CliResult;
  function builtin_exec (line 49) | pub fn builtin_exec(cmd: &str) -> Option<Exec> {

FILE: src/bin/cargo/commands/new.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 22) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/owner.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 36) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/package.rs
  function cli (line 8) | pub fn cli() -> Command {
  function exec (line 60) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/pkgid.rs
  function cli (line 6) | pub fn cli() -> Command {
  function exec (line 18) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/publish.rs
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 43) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/read_manifest.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 19) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/remove.rs
  function cli (line 18) | pub fn cli() -> clap::Command {
  function exec (line 62) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function parse_section (line 142) | fn parse_section(args: &ArgMatches) -> DepTable {
  function gc_workspace (line 166) | fn gc_workspace(workspace: &Workspace<'_>) -> CargoResult<()> {
  function spec_has_match (line 311) | fn spec_has_match(
  function gc_unused_patches (line 344) | fn gc_unused_patches(workspace: &Workspace<'_>, resolve: &Resolve) -> Ca...

FILE: src/bin/cargo/commands/report.rs
  function cli (line 9) | pub fn cli() -> Command {
  function exec (line 59) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function report_future_incompatibilities (line 110) | fn report_future_incompatibilities(gctx: &GlobalContext, args: &ArgMatch...
  function timings_opts (line 123) | fn timings_opts<'a>(
  function sessions_opts (line 140) | fn sessions_opts(args: &ArgMatches) -> CargoResult<ops::ReportSessionsOp...
  function rebuilds_opts (line 147) | fn rebuilds_opts(args: &ArgMatches) -> CargoResult<ops::ReportRebuildsOp...

FILE: src/bin/cargo/commands/run.rs
  function cli (line 14) | pub fn cli() -> Command {
  function exec (line 50) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function is_manifest_command (line 91) | pub fn is_manifest_command(arg: &str) -> bool {
  function exec_manifest_command (line 96) | pub fn exec_manifest_command(gctx: &mut GlobalContext, cmd: &str, args: ...
  function suggested_script (line 199) | fn suggested_script(cmd: &str) -> Option<String> {
  function to_run_error (line 232) | fn to_run_error(gctx: &GlobalContext, err: anyhow::Error) -> CliError {

FILE: src/bin/cargo/commands/rustc.rs
  constant PRINT_ARG_NAME (line 4) | const PRINT_ARG_NAME: &str = "print";
  constant CRATE_TYPE_ARG_NAME (line 5) | const CRATE_TYPE_ARG_NAME: &str = "crate-type";
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 60) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/rustdoc.rs
  function cli (line 5) | pub fn cli() -> Command {
  function exec (line 54) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/search.rs
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 26) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/test.rs
  function cli (line 4) | pub fn cli() -> Command {
  function exec (line 70) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/tree.rs
  function cli (line 14) | pub fn cli() -> Command {
  type Charset (line 123) | pub enum Charset {
  type Err (line 129) | type Err = &'static str;
  method from_str (line 131) | fn from_str(s: &str) -> Result<Charset, &'static str> {
  function exec (line 140) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function parse_edge_kinds (line 271) | fn parse_edge_kinds(

FILE: src/bin/cargo/commands/uninstall.rs
  function cli (line 8) | pub fn cli() -> Command {
  function exec (line 34) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function get_installed_crates (line 54) | fn get_installed_crates() -> Vec<clap_complete::CompletionCandidate> {
  function get_installed_crates_ (line 58) | fn get_installed_crates_() -> Option<Vec<clap_complete::CompletionCandid...
  function get_installed_package_candidates (line 76) | fn get_installed_package_candidates() -> Vec<clap_complete::CompletionCa...
  function get_installed_packages (line 95) | fn get_installed_packages() -> CargoResult<Vec<(PackageId, BTreeSet<Stri...

FILE: src/bin/cargo/commands/update.rs
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 61) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/vendor.rs
  function cli (line 5) | pub fn cli() -> Command {
  function unsupported (line 45) | fn unsupported(name: &'static str) -> Arg {
  function exec (line 57) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/verify_project.rs
  function cli (line 8) | pub fn cli() -> Command {
  function exec (line 21) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/version.rs
  function cli (line 4) | pub fn cli() -> Command {
  function exec (line 13) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {

FILE: src/bin/cargo/commands/yank.rs
  function cli (line 7) | pub fn cli() -> Command {
  function exec (line 29) | pub fn exec(gctx: &mut GlobalContext, args: &ArgMatches) -> CliResult {
  function resolve_crate (line 49) | fn resolve_crate<'k>(

FILE: src/bin/cargo/main.rs
  function main (line 19) | fn main() {
  function setup_logger (line 64) | fn setup_logger() -> Option<ChromeFlushGuard> {
  type ChromeFlushGuard (line 85) | type ChromeFlushGuard = tracing_chrome::FlushGuard;
  function chrome_layer (line 87) | fn chrome_layer<S>() -> (
  type ChromeFlushGuard (line 112) | type ChromeFlushGuard = ();
  function chrome_layer (line 114) | fn chrome_layer() -> (
  function env_to_bool (line 122) | fn env_to_bool(os: Option<&OsStr>) -> bool {
  constant BUILTIN_ALIASES (line 131) | const BUILTIN_ALIASES: [(&str, &str, &str); 6] = [
  function builtin_aliases_execs (line 142) | fn builtin_aliases_execs(cmd: &str) -> Option<&(&str, &str, &str)> {
  function aliased_command (line 154) | fn aliased_command(gctx: &GlobalContext, command: &str) -> CargoResult<O...
  function list_commands (line 182) | fn list_commands(gctx: &GlobalContext) -> BTreeMap<String, CommandInfo> {
  function third_party_subcommands (line 220) | fn third_party_subcommands(gctx: &GlobalContext) -> BTreeMap<String, Com...
  function user_defined_aliases (line 251) | fn user_defined_aliases(gctx: &GlobalContext) -> BTreeMap<String, Comman...
  function find_external_subcommand (line 266) | fn find_external_subcommand(gctx: &GlobalContext, cmd: &str) -> Option<P...
  function execute_external_subcommand (line 274) | fn execute_external_subcommand(gctx: &GlobalContext, cmd: &str, args: &[...
  function execute_internal_subcommand (line 311) | fn execute_internal_subcommand(gctx: &GlobalContext, args: &[&OsStr]) ->...
  function execute_subcommand (line 318) | fn execute_subcommand(
  function is_executable (line 346) | fn is_executable<P: AsRef<Path>>(path: P) -> bool {
  function is_executable (line 353) | fn is_executable<P: AsRef<Path>>(path: P) -> bool {
  function search_directories (line 357) | fn search_directories(gctx: &GlobalContext) -> Vec<PathBuf> {
  function init_git (line 384) | fn init_git(gctx: &GlobalContext) {
  function init_git_transports (line 416) | fn init_git_transports(gctx: &GlobalContext) {

FILE: src/cargo/core/compiler/artifact.rs
  function get_env (line 13) | pub fn get_env(
  function unit_artifact_type_name_upper (line 104) | fn unit_artifact_type_name_upper(unit: &Unit) -> &'static str {
  function match_artifacts_kind_with_targets (line 121) | pub(crate) fn match_artifacts_kind_with_targets<'t, 'd>(

FILE: src/cargo/core/compiler/build_config.rs
  type BuildConfig (line 15) | pub struct BuildConfig {
    method new (line 70) | pub fn new(
    method emit_json (line 138) | pub fn emit_json(&self) -> bool {
    method single_requested_kind (line 142) | pub fn single_requested_kind(&self) -> CargoResult<CompileKind> {
  function default_parallelism (line 55) | fn default_parallelism() -> CargoResult<u32> {
  type MessageFormat (line 151) | pub enum MessageFormat {
  type CompileMode (line 169) | pub enum CompileMode {
    method serialize (line 190) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
    method deserialize (line 208) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    method is_check (line 239) | pub fn is_check(self) -> bool {
    method is_doc (line 244) | pub fn is_doc(self) -> bool {
    method is_doc_test (line 249) | pub fn is_doc_test(self) -> bool {
    method is_doc_scrape (line 254) | pub fn is_doc_scrape(self) -> bool {
    method is_any_test (line 260) | pub fn is_any_test(self) -> bool {
    method is_rustc_test (line 268) | pub fn is_rustc_test(self) -> bool {
    method is_run_custom_build (line 273) | pub fn is_run_custom_build(self) -> bool {
    method generates_executable (line 281) | pub fn generates_executable(self) -> bool {
  type UserIntent (line 299) | pub enum UserIntent {
    method is_doc (line 319) | pub fn is_doc(self) -> bool {
    method wants_doc_json_output (line 324) | pub fn wants_doc_json_output(self) -> bool {
    method wants_deps_docs (line 329) | pub fn wants_deps_docs(self) -> bool {
    method is_any_test (line 335) | pub fn is_any_test(self) -> bool {
    method is_rustc_test (line 346) | pub fn is_rustc_test(self) -> bool {

FILE: src/cargo/core/compiler/build_context/mod.rs
  type BuildContext (line 51) | pub struct BuildContext<'a, 'gctx> {
  function new (line 95) | pub fn new(
  function rustc (line 133) | pub fn rustc(&self) -> &Rustc {
  function host_triple (line 143) | pub fn host_triple(&self) -> InternedString {
  function jobs (line 148) | pub fn jobs(&self) -> u32 {
  function extra_args_for (line 156) | pub fn extra_args_for(&self, unit: &Unit) -> Option<&Vec<String>> {

FILE: src/cargo/core/compiler/build_context/target_info.rs
  type TargetInfo (line 37) | pub struct TargetInfo {
    method new (line 168) | pub fn new(
    method not_user_specific_cfg (line 373) | fn not_user_specific_cfg(cfg: &CargoResult<Cfg>) -> bool {
    method cfg (line 386) | pub fn cfg(&self) -> &[Cfg] {
    method file_types (line 393) | fn file_types(
    method discover_crate_type (line 555) | fn discover_crate_type(&self, crate_type: &CrateType) -> CargoResult<O...
    method rustc_outputs (line 576) | pub fn rustc_outputs(
    method calc_rustc_outputs (line 601) | fn calc_rustc_outputs(
    method supports_debuginfo_split (line 643) | pub fn supports_debuginfo_split(&self, split: InternedString) -> bool {
    method maybe_support_std (line 655) | pub fn maybe_support_std(&self) -> bool {
  type FileFlavor (line 68) | pub enum FileFlavor {
  type FileType (line 88) | pub struct FileType {
    method output_filename (line 108) | pub fn output_filename(&self, target: &Target, metadata: Option<&str>)...
    method uplift_filename (line 123) | pub fn uplift_filename(&self, target: &Target) -> String {
    method new_rmeta (line 140) | pub fn new_rmeta() -> FileType {
    method output_prefix_suffix (line 151) | pub fn output_prefix_suffix(&self, target: &Target) -> (String, String) {
  function parse_crate_type (line 669) | fn parse_crate_type(
  function error_missing_print_output (line 700) | fn error_missing_print_output<T>(
  function output_err_info (line 714) | fn output_err_info(cmd: &ProcessBuilder, stdout: &str, stderr: &str) -> ...
  type Flags (line 732) | enum Flags {
    method as_key (line 738) | fn as_key(self) -> &'static str {
    method as_env (line 745) | fn as_env(self) -> &'static str {
  function extra_args (line 778) | fn extra_args(
  function rustflags_from_env (line 825) | fn rustflags_from_env(gctx: &GlobalContext, flags: Flags) -> Option<Vec<...
  function rustflags_from_target (line 851) | fn rustflags_from_target(
  function rustflags_from_host (line 898) | fn rustflags_from_host(
  function rustflags_from_build (line 916) | fn rustflags_from_build(gctx: &GlobalContext, flag: Flags) -> CargoResul...
  type RustcTargetData (line 927) | pub struct RustcTargetData<'gctx> {
  function new (line 953) | pub fn new(
  function merge_compile_kind (line 1037) | pub fn merge_compile_kind(&mut self, kind: CompileKind) -> CargoResult<(...
  function short_name (line 1055) | pub fn short_name<'a>(&'a self, kind: &'a CompileKind) -> &'a str {
  function dep_platform_activated (line 1064) | pub fn dep_platform_activated(&self, dep: &Dependency, kind: CompileKind...
  function cfg (line 1075) | pub fn cfg(&self, kind: CompileKind) -> &[Cfg] {
  function info (line 1085) | pub fn info(&self, kind: CompileKind) -> &TargetInfo {
  function get_info (line 1092) | pub fn get_info(&self, kind: CompileKind) -> Option<&TargetInfo> {
  function target_config (line 1100) | pub fn target_config(&self, kind: CompileKind) -> &TargetConfig {
  function get_unsupported_std_targets (line 1107) | pub fn get_unsupported_std_targets(&self) -> Vec<&str> {
  function requested_kinds (line 1117) | pub fn requested_kinds(&self) -> &[CompileKind] {

FILE: src/cargo/core/compiler/build_runner/compilation_files.rs
  constant METADATA_VERSION (line 26) | const METADATA_VERSION: u8 = 2;
  type UnitHash (line 30) | pub struct UnitHash(u64);
    method fmt (line 33) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method fmt (line 39) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Metadata (line 92) | pub struct Metadata {
    method unit_id (line 101) | pub fn unit_id(&self) -> UnitHash {
    method c_metadata (line 106) | pub fn c_metadata(&self) -> UnitHash {
    method c_extra_filename (line 111) | pub fn c_extra_filename(&self) -> Option<UnitHash> {
    method pkg_dir (line 116) | pub fn pkg_dir(&self) -> Option<UnitHash> {
  type CompilationFiles (line 123) | pub struct CompilationFiles<'a, 'gctx> {
  type OutputFile (line 142) | pub struct OutputFile {
    method bin_dst (line 156) | pub fn bin_dst(&self) -> &PathBuf {
  function new (line 165) | pub(super) fn new(
  function layout (line 191) | pub fn layout(&self, kind: CompileKind) -> &Layout {
  function metadata (line 203) | pub fn metadata(&self, unit: &Unit) -> Metadata {
  function target_short_hash (line 209) | fn target_short_hash(&self, unit: &Unit) -> String {
  function output_dir (line 216) | pub fn output_dir(&self, unit: &Unit) -> PathBuf {
  function export_dir (line 239) | pub fn export_dir(&self) -> Option<PathBuf> {
  function pkg_dir (line 247) | fn pkg_dir(&self, unit: &Unit) -> String {
  function unit_hash (line 258) | pub fn unit_hash(&self, unit: &Unit) -> String {
  function host_dest (line 266) | pub fn host_dest(&self) -> Option<&Path> {
  function host_build_root (line 271) | pub fn host_build_root(&self) -> &Path {
  function host_deps (line 276) | pub fn host_deps(&self, unit: &Unit) -> PathBuf {
  function deps_dir (line 283) | pub fn deps_dir(&self, unit: &Unit) -> PathBuf {
  function out_dir_new_layout (line 292) | pub fn out_dir_new_layout(&self, unit: &Unit) -> PathBuf {
  function fingerprint_dir (line 300) | pub fn fingerprint_dir(&self, unit: &Unit) -> PathBuf {
  function build_unit_lock (line 306) | pub fn build_unit_lock(&self, unit: &Unit) -> PathBuf {
  function incremental_dir (line 315) | pub fn incremental_dir(&self, unit: &Unit) -> &Path {
  function timings_dir (line 320) | pub fn timings_dir(&self) -> Option<&Path> {
  function fingerprint_file_path (line 328) | pub fn fingerprint_file_path(&self, unit: &Unit, prefix: &str) -> PathBuf {
  function message_cache_path (line 345) | pub fn message_cache_path(&self, unit: &Unit) -> PathBuf {
  function build_script_dir (line 351) | pub fn build_script_dir(&self, unit: &Unit) -> PathBuf {
  function artifact_dir (line 363) | fn artifact_dir(&self, unit: &Unit) -> PathBuf {
  function build_script_run_dir (line 388) | pub fn build_script_run_dir(&self, unit: &Unit) -> PathBuf {
  function build_script_out_dir (line 399) | pub fn build_script_out_dir(&self, unit: &Unit) -> PathBuf {
  function bin_link_for_target (line 406) | pub fn bin_link_for_target(
  function outputs (line 437) | pub(super) fn outputs(
  function uplift_to (line 452) | fn uplift_to(&self, unit: &Unit, file_type: &FileType, from_path: &Path)...
  function calc_outputs (line 504) | fn calc_outputs(
  function append_sbom_suffix (line 598) | fn append_sbom_suffix(link: &PathBuf) -> PathBuf {
  function calc_outputs_rustc (line 609) | fn calc_outputs_rustc(
  function metadata_of (line 674) | fn metadata_of<'a>(
  function compute_metadata (line 690) | fn compute_metadata(
  function has_remap_path_prefix (line 848) | fn has_remap_path_prefix(args: &[String]) -> bool {
  function hash_rustc_version (line 854) | fn hash_rustc_version(bcx: &BuildContext<'_, '_>, hasher: &mut StableHas...
  function use_extra_filename (line 896) | fn use_extra_filename(bcx: &BuildContext<'_, '_>, unit: &Unit) -> bool {
  function use_pkg_dir (line 964) | fn use_pkg_dir(bcx: &BuildContext<'_, '_>, unit: &Unit) -> bool {

FILE: src/cargo/core/compiler/build_runner/mod.rs
  type BuildRunner (line 39) | pub struct BuildRunner<'a, 'gctx> {
  function new (line 97) | pub fn new(bcx: &'a BuildContext<'a, 'gctx>) -> CargoResult<Self> {
  function dry_run (line 141) | pub fn dry_run(mut self) -> CargoResult<Compilation<'gctx>> {
  function compile (line 165) | pub fn compile(mut self, exec: &Arc<dyn Executor>) -> CargoResult<Compil...
  function collect_tests_and_executables (line 313) | fn collect_tests_and_executables(&mut self, unit: &Unit) -> CargoResult<...
  function collect_doc_merge_info (line 343) | fn collect_doc_merge_info(&mut self) -> CargoResult<()> {
  function get_executable (line 396) | pub fn get_executable(&mut self, unit: &Unit) -> CargoResult<Option<Path...
  function prepare_units (line 410) | pub fn prepare_units(&mut self) -> CargoResult<()> {
  function prepare (line 459) | pub fn prepare(&mut self) -> CargoResult<()> {
  function files (line 495) | pub fn files(&self) -> &CompilationFiles<'a, 'gctx> {
  function outputs (line 500) | pub fn outputs(&self, unit: &Unit) -> CargoResult<Arc<Vec<OutputFile>>> {
  function unit_deps (line 505) | pub fn unit_deps(&self, unit: &Unit) -> &[UnitDep] {
  function find_build_script_units (line 512) | pub fn find_build_script_units(&self, unit: &Unit) -> Option<Vec<Unit>> {
  function find_build_script_metadatas (line 536) | pub fn find_build_script_metadatas(&self, unit: &Unit) -> Option<Vec<Uni...
  function get_run_build_script_metadata (line 546) | pub fn get_run_build_script_metadata(&self, unit: &Unit) -> UnitHash {
  function sbom_output_files (line 552) | pub fn sbom_output_files(&self, unit: &Unit) -> CargoResult<Vec<PathBuf>> {
  function is_primary_package (line 561) | pub fn is_primary_package(&self, unit: &Unit) -> bool {
  function unit_output (line 567) | pub fn unit_output(&self, unit: &Unit, path: &Path) -> CargoResult<UnitO...
  function check_collisions (line 581) | fn check_collisions(&self) -> CargoResult<()> {
  function record_units_requiring_metadata (line 725) | fn record_units_requiring_metadata(&mut self) {
  function only_requires_rmeta (line 737) | pub fn only_requires_rmeta(&self, parent: &Unit, dep: &Unit) -> bool {
  function rmeta_required (line 750) | pub fn rmeta_required(&self, unit: &Unit) -> bool {
  function compute_metadata_for_doc_units (line 765) | pub fn compute_metadata_for_doc_units(&mut self) {

FILE: src/cargo/core/compiler/compilation.rs
  type ToolKind (line 21) | enum ToolKind {
    method is_rustc_tool (line 33) | fn is_rustc_tool(&self) -> bool {
  type Doctest (line 39) | pub struct Doctest {
  type UnitOutput (line 58) | pub struct UnitOutput {
  type Compilation (line 73) | pub struct Compilation<'gctx> {
  function new (line 142) | pub fn new<'a>(bcx: &BuildContext<'a, 'gctx>) -> CargoResult<Compilation...
  function rustc_process (line 211) | pub fn rustc_process(
  function rustdoc_process (line 232) | pub fn rustdoc_process(
  function host_process (line 259) | pub fn host_process<T: AsRef<OsStr>>(
  function target_runner (line 282) | pub fn target_runner(&self, kind: CompileKind) -> Option<&(PathBuf, Vec<...
  function host_linker (line 295) | pub fn host_linker(&self) -> Option<&Path> {
  function target_linker (line 303) | pub fn target_linker(&self, kind: CompileKind) -> Option<&Path> {
  function target_process (line 325) | pub fn target_process<T: AsRef<OsStr>>(
  function fill_env (line 355) | fn fill_env(
  function fill_rustc_tool_env (line 459) | fn fill_rustc_tool_env(mut cmd: ProcessBuilder, unit: &Unit) -> ProcessB...
  function get_sysroot_target_libdir (line 472) | fn get_sysroot_target_libdir(
  function target_runner (line 501) | fn target_runner(
  function target_linker (line 539) | fn target_linker(bcx: &BuildContext<'_, '_>, kind: CompileKind) -> Cargo...
  function explicit_host_kind (line 574) | fn explicit_host_kind(host: &str) -> CompileKind {

FILE: src/cargo/core/compiler/compile_kind.rs
  type CompileKind (line 23) | pub enum CompileKind {
    method is_host (line 49) | pub fn is_host(&self) -> bool {
    method for_target (line 53) | pub fn for_target(self, target: &Target) -> CompileKind {
    method from_requested_targets (line 69) | pub fn from_requested_targets(
    method from_requested_targets_with_fallback (line 83) | pub fn from_requested_targets_with_fallback(
    method fingerprint_hash (line 137) | pub fn fingerprint_hash(&self) -> u64 {
    method add_target_arg (line 146) | pub fn add_target_arg(&self, builder: &mut ProcessBuilder) {
    method serialize (line 157) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>
  type CompileKindFallback (line 37) | pub enum CompileKindFallback {
  type CompileTarget (line 186) | pub enum CompileTarget {
    method new (line 195) | pub fn new(name: &str, unstable_json: bool) -> CargoResult<CompileTarg...
    method rustc_target (line 227) | pub fn rustc_target(&self) -> InternedString {
    method short_name (line 240) | pub fn short_name(&self) -> &str {
    method fingerprint_hash (line 248) | pub fn fingerprint_hash(&self) -> u64 {

FILE: src/cargo/core/compiler/crate_type.rs
  type CrateType (line 8) | pub enum CrateType {
    method as_str (line 20) | pub fn as_str(&self) -> &str {
    method can_lto (line 33) | pub fn can_lto(&self) -> bool {
    method is_linkable (line 44) | pub fn is_linkable(&self) -> bool {
    method is_dynamic (line 53) | pub fn is_dynamic(&self) -> bool {
    method requires_upstream_objects (line 70) | pub fn requires_upstream_objects(&self) -> bool {
    method benefits_from_no_embed_metadata (line 86) | pub fn benefits_from_no_embed_metadata(&self) -> bool {
    method fmt (line 114) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method from (line 120) | fn from(s: &'a String) -> Self {
    method fmt (line 135) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method serialize (line 141) | fn serialize<S>(&self, s: S) -> Result<S::Ok, S::Error>

FILE: src/cargo/core/compiler/custom_build.rs
  constant CARGO_ERROR_SYNTAX (line 57) | const CARGO_ERROR_SYNTAX: &str = "cargo::error=";
  constant OLD_CARGO_WARNING_SYNTAX (line 62) | const OLD_CARGO_WARNING_SYNTAX: &str = "cargo:warning=";
  constant NEW_CARGO_WARNING_SYNTAX (line 67) | const NEW_CARGO_WARNING_SYNTAX: &str = "cargo::warning=";
  type Severity (line 70) | pub enum Severity {
  type LogMessage (line 75) | pub type LogMessage = (Severity, String);
  type LibraryPath (line 108) | pub enum LibraryPath {
    method new (line 118) | fn new(p: PathBuf, script_out_dir: &Path) -> Self {
    method into_path_buf (line 127) | pub fn into_path_buf(self) -> PathBuf {
    method as_ref (line 135) | fn as_ref(&self) -> &PathBuf {
  type BuildOutput (line 144) | pub struct BuildOutput {
    method parse_file (line 756) | pub fn parse_file(
    method parse (line 783) | pub fn parse(
    method parse_rustc_flags (line 1133) | pub fn parse_rustc_flags(
    method parse_rustc_env (line 1181) | pub fn parse_rustc_env(value: &str, whence: &str) -> CargoResult<(Stri...
  type BuildScriptOutputs (line 184) | pub struct BuildScriptOutputs {
    method insert (line 1400) | fn insert(&mut self, pkg_id: PackageId, metadata: UnitHash, parsed_out...
    method contains_key (line 1417) | fn contains_key(&self, metadata: UnitHash) -> bool {
    method get (line 1422) | pub fn get(&self, meta: UnitHash) -> Option<&BuildOutput> {
    method iter (line 1427) | pub fn iter(&self) -> impl Iterator<Item = (&UnitHash, &BuildOutput)> {
  type BuildScripts (line 192) | pub struct BuildScripts {
  type BuildDeps (line 226) | pub struct BuildDeps {
    method new (line 1227) | pub fn new(output_file: &Path, output: Option<&BuildOutput>) -> BuildD...
  type LinkArgTarget (line 245) | pub enum LinkArgTarget {
    method applies_to (line 264) | pub fn applies_to(&self, target: &Target, mode: CompileMode) -> bool {
  function prepare (line 280) | pub fn prepare(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> C...
  function emit_build_output (line 297) | fn emit_build_output(
  function build_work (line 330) | fn build_work(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> Ca...
  function insert_log_messages_in_build_outputs (line 737) | fn insert_log_messages_in_build_outputs(
  function prepare_metabuild (line 1192) | fn prepare_metabuild(
  function build_map (line 1263) | pub fn build_map(build_runner: &mut BuildRunner<'_, '_>) -> CargoResult<...
  function prev_build_output (line 1367) | fn prev_build_output(
  type BuildScriptRunFiles (line 1433) | struct BuildScriptRunFiles {
    method for_unit (line 1446) | pub fn for_unit(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> Se...

FILE: src/cargo/core/compiler/fingerprint/dep_info.rs
  constant CURRENT_ENCODED_DEP_INFO_VERSION (line 28) | const CURRENT_ENCODED_DEP_INFO_VERSION: u8 = 1;
  type RustcDepInfo (line 32) | pub struct RustcDepInfo {
  type DepInfoPathType (line 52) | pub enum DepInfoPathType {
  type EncodedDepInfo (line 111) | pub struct EncodedDepInfo {
    method parse (line 117) | pub fn parse(mut bytes: &[u8]) -> Option<EncodedDepInfo> {
    method serialize (line 203) | pub fn serialize(&self) -> CargoResult<Vec<u8>> {
  function translate_dep_info (line 291) | pub fn translate_dep_info(
  function parse_rustc_dep_info (line 386) | pub fn parse_rustc_dep_info(rustc_dep_info: &Path) -> CargoResult<RustcD...
  function parse_dep_info (line 474) | pub fn parse_dep_info(
  function make_absolute_path (line 500) | fn make_absolute_path(
  type ChecksumAlgo (line 524) | pub enum ChecksumAlgo {
    method hash_len (line 530) | fn hash_len(&self) -> usize {
    method fmt (line 550) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Err (line 538) | type Err = InvalidChecksum;
  method from_str (line 540) | fn from_str(s: &str) -> Result<Self, Self::Err> {
  type Checksum (line 559) | pub struct Checksum {
    method new (line 566) | pub fn new(algo: ChecksumAlgo, value: [u8; 32]) -> Self {
    method compute (line 570) | pub fn compute(algo: ChecksumAlgo, contents: impl Read) -> Result<Self...
    method algo (line 629) | pub fn algo(&self) -> ChecksumAlgo {
    method value (line 633) | pub fn value(&self) -> &[u8; 32] {
    method fmt (line 658) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method deserialize (line 682) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type Err (line 639) | type Err = InvalidChecksum;
  method from_str (line 641) | fn from_str(s: &str) -> Result<Self, Self::Err> {
  method serialize (line 673) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  type InvalidChecksum (line 692) | pub enum InvalidChecksum {
  function gen_test (line 706) | fn gen_test(checksum: bool) {
  function round_trip (line 745) | fn round_trip() {
  function round_trip_with_checksums (line 750) | fn round_trip_with_checksums() {
  function path_type_is_u8_max (line 755) | fn path_type_is_u8_max() {
  function parse_v0_fingerprint_dep_info (line 778) | fn parse_v0_fingerprint_dep_info() {

FILE: src/cargo/core/compiler/fingerprint/dirty_reason.rs
  type DirtyReason (line 17) | pub enum DirtyReason {
    method is_fresh_build (line 137) | pub fn is_fresh_build(&self) -> bool {
    method after (line 141) | fn after(old_time: FileTime, new_time: FileTime, what: &'static str) -...
    method present_to (line 149) | pub fn present_to(
  type ShellExt (line 87) | trait ShellExt {
    method dirty_because (line 88) | fn dirty_because(&mut self, unit: &Unit, s: impl fmt::Display) -> Carg...
    method dirty_because (line 92) | fn dirty_because(&mut self, unit: &Unit, s: impl fmt::Display) -> Carg...
  type FileTimeDiff (line 97) | struct FileTimeDiff {
    method fmt (line 103) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type After (line 116) | struct After {
    method fmt (line 123) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  function to_json (line 353) | fn to_json<T: Serialize>(value: &T) -> String {
  function rustc_changed (line 358) | fn rustc_changed() {
  function fresh_build (line 372) | fn fresh_build() {
  function forced (line 386) | fn forced() {
  function nothing_obvious (line 400) | fn nothing_obvious() {
  function features_changed (line 414) | fn features_changed() {
  function rustflags_changed (line 433) | fn rustflags_changed() {
  function env_var_changed_both_some (line 457) | fn env_var_changed_both_some() {
  function env_var_changed_old_none (line 478) | fn env_var_changed_old_none() {
  function dep_info_output_changed (line 499) | fn dep_info_output_changed() {
  function number_of_dependencies_changed (line 518) | fn number_of_dependencies_changed() {
  function unit_dependency_name_changed (line 534) | fn unit_dependency_name_changed() {
  function unit_dependency_info_changed (line 553) | fn unit_dependency_info_changed() {
  function fs_status_stale (line 570) | fn fs_status_stale() {
  function fs_status_missing_file (line 585) | fn fs_status_missing_file() {
  function fs_status_changed_file (line 604) | fn fs_status_changed_file() {
  function fs_status_changed_checksum (line 629) | fn fs_status_changed_checksum() {
  function fs_status_stale_dependency (line 654) | fn fs_status_stale_dependency() {
  function fs_status_stale_dep_fingerprint (line 676) | fn fs_status_stale_dep_fingerprint() {
  function fs_status_unable_to_read_file (line 694) | fn fs_status_unable_to_read_file() {
  function fs_status_failed_to_read_metadata (line 713) | fn fs_status_failed_to_read_metadata() {
  function fs_status_file_size_changed (line 732) | fn fs_status_file_size_changed() {
  function fs_status_missing_checksum (line 755) | fn fs_status_missing_checksum() {
  function fs_status_changed_env (line 774) | fn fs_status_changed_env() {
  function checksum_use_changed (line 796) | fn checksum_use_changed() {
  function rerun_if_changed_output_paths_changed (line 811) | fn rerun_if_changed_output_paths_changed() {
  function local_fingerprint_type_changed (line 837) | fn local_fingerprint_type_changed() {

FILE: src/cargo/core/compiler/fingerprint/mod.rs
  type FingerprintComparison (line 424) | enum FingerprintComparison {
  function prepare_target (line 452) | pub fn prepare_target(
  type DepFingerprint (line 588) | struct DepFingerprint {
    method deserialize (line 769) | fn deserialize<D>(d: D) -> Result<DepFingerprint, D::Error>
    method new (line 1421) | fn new(
  type Fingerprint (line 631) | pub struct Fingerprint {
    method new (line 1027) | fn new() -> Fingerprint {
    method clear_memoized (line 1053) | pub fn clear_memoized(&self) {
    method hash_u64 (line 1057) | fn hash_u64(&self) -> u64 {
    method compare (line 1071) | fn compare(&self, old: &Fingerprint) -> DirtyReason {
    method check_filesystem (line 1239) | fn check_filesystem(
    method hash (line 1372) | fn hash<H: Hasher>(&self, h: &mut H) {
  type FsStatus (line 685) | pub enum FsStatus {
    method up_to_date (line 715) | fn up_to_date(&self) -> bool {
  function serialize (line 732) | pub(super) fn serialize<S>(ft: &FileTime, s: S) -> Result<S::Ok, S::Error>
  function deserialize (line 742) | pub(super) fn deserialize<'de, D>(d: D) -> Result<FileTime, D::Error>
  method serialize (line 754) | fn serialize<S>(&self, ser: S) -> Result<S::Ok, S::Error>
  type LocalFingerprint (line 808) | enum LocalFingerprint {
    method from_env (line 902) | fn from_env<K: AsRef<str>>(
    method find_stale_item (line 927) | fn find_stale_item(
    method kind (line 1016) | fn kind(&self) -> &'static str {
  type StaleItem (line 855) | pub enum StaleItem {
    method log (line 1459) | fn log(&self) {
  function calculate (line 1526) | fn calculate(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> Car...
  function calculate_normal (line 1561) | fn calculate_normal(
  function calculate_run_custom_build (line 1690) | fn calculate_run_custom_build(
  function build_script_local_fingerprints (line 1793) | fn build_script_local_fingerprints(
  function build_script_override_fingerprint (line 1874) | fn build_script_override_fingerprint(
  function local_fingerprints_deps (line 1896) | fn local_fingerprints_deps(
  function write_fingerprint (line 1933) | fn write_fingerprint(loc: &Path, fingerprint: &Fingerprint) -> CargoResu...
  function prepare_init (line 1952) | pub fn prepare_init(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit)...
  function dep_info_loc (line 1965) | pub fn dep_info_loc(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit)...
  function build_root (line 1971) | fn build_root(build_runner: &BuildRunner<'_, '_>) -> PathBuf {
  function compare_old_fingerprint (line 1979) | fn compare_old_fingerprint(
  function _compare_old_fingerprint (line 2024) | fn _compare_old_fingerprint(
  function pkg_fingerprint (line 2052) | fn pkg_fingerprint(bcx: &BuildContext<'_, '_>, pkg: &Package) -> CargoRe...
  function find_stale_file (line 2063) | fn find_stale_file<I, P>(

FILE: src/cargo/core/compiler/fingerprint/rustdoc.rs
  type RustdocFingerprintJson (line 16) | struct RustdocFingerprintJson {
  type RustdocFingerprint (line 37) | pub struct RustdocFingerprint {
    method check_rustdoc_fingerprint (line 64) | pub fn check_rustdoc_fingerprint(build_runner: &BuildRunner<'_, '_>) -...
    method new (line 86) | pub fn new(
    method persist (line 107) | pub fn persist<F>(&self, exec: F) -> CargoResult<()>
    method is_dirty (line 160) | pub fn is_dirty(&self) -> bool {
  function fingerprint_path (line 192) | fn fingerprint_path(build_runner: &BuildRunner<'_, '_>, kind: CompileKin...
  function check_fingerprint (line 202) | fn check_fingerprint(
  function load_on_disk (line 258) | fn load_on_disk(path: &Path) -> Option<RustdocFingerprintJson> {
  function clean_doc (line 276) | fn clean_doc(path: &Path) -> CargoResult<()> {

FILE: src/cargo/core/compiler/future_incompat.rs
  constant REPORT_PREAMBLE (line 49) | pub const REPORT_PREAMBLE: &str = "\
  constant ON_DISK_VERSION (line 62) | const ON_DISK_VERSION: u32 = 0;
  type FutureIncompatReport (line 66) | pub struct FutureIncompatReport {
  type FutureIncompatReportPackage (line 71) | pub struct FutureIncompatReportPackage {
  type FutureBreakageItem (line 80) | pub struct FutureBreakageItem {
  type Diagnostic (line 91) | pub struct Diagnostic {
  constant FUTURE_INCOMPAT_FILE (line 98) | const FUTURE_INCOMPAT_FILE: &str = ".future-incompat-report.json";
  constant MAX_REPORTS (line 100) | const MAX_REPORTS: usize = 5;
  type OnDiskReports (line 104) | pub struct OnDiskReports {
    method save_report (line 141) | pub fn save_report(
    method has_report (line 189) | fn has_report(&self, rendered_per_package: &BTreeMap<String, String>) ...
    method load (line 197) | pub fn load(ws: &Workspace<'_>) -> CargoResult<OnDiskReports> {
    method last_id (line 228) | pub fn last_id(&self) -> u32 {
    method get_report (line 233) | pub fn get_report(&self, id: u32, package: Option<&str>) -> CargoResul...
  type OnDiskReport (line 116) | struct OnDiskReport {
  method default (line 130) | fn default() -> OnDiskReports {
  function render_report (line 275) | fn render_report(per_package_reports: &[FutureIncompatReportPackage]) ->...
  function get_updates (line 303) | fn get_updates(ws: &Workspace<'_>, package_ids: &BTreeSet<PackageId>) ->...
  function save_and_display_report (line 377) | pub fn save_and_display_report(

FILE: src/cargo/core/compiler/job_queue/job.rs
  type Job (line 12) | pub struct Job {
    method new_fresh (line 55) | pub fn new_fresh() -> Job {
    method new_dirty (line 63) | pub fn new_dirty(work: Work, dirty_reason: DirtyReason) -> Job {
    method run (line 72) | pub fn run(self, state: &JobState<'_, '_>) -> CargoResult<()> {
    method freshness (line 79) | pub fn freshness(&self) -> &Freshness {
    method before (line 84) | pub fn before(&mut self, next: Work) {
    method after (line 90) | pub fn after(&mut self, next: Work) {
    method fmt (line 97) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  type Work (line 21) | pub struct Work {
    method new (line 27) | pub fn new<F>(f: F) -> Work
    method noop (line 35) | pub fn noop() -> Work {
    method call (line 40) | pub fn call(self, tx: &JobState<'_, '_>) -> CargoResult<()> {
    method then (line 45) | pub fn then(self, next: Work) -> Work {
  type Freshness (line 107) | pub enum Freshness {
    method is_dirty (line 113) | pub fn is_dirty(&self) -> bool {
    method is_fresh (line 117) | pub fn is_fresh(&self) -> bool {

FILE: src/cargo/core/compiler/job_queue/job_state.rs
  type JobState (line 20) | pub struct JobState<'a, 'gctx> {
  function new (line 60) | pub(super) fn new(
  function running (line 77) | pub fn running(&self, cmd: &ProcessBuilder) {
  function stdout (line 81) | pub fn stdout(&self, stdout: String) -> CargoResult<()> {
  function stderr (line 90) | pub fn stderr(&self, stderr: String) -> CargoResult<()> {
  function emit_diag (line 102) | pub fn emit_diag(
  function warning (line 132) | pub fn warning(&self, warning: String) {
  function rmeta_produced (line 144) | pub fn rmeta_produced(&self) {
  function lock_exclusive (line 150) | pub fn lock_exclusive(&self, lock: &LockKey) -> CargoResult<()> {
  function downgrade_to_shared (line 154) | pub fn downgrade_to_shared(&self, lock: &LockKey) -> CargoResult<()> {
  function on_section_timing_emitted (line 158) | pub fn on_section_timing_emitted(&self, section: SectionTiming) {
  function run_to_finish (line 164) | pub(super) fn run_to_finish(self, job: Job) {
  function future_incompat_report (line 211) | pub fn future_incompat_report(&self, report: Vec<FutureBreakageItem>) {

FILE: src/cargo/core/compiler/job_queue/mod.rs
  type JobQueue (line 159) | pub struct JobQueue<'gctx> {
  type DrainState (line 171) | struct DrainState<'gctx> {
  type WarningCount (line 215) | pub struct WarningCount {
    method disallow_fixable (line 232) | fn disallow_fixable(&mut self) {
    method fixable_allowed (line 241) | fn fixable_allowed(&self) -> bool {
  type FixableWarnings (line 252) | pub enum FixableWarnings {
  type ErrorsDuringDrain (line 259) | pub struct ErrorsDuringDrain {
    method to_error (line 1282) | fn to_error(&self) -> Option<anyhow::Error> {
  type ErrorToHandle (line 263) | struct ErrorToHandle {
    method from (line 286) | fn from(error: E) -> Self {
  type JobId (line 295) | pub struct JobId(pub u32);
    method fmt (line 298) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  type DiagDedupe (line 304) | struct DiagDedupe<'gctx> {
  function new (line 310) | fn new(gctx: &'gctx GlobalContext) -> Self {
  function emit_diag (line 321) | fn emit_diag(&self, diag: &str) -> CargoResult<bool> {
  type Artifact (line 341) | enum Artifact {
  type Message (line 353) | enum Message {
  function new (line 390) | pub fn new(bcx: &BuildContext<'_, 'gctx>) -> JobQueue<'gctx> {
  function enqueue (line 398) | pub fn enqueue(
  function execute (line 483) | pub fn execute(mut self, build_runner: &mut BuildRunner<'_, '_>) -> Carg...
  function spawn_work_if_possible (line 556) | fn spawn_work_if_possible<'s>(
  function has_extra_tokens (line 606) | fn has_extra_tokens(&self) -> bool {
  function handle_event (line 610) | fn handle_event(
  function wait_for_events (line 759) | fn wait_for_events(&mut self) -> Vec<Message> {
  function drain_the_queue (line 788) | fn drain_the_queue<'s>(
  function handle_error (line 899) | fn handle_error(
  function tick_progress (line 921) | fn tick_progress(&mut self) {
  function name_for_progress (line 939) | fn name_for_progress(&self, unit: &Unit) -> String {
  function run (line 972) | fn run<'s>(
  function emit_log_messages (line 1008) | fn emit_log_messages(
  function bump_warning_count (line 1048) | fn bump_warning_count(&mut self, id: JobId, lint: bool, emitted: bool, f...
  function report_warning_count (line 1077) | fn report_warning_count(
  function finish (line 1161) | fn finish(
  function note_working_on (line 1194) | fn note_working_on(
  function back_compat_notice (line 1250) | fn back_compat_notice(

FILE: src/cargo/core/compiler/layout.rs
  type Layout (line 220) | pub struct Layout {
    method new (line 232) | pub fn new(
    method prepare (line 327) | pub fn prepare(&mut self) -> CargoResult<()> {
    method artifact_dir (line 336) | pub fn artifact_dir(&self) -> Option<&ArtifactDirLayout> {
    method build_dir (line 340) | pub fn build_dir(&self) -> &BuildDirLayout {
  type ArtifactDirLayout (line 345) | pub struct ArtifactDirLayout {
    method prepare (line 361) | pub fn prepare(&mut self) -> CargoResult<()> {
    method dest (line 367) | pub fn dest(&self) -> &Path {
    method examples (line 371) | pub fn examples(&self) -> &Path {
    method doc (line 375) | pub fn doc(&self) -> &Path {
    method timings (line 379) | pub fn timings(&self) -> &Path {
  type BuildDirLayout (line 384) | pub struct BuildDirLayout {
    method prepare (line 413) | pub fn prepare(&mut self) -> CargoResult<()> {
    method deps (line 425) | pub fn deps(&self, pkg_dir: &str) -> PathBuf {
    method out_force_new_layout (line 435) | pub fn out_force_new_layout(&self, pkg_dir: &str) -> PathBuf {
    method legacy_deps (line 439) | pub fn legacy_deps(&self) -> &Path {
    method root (line 442) | pub fn root(&self) -> &Path {
    method examples (line 446) | pub fn examples(&self) -> &Path {
    method incremental (line 450) | pub fn incremental(&self) -> &Path {
    method fingerprint (line 454) | pub fn fingerprint(&self, pkg_dir: &str) -> PathBuf {
    method legacy_fingerprint (line 462) | pub fn legacy_fingerprint(&self) -> &Path {
    method build (line 466) | pub fn build(&self) -> &Path {
    method build_script (line 470) | pub fn build_script(&self, pkg_dir: &str) -> PathBuf {
    method build_script_execution (line 478) | pub fn build_script_execution(&self, pkg_dir: &str) -> PathBuf {
    method artifact (line 486) | pub fn artifact(&self, pkg_dir: &str, kind: &str) -> PathBuf {
    method build_unit (line 494) | pub fn build_unit(&self, pkg_dir: &str) -> PathBuf {
    method prepare_tmp (line 498) | pub fn prepare_tmp(&self) -> CargoResult<&Path> {

FILE: src/cargo/core/compiler/links.rs
  function validate_links (line 20) | pub fn validate_links(resolve: &Resolve, unit_graph: &UnitGraph) -> Carg...

FILE: src/cargo/core/compiler/locking.rs
  type LockManager (line 18) | pub struct LockManager {
    method new (line 23) | pub fn new() -> Self {
    method lock_shared (line 36) | pub fn lock_shared(
    method lock (line 62) | pub fn lock(&self, key: &LockKey) -> CargoResult<()> {
    method downgrade_to_shared (line 75) | pub fn downgrade_to_shared(&self, key: &LockKey) -> CargoResult<()> {
    method unlock (line 85) | pub fn unlock(&self, key: &LockKey) -> CargoResult<()> {
  type LockKey (line 96) | pub struct LockKey(PathBuf);
    method from_unit (line 99) | fn from_unit(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> Self {
  method fmt (line 105) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {

FILE: src/cargo/core/compiler/lto.rs
  type Lto (line 20) | pub enum Lto {
  function generate (line 45) | pub fn generate(bcx: &BuildContext<'_, '_>) -> CargoResult<HashMap<Unit,...
  function needs_object (line 72) | fn needs_object(crate_types: &[CrateType]) -> bool {
  function lto_when_needs_object (line 77) | fn lto_when_needs_object(crate_types: &[CrateType]) -> Lto {
  function calculate (line 91) | fn calculate(

FILE: src/cargo/core/compiler/mod.rs
  constant RUSTDOC_CRATE_VERSION_FLAG (line 120) | const RUSTDOC_CRATE_VERSION_FLAG: &str = "--crate-version";
  type Executor (line 125) | pub trait Executor: Send + Sync + 'static {
    method init (line 129) | fn init(&self, _build_runner: &BuildRunner<'_, '_>, _unit: &Unit) {}
    method exec (line 133) | fn exec(
    method force_rebuild (line 145) | fn force_rebuild(&self, _unit: &Unit) -> bool {
    method exec (line 157) | fn exec(
  type DefaultExecutor (line 153) | pub struct DefaultExecutor;
  function compile (line 181) | fn compile<'gctx>(
  function make_failed_scrape_diagnostic (line 273) | fn make_failed_scrape_diagnostic(
  function rustc (line 293) | fn rustc(
  function verbose_if_simple_exit_code (line 605) | fn verbose_if_simple_exit_code(err: Error) -> Error {
  function prebuild_lock_exclusive (line 618) | fn prebuild_lock_exclusive(lock: LockKey) -> Work {
  function downgrade_lock_to_shared (line 625) | fn downgrade_lock_to_shared(lock: LockKey) -> Work {
  function link_targets (line 634) | fn link_targets(
  function add_plugin_deps (line 726) | fn add_plugin_deps(
  function get_dynamic_search_path (line 749) | fn get_dynamic_search_path(path: &Path) -> &Path {
  function filter_dynamic_search_path (line 761) | fn filter_dynamic_search_path<'a, I>(paths: I, root_output: &Path) -> Ve...
  function prepare_rustc (line 788) | fn prepare_rustc(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> Car...
  function prepare_rustdoc (line 849) | fn prepare_rustdoc(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> C...
  function rustdoc (line 970) | fn rustdoc(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> Cargo...
  function crate_version_flag_already_present (line 1122) | fn crate_version_flag_already_present(rustdoc: &ProcessBuilder) -> bool {
  function append_crate_version_flag (line 1129) | fn append_crate_version_flag(unit: &Unit, rustdoc: &mut ProcessBuilder) {
  function add_cap_lints (line 1138) | fn add_cap_lints(bcx: &BuildContext<'_, '_>, unit: &Unit, cmd: &mut Proc...
  function add_allow_features (line 1154) | fn add_allow_features(build_runner: &BuildRunner<'_, '_>, cmd: &mut Proc...
  function add_error_format_and_color (line 1175) | fn add_error_format_and_color(build_runner: &BuildRunner<'_, '_>, cmd: &...
  function build_base_args (line 1208) | fn build_base_args(
  function features_args (line 1468) | fn features_args(unit: &Unit) -> Vec<OsString> {
  function trim_paths_args_rustdoc (line 1480) | fn trim_paths_args_rustdoc(
  function trim_paths_args (line 1511) | fn trim_paths_args(
  function sysroot_remap (line 1537) | fn sysroot_remap(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> OsS...
  function package_remap (line 1565) | fn package_remap(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> OsS...
  function build_dir_remap (line 1613) | fn build_dir_remap(build_runner: &BuildRunner<'_, '_>) -> OsString {
  function check_cfg_args (line 1622) | fn check_cfg_args(unit: &Unit) -> Vec<OsString> {
  function lto_args (line 1671) | fn lto_args(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> Vec<OsSt...
  function build_deps_args (line 1696) | fn build_deps_args(
  function add_dep_arg (line 1787) | fn add_dep_arg<'a, 'b: 'a>(
  function add_custom_flags (line 1805) | fn add_custom_flags(
  function lib_search_paths (line 1830) | pub fn lib_search_paths(
  function extern_args (line 1866) | pub fn extern_args(
  function add_codegen_linker (line 1958) | fn add_codegen_linker(
  function add_codegen_incremental (line 1984) | fn add_codegen_incremental(
  function envify (line 1995) | fn envify(s: &str) -> String {
  type OutputOptions (line 2004) | struct OutputOptions {
    method new (line 2027) | fn new(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> OutputOptio...
  type ManifestErrorContext (line 2049) | struct ManifestErrorContext {
    method new (line 2397) | fn new(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> ManifestErr...
    method requested_target_names (line 2441) | fn requested_target_names(&self) -> impl Iterator<Item = &str> {
    method find_crate_span (line 2461) | fn find_crate_span(&self, unrenamed: &str) -> Option<Range<usize>> {
  function on_stdout_line (line 2072) | fn on_stdout_line(
  function on_stderr_line (line 2082) | fn on_stderr_line(
  function on_stderr_line_inner (line 2104) | fn on_stderr_line_inner(
  function replay_output_cache (line 2534) | fn replay_output_cache(
  function descriptive_pkg_name (line 2576) | fn descriptive_pkg_name(name: &str, target: &Target, mode: &CompileMode)...
  function apply_env_config (line 2591) | pub(crate) fn apply_env_config(
  function should_include_scrape_units (line 2606) | fn should_include_scrape_units(bcx: &BuildContext<'_, '_>, unit: &Unit) ...
  function scrape_output_path (line 2611) | fn scrape_output_path(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -...
  function rustdoc_dep_info_loc (line 2619) | fn rustdoc_dep_info_loc(build_runner: &BuildRunner<'_, '_>, unit: &Unit)...

FILE: src/cargo/core/compiler/output_depinfo.rs
  function render_filename (line 15) | fn render_filename<P: AsRef<Path>>(path: P, basedir: Option<&str>) -> Ca...
  function add_deps_for_unit (line 44) | fn add_deps_for_unit(
  function output_depinfo (line 132) | pub fn output_depinfo(build_runner: &mut BuildRunner<'_, '_>, unit: &Uni...

FILE: src/cargo/core/compiler/output_sbom.rs
  type SbomFormatVersion (line 20) | pub struct SbomFormatVersion(u32);
  type SbomDependencyType (line 24) | enum SbomDependencyType {
  type SbomIndex (line 33) | struct SbomIndex(usize);
  type SbomDependency (line 37) | struct SbomDependency {
  type SbomCrate (line 44) | struct SbomCrate {
    method new (line 52) | pub fn new(unit: &Unit) -> Self {
  type SbomRustc (line 66) | struct SbomRustc {
    method from (line 76) | fn from(rustc: &Rustc) -> Self {
  type Sbom (line 90) | pub struct Sbom {
  function build_sbom (line 99) | pub fn build_sbom(build_runner: &BuildRunner<'_, '_>, root: &Unit) -> Ca...
  function build_sbom_graph (line 141) | fn build_sbom_graph<'a>(

FILE: src/cargo/core/compiler/rustdoc.rs
  constant DOCS_RS_URL (line 15) | const DOCS_RS_URL: &'static str = "https://docs.rs/";
  type RustdocExternMode (line 21) | pub enum RustdocExternMode {
    method from (line 31) | fn from(s: String) -> RustdocExternMode {
    method fmt (line 41) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
    method deserialize (line 51) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type RustdocExternMap (line 66) | pub struct RustdocExternMap {
    method hash (line 95) | fn hash<H: hash::Hasher>(&self, into: &mut H) {
  method default (line 75) | fn default() -> Self {
  function default_crates_io_to_docs_rs (line 83) | fn default_crates_io_to_docs_rs<'de, D: serde::Deserializer<'de>>(
  function build_all_urls (line 108) | fn build_all_urls(
  function add_root_urls (line 171) | pub fn add_root_urls(
  function add_output_format (line 249) | pub fn add_output_format(
  type RustdocScrapeExamples (line 273) | pub enum RustdocScrapeExamples {
    method is_enabled (line 280) | pub fn is_enabled(&self) -> bool {
    method is_unset (line 284) | pub fn is_unset(&self) -> bool {
  function scrape_units_have_dep_on (line 299) | pub fn scrape_units_have_dep_on<'a>(&'a self, unit: &'a Unit) -> Vec<&'a...
  function unit_can_fail_for_docscraping (line 312) | pub fn unit_can_fail_for_docscraping(&self, unit: &Unit) -> bool {

FILE: src/cargo/core/compiler/standard_lib.rs
  function std_crates (line 18) | fn std_crates<'a>(crates: &'a [String], default: &'static str, units: &[...
  function resolve_std (line 49) | pub fn resolve_std<'gctx>(
  function generate_std_roots (line 119) | pub fn generate_std_roots(
  function generate_roots (line 157) | fn generate_roots(
  function detect_sysroot_src_path (line 219) | fn detect_sysroot_src_path(target_data: &RustcTargetData<'_>) -> CargoRe...

FILE: src/cargo/core/compiler/timings/mod.rs
  type Timings (line 32) | pub struct Timings<'gctx> {
  type CompilationSection (line 56) | pub struct CompilationSection {
  type UnitData (line 67) | pub struct UnitData {
  function new (line 82) | pub fn new(bcx: &BuildContext<'_, 'gctx>) -> Timings<'gctx> {
  function unit_start (line 120) | pub fn unit_start(&mut self, build_runner: &BuildRunner<'_, '_>, id: Job...
  function unit_rmeta_finished (line 152) | pub fn unit_rmeta_finished(
  function unit_finished (line 178) | pub fn unit_finished(
  function unit_section_timing (line 202) | pub fn unit_section_timing(
  function record_cpu (line 233) | pub fn record_cpu(&mut self) {
  function finished (line 260) | pub fn finished(
  type SectionTimingEvent (line 298) | pub enum SectionTimingEvent {
  type SectionTiming (line 306) | pub struct SectionTiming {

FILE: src/cargo/core/compiler/timings/report.rs
  type SectionName (line 19) | pub enum SectionName {
    method name (line 28) | fn name(&self) -> Cow<'static, str> {
    method capitalized_name (line 37) | fn capitalized_name(&self) -> String {
    method serialize (line 53) | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  type SectionData (line 63) | pub struct SectionData {
    method duration (line 71) | fn duration(&self) -> f64 {
  type Concurrency (line 78) | pub struct Concurrency {
  type RenderContext (line 90) | pub struct RenderContext<'a> {
  function write_html (line 127) | pub fn write_html(ctx: RenderContext<'_>, f: &mut impl Write) -> CargoRe...
  function write_summary_table (line 161) | fn write_summary_table(
  function write_js_data (line 246) | fn write_js_data(ctx: &RenderContext<'_>, f: &mut impl Write) -> CargoRe...
  function write_unit_table (line 266) | fn write_unit_table(ctx: &RenderContext<'_>, f: &mut impl Write) -> Carg...
  function compute_concurrency (line 354) | pub fn compute_concurrency(unit_data: &[UnitData]) -> Vec<Concurrency> {
  function aggregate_sections (line 486) | pub fn aggregate_sections(
  function round_to_centisecond (line 567) | pub fn round_to_centisecond(x: f64) -> f64 {

FILE: src/cargo/core/compiler/timings/timings.js
  constant X_LINE (line 2) | const X_LINE = 50;
  constant MARGIN (line 4) | const MARGIN = 5;
  constant Y_LINE (line 6) | const Y_LINE = 35;
  constant MIN_TICK_DIST (line 8) | const MIN_TICK_DIST = 50;
  constant RADIUS (line 10) | const RADIUS = 3;
  constant BOX_HEIGHT (line 12) | const BOX_HEIGHT = 25;
  constant Y_TICK_DIST (line 14) | const Y_TICK_DIST = BOX_HEIGHT + 2;
  constant HIT_BOXES (line 17) | let HIT_BOXES = [];
  constant LAST_HOVER (line 19) | let LAST_HOVER = null;
  constant UNIT_COORDS (line 21) | let UNIT_COORDS = {};
  constant REVERSE_UNIT_DEPS (line 23) | let REVERSE_UNIT_DEPS = {};
  constant REVERSE_UNIT_RMETA_DEPS (line 24) | let REVERSE_UNIT_RMETA_DEPS = {};
  constant UNIT_BY_INDEX (line 25) | let UNIT_BY_INDEX = {};
  constant MIN_GRAPH_WIDTH (line 27) | const MIN_GRAPH_WIDTH = 200;
  constant MAX_GRAPH_WIDTH (line 28) | const MAX_GRAPH_WIDTH = 4096;
  constant SCALE_PIXELS_PER_SEC (line 31) | const SCALE_PIXELS_PER_SEC = 8;
  function scale_to_graph_width (line 33) | function scale_to_graph_width(scale) {
  function width_to_graph_scale (line 47) | function width_to_graph_scale(width) {
  constant TEXT_COLOR (line 65) | const TEXT_COLOR = getCssColor('--text');
  constant BG_COLOR (line 66) | const BG_COLOR = getCssColor('--background');
  constant CANVAS_BG (line 67) | const CANVAS_BG = getCssColor('--canvas-background');
  constant AXES_COLOR (line 68) | const AXES_COLOR = getCssColor('--canvas-axes');
  constant GRID_COLOR (line 69) | const GRID_COLOR = getCssColor('--canvas-grid');
  constant CODEGEN_COLOR (line 70) | const CODEGEN_COLOR = getCssColor('--canvas-codegen');
  constant LINK_COLOR (line 71) | const LINK_COLOR = getCssColor('--canvas-link');
  constant OTHER_COLOR (line 73) | const OTHER_COLOR = getCssColor('--canvas-other');
  constant CUSTOM_BUILD_COLOR (line 74) | const CUSTOM_BUILD_COLOR = getCssColor('--canvas-custom-build');
  constant NOT_CUSTOM_BUILD_COLOR (line 75) | const NOT_CUSTOM_BUILD_COLOR = getCssColor('--canvas-not-custom-build');
  constant DEP_LINE_COLOR (line 76) | const DEP_LINE_COLOR = getCssColor('--canvas-dep-line');
  constant DEP_LINE_HIGHLIGHTED_COLOR (line 77) | const DEP_LINE_HIGHLIGHTED_COLOR = getCssColor('--canvas-dep-line-highli...
  constant CPU_COLOR (line 78) | const CPU_COLOR = getCssColor('--canvas-cpu');
  function compute_unit_coords (line 92) | function compute_unit_coords(units, px_per_sec) {
  class SvgRenderer (line 123) | class SvgRenderer {
    method constructor (line 124) | constructor() {}
    method render_pipeline_graph (line 126) | render_pipeline_graph() {
    method _draw_legend (line 298) | _draw_legend(width, entries) {
    method _draw_dep_lines (line 334) | _draw_dep_lines(unit_idx) {
    method _draw_one_dep_line (line 348) | _draw_one_dep_line(from_x, from_y, to_unit, from_unit) {
    method render_timing_graph (line 360) | render_timing_graph() {
    method _draw_graph_axes (line 523) | _draw_graph_axes({ canvas_height, graph_height, graph_width, px_per_se...
    method _roundedRect (line 564) | _roundedRect(section_name, x, y, width, unit) {
  function measure_text_width (line 574) | function measure_text_width(text) {
  function get_codegen_section_x (line 589) | function get_codegen_section_x(sections) {
  function get_legend_entries (line 598) | function get_legend_entries(presentSections) {
  function graph_dimension (line 633) | function graph_dimension(graph_height) {
  function split_ticks (line 643) | function split_ticks(max_value, px_per_v, max_px) {
  function hl (line 677) | function hl(i) {

FILE: src/cargo/core/compiler/unit.rs
  type UnitIndex (line 30) | pub struct UnitIndex(pub u64);
    method fmt (line 33) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Res
Copy disabled (too large) Download .json
Condensed preview — 2481 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,163K chars).
[
  {
    "path": ".cargo/config.toml",
    "chars": 477,
    "preview": "[alias]\nbuild-man = \"run --package xtask-build-man --\"\nstale-label = \"run --package xtask-stale-label --\"\nbump-check = \""
  },
  {
    "path": ".git-blame-ignore-revs",
    "chars": 4904,
    "preview": "# Use `git config blame.ignorerevsfile .git-blame-ignore-revs` to make `git blame` ignore the following commits.\n\n# refa"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 1198,
    "preview": "name: Bug Report\ndescription: Create a report to help us improve\nlabels: [\"C-bug\", \"S-triage\"]\nbody:\n  - type: markdown\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 374,
    "preview": "contact_links:\n  - name: Question\n    url: https://users.rust-lang.org\n    about: >\n      Got a question about Cargo? As"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "chars": 1360,
    "preview": "name: Feature Request\ndescription: Suggest an idea for enhancing Cargo\nlabels: [\"C-feature-request\", \"S-triage\"]\nbody:\n "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/new_lint.yml",
    "chars": 1173,
    "preview": "name: New lint suggestion\ndescription: Suggest a new Cargo lint.\nlabels: [\"A-new-lint\", \"S-triage\"]\nbody:\n  - type: mark"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/tracking_issue.yml",
    "chars": 2180,
    "preview": "name: Tracking Issue\ndescription: A tracking issue for an accepted feature or RFC in Cargo.\ntitle: \"Tracking Issue for _"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 449,
    "preview": "_Thanks for the pull request 🎉!_\n_Please read the contribution guide: <https://doc.crates.io/contrib/>._\n\n### What does "
  },
  {
    "path": ".github/renovate.json5",
    "chars": 3222,
    "preview": "{\n  schedule: [\n    'before 5am on the first day of the month',\n  ],\n  semanticCommits: 'enabled',\n  configMigration: tr"
  },
  {
    "path": ".github/workflows/audit.yml",
    "chars": 624,
    "preview": "name: Security audit\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    paths:\n      - '**/Cargo.toml'\n      - '**/"
  },
  {
    "path": ".github/workflows/contrib.yml",
    "chars": 1602,
    "preview": "name: Contrib Deploy\non:\n  push:\n    branches:\n      - master\n\nconcurrency:\n  cancel-in-progress: false\n  group: \"gh-pag"
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 12081,
    "preview": "name: CI\non:\n  merge_group:\n  pull_request:\n    branches:\n      - \"**\"\n\ndefaults:\n  run:\n    shell: bash\n\npermissions:\n "
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 777,
    "preview": "# Publish Cargo to crates.io whenever a new tag is pushed. Tags are pushed by\n# the Rust release process (https://github"
  },
  {
    "path": ".gitignore",
    "chars": 152,
    "preview": "/target\n/Cargo.lock\n/config.stamp\n/Makefile\n/config.mk\n/src/doc/build\n/src/etc/*.pyc\n/src/registry/target\nrustc\n__pycach"
  },
  {
    "path": ".ignore",
    "chars": 664,
    "preview": "# Output generated from src/doc/man\n#\n# The goal is to help people find the right file to edit\nsrc/doc/man/generated_txt"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 114,
    "preview": "# Changelog\n\nThe changelog has moved to the [Cargo Book](https://doc.rust-lang.org/nightly/cargo/CHANGELOG.html).\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 131,
    "preview": "# The Rust Code of Conduct\n\nThe Code of Conduct for this repository [can be found online](https://www.rust-lang.org/cond"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 835,
    "preview": "# Contributing to Cargo\n\nContributing documentation has moved to the **[Cargo Contributor Guide]**.\n\n[Cargo Contributor "
  },
  {
    "path": "Cargo.toml",
    "chars": 9641,
    "preview": "[workspace]\nresolver = \"2\"\nmembers = [\n  \"crates/*\",\n  \"credential/*\",\n  \"benches/benchsuite\",\n  \"benches/capture\",\n]\nex"
  },
  {
    "path": "LICENSE-APACHE",
    "chars": 10860,
    "preview": "                              Apache License\n                        Version 2.0, January 2004\n                     http"
  },
  {
    "path": "LICENSE-MIT",
    "chars": 1023,
    "preview": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentati"
  },
  {
    "path": "LICENSE-THIRD-PARTY",
    "chars": 68430,
    "preview": "The Cargo source code itself does not bundle any third party libraries, but it\ndepends on a number of libraries which ca"
  },
  {
    "path": "README.md",
    "chars": 4841,
    "preview": "# Cargo\n\nCargo downloads your Rust project’s dependencies and compiles your project.\n\n**To start using Cargo**, learn mo"
  },
  {
    "path": "benches/README.md",
    "chars": 6378,
    "preview": "# Cargo Benchmarking\n\nThis directory contains some benchmarks for cargo itself. This uses\n[Criterion] for running benchm"
  },
  {
    "path": "benches/benchsuite/Cargo.toml",
    "chars": 579,
    "preview": "[package]\nname = \"benchsuite\"\nversion = \"0.0.0\"\nedition.workspace = true\nlicense.workspace = true\nrepository.workspace ="
  },
  {
    "path": "benches/benchsuite/README.md",
    "chars": 192,
    "preview": "> This crate is maintained by the Cargo team, primarily for use by Cargo\n> and not intended for external use. This\n> cra"
  },
  {
    "path": "benches/benchsuite/benches/global_cache_tracker.rs",
    "chars": 5168,
    "preview": "//! Benchmarks for the global cache tracker.\n\nuse cargo::core::global_cache_tracker::{self, DeferredGlobalLastUse, Globa"
  },
  {
    "path": "benches/benchsuite/benches/resolve.rs",
    "chars": 5524,
    "preview": "use benchsuite::fixtures;\nuse cargo::GlobalContext;\nuse cargo::core::compiler::{CompileKind, RustcTargetData};\nuse cargo"
  },
  {
    "path": "benches/benchsuite/benches/workspace_initialization.rs",
    "chars": 1305,
    "preview": "use benchsuite::fixtures;\nuse cargo::core::Workspace;\nuse criterion::{Criterion, criterion_group, criterion_main};\n\nfn w"
  },
  {
    "path": "benches/benchsuite/global-cache-tracker/random-sample",
    "chars": 26345,
    "preview": "github.com-1ecc6299db9ec823,tungstenite-0.18.0,218740\ngithub.com-1ecc6299db9ec823,integer-encoding-1.1.5,30672\ngithub.co"
  },
  {
    "path": "benches/benchsuite/src/bin/capture-last-use.rs",
    "chars": 5491,
    "preview": "//! Utility for capturing a global cache last-use database based on the files\n//! on a real-world system.\n//!\n//! This w"
  },
  {
    "path": "benches/benchsuite/src/lib.rs",
    "chars": 6630,
    "preview": "//! > This crate is maintained by the Cargo team, primarily for use by Cargo\n//! > and not intended for external use. Th"
  },
  {
    "path": "benches/capture/Cargo.toml",
    "chars": 376,
    "preview": "[package]\nname = \"capture\"\nversion = \"0.1.0\"\nedition.workspace = true\nlicense.workspace = true\ndescription = \"Tool for c"
  },
  {
    "path": "benches/capture/src/main.rs",
    "chars": 6099,
    "preview": "//! This tool helps to capture the `Cargo.toml` files of a workspace.\n//!\n//! Run it by passing a list of workspaces to "
  },
  {
    "path": "build.rs",
    "chars": 5422,
    "preview": "use flate2::{Compression, GzBuilder};\nuse std::ffi::OsStr;\nuse std::fs;\nuse std::path::Path;\nuse std::process::Command;\n"
  },
  {
    "path": "ci/clean-test-output.sh",
    "chars": 134,
    "preview": "#!/bin/bash\n# This script remove test and benchmark output and displays disk usage.\n\nset -euo pipefail\n\ndf -h\nrm -rf tar"
  },
  {
    "path": "ci/dump-environment.sh",
    "chars": 391,
    "preview": "#!/bin/bash\n# This script dumps information about the build environment to stdout.\n\nset -euo pipefail\nIFS=$'\\n\\t'\n\necho "
  },
  {
    "path": "ci/fetch-smoke-test.sh",
    "chars": 597,
    "preview": "#!/bin/bash\n# This script builds with static curl, and verifies that fetching works.\n\nset -ex\n\nif [[ -z \"$RUNNER_TEMP\" ]"
  },
  {
    "path": "ci/generate.py",
    "chars": 1706,
    "preview": "#!/usr/bin/env python3\n\nMAPPING = {\n    \"build-script.html\": \"https://doc.rust-lang.org/cargo/reference/build-scripts.ht"
  },
  {
    "path": "ci/validate-man.sh",
    "chars": 637,
    "preview": "#!/bin/bash\n# This script validates that there aren't any changes to the man pages.\n\nset -e\n\ncargo_man=\"src/doc\"\nmdman_m"
  },
  {
    "path": "ci/validate-version-bump.sh",
    "chars": 891,
    "preview": "#!/bin/bash\n# This script checks if a crate needs a version bump.\n#\n# At the time of writing, it doesn't check what kind"
  },
  {
    "path": "clippy.toml",
    "chars": 620,
    "preview": "allow-print-in-tests = true\nallow-dbg-in-tests = true\ndisallowed-methods = [\n    { path = \"std::env::var\", reason = \"use"
  },
  {
    "path": "crates/build-rs/Cargo.toml",
    "chars": 347,
    "preview": "[package]\nname = \"build-rs\"\nversion = \"0.3.4\"\nrust-version.workspace = true\nedition.workspace = true\nlicense.workspace ="
  },
  {
    "path": "crates/build-rs/README.md",
    "chars": 133,
    "preview": "> This crate is maintained by the Cargo team for use by the wider\n> ecosystem. This crate follows semver compatibility f"
  },
  {
    "path": "crates/build-rs/src/ident.rs",
    "chars": 843,
    "preview": "use unicode_ident::{is_xid_continue, is_xid_start};\n\npub(crate) fn is_feature_name(s: &str) -> bool {\n    s.chars()\n    "
  },
  {
    "path": "crates/build-rs/src/input.rs",
    "chars": 22201,
    "preview": "//! Inputs from the build system to the build script.\n//!\n//! This crate does not do any caching or interpreting of the "
  },
  {
    "path": "crates/build-rs/src/lib.rs",
    "chars": 1530,
    "preview": "//! build-rs provides a strongly typed interface around the Cargo build script\n//! protocol. Cargo provides inputs to th"
  },
  {
    "path": "crates/build-rs/src/output.rs",
    "chars": 17453,
    "preview": "//! Outputs from the build script to the build system.\n//!\n//! This crate assumes that stdout is at a new line whenever "
  },
  {
    "path": "crates/build-rs-test-lib/Cargo.toml",
    "chars": 189,
    "preview": "[package]\nname = \"build-rs-test-lib\"\nversion = \"0.0.0\"\nedition.workspace = true\npublish = false\n\n[features]\nunstable = ["
  },
  {
    "path": "crates/build-rs-test-lib/build.rs",
    "chars": 2578,
    "preview": "fn main() {\n    smoke_test_inputs();\n\n    build_rs::output::rerun_if_changed(\"build.rs\");\n    build_rs::output::rustc_ch"
  },
  {
    "path": "crates/build-rs-test-lib/src/lib.rs",
    "chars": 73,
    "preview": "#[test]\nfn test() {\n    const { assert!(cfg!(did_run_build_script)) };\n}\n"
  },
  {
    "path": "crates/cargo-platform/Cargo.toml",
    "chars": 568,
    "preview": "[package]\nname = \"cargo-platform\"\nversion = \"0.3.3\"\nedition.workspace = true\nlicense.workspace = true\nrust-version.works"
  },
  {
    "path": "crates/cargo-platform/README.md",
    "chars": 133,
    "preview": "> This crate is maintained by the Cargo team for use by the wider\n> ecosystem. This crate follows semver compatibility f"
  },
  {
    "path": "crates/cargo-platform/examples/matches.rs",
    "chars": 1575,
    "preview": "//! This example demonstrates how to filter a Platform based on the current\n//! host target.\n\n#![allow(clippy::print_std"
  },
  {
    "path": "crates/cargo-platform/src/cfg.rs",
    "chars": 13263,
    "preview": "use crate::error::{ParseError, ParseErrorKind::*};\nuse std::fmt;\nuse std::hash::{Hash, Hasher};\nuse std::iter;\nuse std::"
  },
  {
    "path": "crates/cargo-platform/src/error.rs",
    "chars": 1817,
    "preview": "use std::fmt;\n\n#[derive(Debug)]\npub struct ParseError {\n    kind: ParseErrorKind,\n    orig: String,\n}\n\n#[non_exhaustive]"
  },
  {
    "path": "crates/cargo-platform/src/lib.rs",
    "chars": 6841,
    "preview": "//! Platform definition used by Cargo.\n//!\n//! This defines a [`Platform`] type which is used in Cargo to specify a targ"
  },
  {
    "path": "crates/cargo-platform/tests/test_cfg.rs",
    "chars": 8752,
    "preview": "use cargo_platform::{Cfg, CfgExpr, Ident, Platform};\nuse std::fmt;\nuse std::str::FromStr;\n\nmacro_rules! c {\n    ($a:iden"
  },
  {
    "path": "crates/cargo-test-macro/Cargo.toml",
    "chars": 273,
    "preview": "[package]\nname = \"cargo-test-macro\"\nversion = \"0.4.11\"\nedition.workspace = true\nrust-version = \"1.94\"  # MSRV:1\nlicense."
  },
  {
    "path": "crates/cargo-test-macro/README.md",
    "chars": 192,
    "preview": "> This crate is maintained by the Cargo team, primarily for use by Cargo\n> and not intended for external use. This\n> cra"
  },
  {
    "path": "crates/cargo-test-macro/src/lib.rs",
    "chars": 16136,
    "preview": "//! # Cargo test macro.\n//!\n//! This is meant to be consumed alongside `cargo-test-support`. See\n//! <https://rust-lang."
  },
  {
    "path": "crates/cargo-test-support/Cargo.toml",
    "chars": 969,
    "preview": "[package]\nname = \"cargo-test-support\"\nversion = \"0.11.1\"\nedition.workspace = true\nrust-version = \"1.94\"  # MSRV:1\nlicens"
  },
  {
    "path": "crates/cargo-test-support/README.md",
    "chars": 192,
    "preview": "> This crate is maintained by the Cargo team, primarily for use by Cargo\n> and not intended for external use. This\n> cra"
  },
  {
    "path": "crates/cargo-test-support/build.rs",
    "chars": 277,
    "preview": "#![allow(clippy::disallowed_methods)]\n\nfn main() {\n    println!(\"cargo:rustc-check-cfg=cfg(emulate_second_only_system)\")"
  },
  {
    "path": "crates/cargo-test-support/containers/apache/Dockerfile",
    "chars": 779,
    "preview": "FROM httpd:2.4-alpine\n\nRUN apk add --no-cache git git-daemon openssl\n\nCOPY bar /repos/bar\nWORKDIR /repos/bar\nRUN git con"
  },
  {
    "path": "crates/cargo-test-support/containers/apache/bar/Cargo.toml",
    "chars": 58,
    "preview": "[package]\nname = \"bar\"\nversion = \"1.0.0\"\nedition = \"2021\"\n"
  },
  {
    "path": "crates/cargo-test-support/containers/apache/bar/src/lib.rs",
    "chars": 24,
    "preview": "// Intentionally blank.\n"
  },
  {
    "path": "crates/cargo-test-support/containers/apache/httpd-cargo.conf",
    "chars": 358,
    "preview": "SetEnv GIT_PROJECT_ROOT /repos\nSetEnv GIT_HTTP_EXPORT_ALL\nScriptAlias /repos /usr/libexec/git-core/git-http-backend/\nLoa"
  },
  {
    "path": "crates/cargo-test-support/containers/sshd/Dockerfile",
    "chars": 851,
    "preview": "FROM alpine:3.23\n\nRUN apk add --no-cache openssh git\nRUN apk upgrade --no-cache libcrypto3\nRUN ssh-keygen -A\n\nRUN addgro"
  },
  {
    "path": "crates/cargo-test-support/containers/sshd/bar/Cargo.toml",
    "chars": 58,
    "preview": "[package]\nname = \"bar\"\nversion = \"1.0.0\"\nedition = \"2021\"\n"
  },
  {
    "path": "crates/cargo-test-support/containers/sshd/bar/src/lib.rs",
    "chars": 24,
    "preview": "// Intentionally blank.\n"
  },
  {
    "path": "crates/cargo-test-support/src/compare.rs",
    "chars": 23056,
    "preview": "//! Routines for comparing and diffing output.\n//!\n//! # Deprecated comparisons\n//!\n//! Cargo's tests are in transition "
  },
  {
    "path": "crates/cargo-test-support/src/containers.rs",
    "chars": 8500,
    "preview": "//! Support for testing using Docker containers.\n//!\n//! The [`Container`] type is a builder for configuring a container"
  },
  {
    "path": "crates/cargo-test-support/src/cross_compile.rs",
    "chars": 3195,
    "preview": "//! Support for cross-compile tests with the `--target` flag.\n//!\n//! Note that cross-testing is very limited. You need "
  },
  {
    "path": "crates/cargo-test-support/src/git.rs",
    "chars": 7699,
    "preview": "//! # Git Testing Support\n//!\n//! ## Creating a git dependency\n//! [`new()`] is an easy way to create a new git reposito"
  },
  {
    "path": "crates/cargo-test-support/src/install.rs",
    "chars": 916,
    "preview": "//! Helpers for testing `cargo install`\n\nuse std::env::consts::EXE_SUFFIX;\nuse std::path::Path;\n\n/// Used by `cargo inst"
  },
  {
    "path": "crates/cargo-test-support/src/lib.rs",
    "chars": 54838,
    "preview": "//! # Cargo test support.\n//!\n//! See <https://rust-lang.github.io/cargo/contrib/> for a guide on writing tests.\n//!\n//!"
  },
  {
    "path": "crates/cargo-test-support/src/paths.rs",
    "chars": 16504,
    "preview": "//! Access common paths and manipulate the filesystem\n\nuse filetime::FileTime;\nuse itertools::Itertools;\nuse walkdir::Wa"
  },
  {
    "path": "crates/cargo-test-support/src/publish.rs",
    "chars": 9275,
    "preview": "//! Helpers for testing `cargo package` / `cargo publish`\n//!\n//! # Example\n//!\n//! ```no_run\n//! # use cargo_test_suppo"
  },
  {
    "path": "crates/cargo-test-support/src/registry.rs",
    "chars": 60522,
    "preview": "//! Interact with the [`TestRegistry`]\n//!\n//! # Example\n//!\n//! ```no_run\n//! use cargo_test_support::registry::Package"
  },
  {
    "path": "crates/cargo-util/Cargo.toml",
    "chars": 856,
    "preview": "[package]\nname = \"cargo-util\"\nversion = \"0.2.29\"\nrust-version = \"1.94\"  # MSRV:1\nedition.workspace = true\nlicense.worksp"
  },
  {
    "path": "crates/cargo-util/README.md",
    "chars": 228,
    "preview": "> This crate is maintained by the Cargo team, primarily for use by Cargo\n> and not intended for external use (except as "
  },
  {
    "path": "crates/cargo-util/src/du.rs",
    "chars": 2974,
    "preview": "//! A simple disk usage estimator.\n\nuse anyhow::{Context, Result};\nuse ignore::overrides::OverrideBuilder;\nuse ignore::{"
  },
  {
    "path": "crates/cargo-util/src/lib.rs",
    "chars": 797,
    "preview": "//! Miscellaneous support code used by Cargo.\n//!\n//! > This crate is maintained by the Cargo team, primarily for use by"
  },
  {
    "path": "crates/cargo-util/src/paths.rs",
    "chars": 38869,
    "preview": "//! Various utilities for working with files and paths.\n\nuse anyhow::{Context, Result};\nuse filetime::FileTime;\nuse std:"
  },
  {
    "path": "crates/cargo-util/src/process_builder.rs",
    "chars": 24758,
    "preview": "use crate::process_error::ProcessError;\nuse crate::read2;\n\nuse anyhow::{Context, Result, bail};\nuse jobserver::Client;\nu"
  },
  {
    "path": "crates/cargo-util/src/process_error.rs",
    "chars": 7956,
    "preview": "//! Error value for [`crate::ProcessBuilder`] when a process fails.\n\nuse std::fmt;\nuse std::process::{ExitStatus, Output"
  },
  {
    "path": "crates/cargo-util/src/read2.rs",
    "chars": 6266,
    "preview": "pub use self::imp::read2;\n\n#[cfg(unix)]\nmod imp {\n    use libc::{F_GETFL, F_SETFL, O_NONBLOCK, c_int, fcntl};\n    use st"
  },
  {
    "path": "crates/cargo-util/src/registry.rs",
    "chars": 1691,
    "preview": "/// Make a path to a dependency, which aligns to\n///\n/// - [index from of Cargo's index on filesystem][1], and\n/// - [in"
  },
  {
    "path": "crates/cargo-util/src/sha256.rs",
    "chars": 1274,
    "preview": "use super::paths;\nuse anyhow::{Context, Result};\nuse sha2::{Digest, Sha256 as Sha2_sha256};\nuse std::fs::File;\nuse std::"
  },
  {
    "path": "crates/cargo-util-schemas/Cargo.toml",
    "chars": 862,
    "preview": "[package]\nname = \"cargo-util-schemas\"\nversion = \"0.13.1\"\nrust-version = \"1.94\"  # MSRV:1\nedition.workspace = true\nlicens"
  },
  {
    "path": "crates/cargo-util-schemas/README.md",
    "chars": 133,
    "preview": "> This crate is maintained by the Cargo team for use by the wider\n> ecosystem. This crate follows semver compatibility f"
  },
  {
    "path": "crates/cargo-util-schemas/index.schema.json",
    "chars": 7168,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"IndexPackage\",\n  \"description\": \"A single lin"
  },
  {
    "path": "crates/cargo-util-schemas/lockfile.schema.json",
    "chars": 4693,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"TomlLockfile\",\n  \"description\": \"Serializatio"
  },
  {
    "path": "crates/cargo-util-schemas/manifest.schema.json",
    "chars": 30790,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"TomlManifest\",\n  \"description\": \"This type is"
  },
  {
    "path": "crates/cargo-util-schemas/src/core/mod.rs",
    "chars": 300,
    "preview": "mod package_id_spec;\nmod partial_version;\nmod source_kind;\n\npub use package_id_spec::PackageIdSpec;\npub use package_id_s"
  },
  {
    "path": "crates/cargo-util-schemas/src/core/package_id_spec.rs",
    "chars": 26659,
    "preview": "use std::fmt;\n\nuse semver::Version;\nuse serde::{de, ser};\nuse url::Url;\n\nuse crate::core::GitReference;\nuse crate::core:"
  },
  {
    "path": "crates/cargo-util-schemas/src/core/partial_version.rs",
    "chars": 7939,
    "preview": "use std::fmt::{self, Display};\n\nuse semver::{Comparator, Version, VersionReq};\nuse serde_untagged::UntaggedEnumVisitor;\n"
  },
  {
    "path": "crates/cargo-util-schemas/src/core/source_kind.rs",
    "chars": 5496,
    "preview": "use std::cmp::Ordering;\n\n/// The possible kinds of code source.\n#[derive(Debug, Clone, PartialEq, Eq)]\npub enum SourceKi"
  },
  {
    "path": "crates/cargo-util-schemas/src/index.rs",
    "chars": 10446,
    "preview": "use crate::manifest::RustVersion;\nuse semver::Version;\nuse serde::{Deserialize, Serialize};\nuse std::{borrow::Cow, colle"
  },
  {
    "path": "crates/cargo-util-schemas/src/lib.rs",
    "chars": 589,
    "preview": "//! Low-level Cargo format schemas\n//!\n//! This is types with logic mostly focused on `serde` and `FromStr` for use in r"
  },
  {
    "path": "crates/cargo-util-schemas/src/lockfile.rs",
    "chars": 12817,
    "preview": "//! `Cargo.lock` / Lockfile schema definition\n\nuse std::collections::BTreeMap;\nuse std::fmt;\nuse std::{cmp::Ordering, st"
  },
  {
    "path": "crates/cargo-util-schemas/src/manifest/mod.rs",
    "chars": 60604,
    "preview": "//! `Cargo.toml` / Manifest schema definition\n//!\n//! ## Style\n//!\n//! - Fields duplicated for an alias will have an acc"
  },
  {
    "path": "crates/cargo-util-schemas/src/manifest/rust_version.rs",
    "chars": 7657,
    "preview": "use std::fmt;\nuse std::fmt::Display;\n\nuse serde_untagged::UntaggedEnumVisitor;\n\nuse crate::core::PartialVersion;\nuse cra"
  },
  {
    "path": "crates/cargo-util-schemas/src/messages.rs",
    "chars": 1040,
    "preview": "//! Schemas for JSON messages emitted by Cargo.\n\nuse std::collections::BTreeMap;\nuse std::path::PathBuf;\n\n/// File infor"
  },
  {
    "path": "crates/cargo-util-schemas/src/restricted_names.rs",
    "chars": 8499,
    "preview": "//! Helpers for validating and checking names like package and crate names.\n\ntype Result<T> = std::result::Result<T, Nam"
  },
  {
    "path": "crates/cargo-util-schemas/src/schema.rs",
    "chars": 545,
    "preview": "use schemars::JsonSchema;\n\nuse serde::{Deserialize, Serialize};\n\nuse toml::Value as TomlValue;\n\n#[derive(Serialize, Dese"
  },
  {
    "path": "crates/crates-io/Cargo.toml",
    "chars": 488,
    "preview": "[package]\nname = \"crates-io\"\nversion = \"0.40.19\"\nrust-version = \"1.94\"  # MSRV:1\nedition.workspace = true\nlicense.worksp"
  },
  {
    "path": "crates/crates-io/README.md",
    "chars": 133,
    "preview": "> This crate is maintained by the Cargo team for use by the wider\n> ecosystem. This crate follows semver compatibility f"
  },
  {
    "path": "crates/crates-io/lib.rs",
    "chars": 17581,
    "preview": "//! > This crate is maintained by the Cargo team for use by the wider\n//! > ecosystem. This crate follows semver compati"
  },
  {
    "path": "crates/home/CHANGELOG.md",
    "chars": 2923,
    "preview": "# Changelog\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changel"
  },
  {
    "path": "crates/home/Cargo.toml",
    "chars": 565,
    "preview": "[package]\nname = \"home\"\nversion = \"0.5.13\"\nauthors = [\"Brian Anderson <andersrb@gmail.com>\"]\nrust-version.workspace = tr"
  },
  {
    "path": "crates/home/README.md",
    "chars": 1703,
    "preview": "[![Documentation](https://docs.rs/home/badge.svg)](https://docs.rs/home)\n[![crates.io](https://img.shields.io/crates/v/h"
  },
  {
    "path": "crates/home/src/env.rs",
    "chars": 4054,
    "preview": "//! Lower-level utilities for mocking the process environment.\n\nuse std::{\n    ffi::OsString,\n    io,\n    path::{Path, P"
  },
  {
    "path": "crates/home/src/lib.rs",
    "chars": 5150,
    "preview": "//! Canonical definitions of `home_dir`, `cargo_home`, and `rustup_home`.\n//!\n//! The definition of `home_dir` provided "
  },
  {
    "path": "crates/home/src/windows.rs",
    "chars": 2270,
    "preview": "use std::env;\nuse std::ffi::OsString;\nuse std::os::windows::ffi::OsStringExt;\nuse std::path::PathBuf;\nuse std::ptr;\nuse "
  },
  {
    "path": "crates/mdman/Cargo.toml",
    "chars": 406,
    "preview": "[package]\nname = \"mdman\"\nversion = \"0.0.0\"\nedition.workspace = true\nlicense.workspace = true\ndescription = \"Creates a ma"
  },
  {
    "path": "crates/mdman/README.md",
    "chars": 384,
    "preview": "# mdman\n\nmdman is a small utility for creating man pages from markdown text files.\n\n> This crate is maintained by the Ca"
  },
  {
    "path": "crates/mdman/doc/mdman.md",
    "chars": 3397,
    "preview": "# mdman(1)\n\n## NAME\n\nmdman - Converts markdown to a man page\n\n## SYNOPSIS\n\n`mdman` [_options_] `-t` _type_ `-o` _outdir_"
  },
  {
    "path": "crates/mdman/doc/out/mdman.1",
    "chars": 3901,
    "preview": "'\\\" t\n.TH \"MDMAN\" \"1\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.SH \"NAME\"\nmdman \\- Converts markdown to a man page\n.SH \"SYNOPSIS\"\n\\fBmdma"
  },
  {
    "path": "crates/mdman/doc/out/mdman.md",
    "chars": 4200,
    "preview": "# mdman(1)\n\n## NAME\n\nmdman - Converts markdown to a man page\n\n## SYNOPSIS\n\n`mdman` [_options_] `-t` _type_ `-o` _outdir_"
  },
  {
    "path": "crates/mdman/doc/out/mdman.txt",
    "chars": 3603,
    "preview": "MDMAN(1)\n\nNAME\n       mdman - Converts markdown to a man page\n\nSYNOPSIS\n       mdman [options] -t type -o outdir sources"
  },
  {
    "path": "crates/mdman/src/format/man.rs",
    "chars": 20105,
    "preview": "//! Man-page formatter.\n\nuse crate::EventIter;\nuse crate::util::{header_text, parse_name_and_section};\nuse anyhow::{Erro"
  },
  {
    "path": "crates/mdman/src/format/md.rs",
    "chars": 3273,
    "preview": "//! Markdown formatter.\n\nuse crate::ManMap;\nuse crate::util::unwrap;\nuse anyhow::{Error, bail, format_err};\nuse std::fmt"
  },
  {
    "path": "crates/mdman/src/format/mod.rs",
    "chars": 845,
    "preview": "use anyhow::Error;\n\npub mod man;\npub mod md;\npub mod text;\n\npub trait Formatter {\n    /// Renders the given markdown to "
  },
  {
    "path": "crates/mdman/src/format/text.rs",
    "chars": 25123,
    "preview": "//! Text formatter.\n\nuse crate::EventIter;\nuse crate::util::{header_text, unwrap};\nuse anyhow::{Error, bail};\nuse pulldo"
  },
  {
    "path": "crates/mdman/src/hbs.rs",
    "chars": 7907,
    "preview": "//! Handlebars template processing.\n\nuse std::collections::HashMap;\nuse std::path::Path;\n\nuse anyhow::Error;\nuse handleb"
  },
  {
    "path": "crates/mdman/src/lib.rs",
    "chars": 4360,
    "preview": "//! mdman markdown to man converter.\n//!\n//! > This crate is maintained by the Cargo team, primarily for use by Cargo\n//"
  },
  {
    "path": "crates/mdman/src/main.rs",
    "chars": 4652,
    "preview": "#![allow(clippy::print_stderr)]\n\nuse anyhow::{Context, Error, bail, format_err};\nuse mdman::{Format, ManMap};\nuse std::c"
  },
  {
    "path": "crates/mdman/src/util.rs",
    "chars": 1584,
    "preview": "///! General utilities.\nuse crate::EventIter;\nuse anyhow::{Context, Error, bail, format_err};\nuse pulldown_cmark::{CowSt"
  },
  {
    "path": "crates/mdman/tests/compare/expected/formatting.1",
    "chars": 2050,
    "preview": "'\\\" t\n.TH \"FORMATTING\" \"1\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.sp\nThis is \\fBnested \\f(BIformatting\\fB \\fBtext\\fB\\fR\\&.\n.SH \"SECOND"
  },
  {
    "path": "crates/mdman/tests/compare/expected/formatting.md",
    "chars": 1660,
    "preview": "# formatting(1)\n\nThis is **nested _formatting_ `text`**.\n\n## SECOND HEADING\n\nSome text at second level.\n\n### Third headi"
  },
  {
    "path": "crates/mdman/tests/compare/expected/formatting.txt",
    "chars": 2018,
    "preview": "FORMATTING(1)\n\nThis is nested formatting text.\n\nSECOND HEADING\n       Some text at second level.\n\n   Third heading\n     "
  },
  {
    "path": "crates/mdman/tests/compare/expected/links.1",
    "chars": 982,
    "preview": "'\\\" t\n.TH \"LINKS\" \"1\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.SH \"NAME\"\nlinks \\- Test of different link kinds\n.SH \"DESCRIPTION\"\nInline "
  },
  {
    "path": "crates/mdman/tests/compare/expected/links.md",
    "chars": 1284,
    "preview": "# links(1)\n\n## NAME\n\nlinks - Test of different link kinds\n\n## DESCRIPTION\n\nInline link: [inline link](https://example.co"
  },
  {
    "path": "crates/mdman/tests/compare/expected/links.txt",
    "chars": 915,
    "preview": "LINKS(1)\n\nNAME\n       links - Test of different link kinds\n\nDESCRIPTION\n       Inline link: inline link <https://example"
  },
  {
    "path": "crates/mdman/tests/compare/expected/options.1",
    "chars": 1718,
    "preview": "'\\\" t\n.TH \"MY\\-COMMAND\" \"1\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.SH \"NAME\"\nmy\\-command \\- A brief description\n.SH \"SYNOPSIS\"\n\\fBmy\\-"
  },
  {
    "path": "crates/mdman/tests/compare/expected/options.md",
    "chars": 2712,
    "preview": "# my-command(1)\n\n## NAME\n\nmy-command - A brief description\n\n## SYNOPSIS\n\n`my-command` [`--abc` | `--xyz`] _name_\\\n`my-co"
  },
  {
    "path": "crates/mdman/tests/compare/expected/options.txt",
    "chars": 1269,
    "preview": "MY-COMMAND(1)\n\nNAME\n       my-command - A brief description\n\nSYNOPSIS\n       my-command [--abc | --xyz] name\n       my-c"
  },
  {
    "path": "crates/mdman/tests/compare/expected/tables.1",
    "chars": 895,
    "preview": "'\\\" t\n.TH \"TABLES\" \"1\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.SH \"DESCRIPTION\"\nTesting tables.\n\n.TS\nallbox tab(:);\nlt.\nT{\nSingle col\nT"
  },
  {
    "path": "crates/mdman/tests/compare/expected/tables.md",
    "chars": 758,
    "preview": "# tables(1)\n\n## DESCRIPTION\n\nTesting tables.\n\n| Single col |\n|------------|\n| Hi! :) |\n\n\nHeader content | With `format` "
  },
  {
    "path": "crates/mdman/tests/compare/expected/tables.txt",
    "chars": 2138,
    "preview": "TABLES(1)\n\nDESCRIPTION\n       Testing tables.\n\n       +-------------+\n       | Single col  |\n       +-------------+\n    "
  },
  {
    "path": "crates/mdman/tests/compare/expected/vars.7",
    "chars": 61,
    "preview": "'\\\" t\n.TH \"VARS\" \"7\"\n.nh\n.ad l\n.ss \\n[.ss] 0\n.sp\nBar\n.sp\nbar\n"
  },
  {
    "path": "crates/mdman/tests/compare/expected/vars.md",
    "chars": 22,
    "preview": "# vars(7)\n\n\n\nBar\n\nbar\n"
  },
  {
    "path": "crates/mdman/tests/compare/expected/vars.txt",
    "chars": 19,
    "preview": "VARS(7)\n\nBar\n\nbar\n\n"
  },
  {
    "path": "crates/mdman/tests/compare/formatting.md",
    "chars": 1660,
    "preview": "# formatting(1)\n\nThis is **nested _formatting_ `text`**.\n\n## SECOND HEADING\n\nSome text at second level.\n\n### Third headi"
  },
  {
    "path": "crates/mdman/tests/compare/includes/links-include.md",
    "chars": 135,
    "preview": "[Some link](foo.html)\n\n{{#options}}\n{{#option \"`--include`\"}}\nTesting an [included link](included_link.html).\n{{/option}"
  },
  {
    "path": "crates/mdman/tests/compare/includes/options-common.md",
    "chars": 410,
    "preview": "{{#options}}\n{{#option \"`@`_filename_\"}}\nLoad from filename.\n{{/option}}\n\n{{#option \"`--foo` [_bar_]\"}}\nFlag with option"
  },
  {
    "path": "crates/mdman/tests/compare/links.md",
    "chars": 781,
    "preview": "# links(1)\n\n## NAME\n\nlinks - Test of different link kinds\n\n## DESCRIPTION\n\nInline link: [inline link](https://example.co"
  },
  {
    "path": "crates/mdman/tests/compare/options.md",
    "chars": 948,
    "preview": "# my-command(1)\n\n## NAME\n\nmy-command - A brief description\n\n## SYNOPSIS\n\n`my-command` [`--abc` | `--xyz`] _name_\\\n`my-co"
  },
  {
    "path": "crates/mdman/tests/compare/tables.md",
    "chars": 758,
    "preview": "# tables(1)\n\n## DESCRIPTION\n\nTesting tables.\n\n| Single col |\n|------------|\n| Hi! :) |\n\n\nHeader content | With `format` "
  },
  {
    "path": "crates/mdman/tests/compare/vars.md",
    "chars": 55,
    "preview": "# vars(7)\n\n{{*set foo=\"Bar\"}}\n\n\n{{foo}}\n\n{{lower foo}}\n"
  },
  {
    "path": "crates/mdman/tests/compare.rs",
    "chars": 1083,
    "preview": "//! Compares input to expected output.\n\nuse std::path::PathBuf;\n\nuse mdman::{Format, ManMap};\nuse url::Url;\n\nfn run(name"
  },
  {
    "path": "crates/mdman/tests/invalid/nested.md",
    "chars": 65,
    "preview": "# nested(1)\n\n{{#options}}\n{{#options}}\n{{/options}}\n{{/options}}\n"
  },
  {
    "path": "crates/mdman/tests/invalid/not-inside-options.md",
    "chars": 87,
    "preview": "# not-inside-options(1)\n\n{{#option \"`-o`\"}}\nTesting without options block.\n{{/option}}\n"
  },
  {
    "path": "crates/mdman/tests/invalid.rs",
    "chars": 897,
    "preview": "//! Tests for errors and invalid input.\n\nuse std::path::PathBuf;\n\nuse mdman::{Format, ManMap};\nuse snapbox::prelude::*;\n"
  },
  {
    "path": "crates/resolver-tests/Cargo.toml",
    "chars": 305,
    "preview": "[package]\nname = \"resolver-tests\"\nversion = \"0.0.0\"\nedition.workspace = true\npublish = false\n\n[dependencies]\ncargo.works"
  },
  {
    "path": "crates/resolver-tests/README.md",
    "chars": 1011,
    "preview": "# resolver-tests\n\n## The aim\n\nThis crate aims to test the resolution of Cargo's resolver. It implements a [SAT solver](h"
  },
  {
    "path": "crates/resolver-tests/src/helpers.rs",
    "chars": 7044,
    "preview": "use std::collections::BTreeMap;\nuse std::fmt::Debug;\nuse std::sync::OnceLock;\n\nuse cargo::core::dependency::DepKind;\nuse"
  },
  {
    "path": "crates/resolver-tests/src/lib.rs",
    "chars": 19609,
    "preview": "//! > This crate is maintained by the Cargo team, primarily for use by Cargo\n//! > and not intended for external use (ex"
  },
  {
    "path": "crates/resolver-tests/src/sat.rs",
    "chars": 21995,
    "preview": "use std::collections::hash_map::Entry;\nuse std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};\nuse std::fmt::Write"
  },
  {
    "path": "crates/resolver-tests/tests/proptests.rs",
    "chars": 10853,
    "preview": "use std::io::IsTerminal;\n\nuse cargo::util::GlobalContext;\nuse cargo_util::is_ci;\n\nuse resolver_tests::{\n    PrettyPrintR"
  },
  {
    "path": "crates/resolver-tests/tests/pubgrub.rs",
    "chars": 13586,
    "preview": "use cargo::core::{Dependency, dependency::DepKind};\n\nuse resolver_tests::{\n    helpers::{\n        ToDep, dep, dep_kind, "
  },
  {
    "path": "crates/resolver-tests/tests/resolve.rs",
    "chars": 33228,
    "preview": "use cargo::core::Dependency;\nuse cargo::core::dependency::DepKind;\nuse cargo::util::GlobalContext;\n\nuse resolver_tests::"
  },
  {
    "path": "crates/resolver-tests/tests/validated.rs",
    "chars": 17270,
    "preview": "use cargo::core::{Dependency, dependency::DepKind};\n\nuse resolver_tests::{\n    helpers::{\n        ToDep, dep, dep_kind, "
  },
  {
    "path": "crates/rustfix/CHANGELOG.md",
    "chars": 1914,
    "preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Change"
  },
  {
    "path": "crates/rustfix/Cargo.toml",
    "chars": 782,
    "preview": "[package]\nname = \"rustfix\"\nversion = \"0.9.5\"\nauthors = [\n    \"Pascal Hertleif <killercup@gmail.com>\",\n    \"Oliver Schnei"
  },
  {
    "path": "crates/rustfix/README.md",
    "chars": 1530,
    "preview": "# rustfix\n\n[![Latest Version](https://img.shields.io/crates/v/rustfix.svg)](https://crates.io/crates/rustfix)\n[![Rust Do"
  },
  {
    "path": "crates/rustfix/examples/fix-json.rs",
    "chars": 1399,
    "preview": "#![allow(clippy::print_stderr)]\n\nuse std::io::{BufReader, Read, stdin};\nuse std::{collections::HashMap, collections::Has"
  },
  {
    "path": "crates/rustfix/proptest-regressions/replace.txt",
    "chars": 472,
    "preview": "# Seeds for failure cases proptest has generated in the past. It is\n# automatically read and these particular cases re-r"
  },
  {
    "path": "crates/rustfix/src/diagnostics.rs",
    "chars": 4385,
    "preview": "//! Rustc Diagnostic JSON Output.\n//!\n//! The following data types are copied from [rust-lang/rust](https://github.com/r"
  },
  {
    "path": "crates/rustfix/src/error.rs",
    "chars": 801,
    "preview": "//! Error types.\n\nuse std::ops::Range;\n\n#[non_exhaustive]\n#[derive(Debug, thiserror::Error)]\npub enum Error {\n    #[erro"
  },
  {
    "path": "crates/rustfix/src/lib.rs",
    "chars": 9644,
    "preview": "//! Library for applying diagnostic suggestions to source code.\n//!\n//! This is a low-level library. You pass it the [JS"
  },
  {
    "path": "crates/rustfix/src/replace.rs",
    "chars": 12166,
    "preview": "//! A small module giving you a simple container that allows\n//! easy and cheap replacement of parts of its content,\n//!"
  },
  {
    "path": "crates/rustfix/tests/edge-cases/empty.json",
    "chars": 1292,
    "preview": "{\n  \"message\": \"`main` function not found in crate `empty`\",\n  \"code\": {\n    \"code\": \"E0601\",\n    \"explanation\": \"No `ma"
  },
  {
    "path": "crates/rustfix/tests/edge-cases/empty.rs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "crates/rustfix/tests/edge-cases/indented_whitespace.json",
    "chars": 1905,
    "preview": "{\n    \"message\": \"non-ASCII whitespace symbol '\\\\u{a0}' is not skipped\",\n    \"code\": null,\n    \"level\": \"warning\",\n    \""
  },
  {
    "path": "crates/rustfix/tests/edge-cases/no_main.json",
    "chars": 1263,
    "preview": "{\n  \"message\": \"`main` function not found in crate `no_main`\",\n  \"code\": {\n    \"code\": \"E0601\",\n    \"explanation\": \"No `"
  },
  {
    "path": "crates/rustfix/tests/edge-cases/no_main.rs",
    "chars": 26,
    "preview": "// This file has no main.\n"
  },
  {
    "path": "crates/rustfix/tests/edge-cases/out_of_bounds.recorded.json",
    "chars": 1135,
    "preview": "{\n  \"message\": \"unterminated double quote string\",\n  \"code\": null,\n  \"level\": \"error\",\n  \"spans\": [\n    {\n      \"file_na"
  },
  {
    "path": "crates/rustfix/tests/edge-cases/utf8_idents.recorded.json",
    "chars": 1872,
    "preview": "{\n  \"message\": \"expected one of `,`, `:`, `=`, or `>`, found `'β`\",\n  \"code\": null,\n  \"level\": \"error\",\n  \"spans\": [\n   "
  },
  {
    "path": "crates/rustfix/tests/edge_cases.rs",
    "chars": 856,
    "preview": "use std::collections::HashSet;\nuse std::fs;\n\nmacro_rules! expect_empty_json_test {\n    ($name:ident, $file:expr) => {\n  "
  },
  {
    "path": "crates/rustfix/tests/everything/.gitignore",
    "chars": 30,
    "preview": "*.recorded.json\n*.recorded.rs\n"
  },
  {
    "path": "crates/rustfix/tests/everything/E0178.fixed.rs",
    "chars": 99,
    "preview": "#![allow(dead_code)]\n\ntrait Foo {}\n\nstruct Bar<'a> {\n    w: &'a (dyn Foo + Send),\n}\n\nfn main() {\n}\n"
  },
  {
    "path": "crates/rustfix/tests/everything/E0178.json",
    "chars": 2396,
    "preview": "{\n  \"message\": \"expected a path on the left-hand side of `+`, not `&'a Foo`\",\n  \"code\": {\n    \"code\": \"E0178\",\n    \"expl"
  },
  {
    "path": "crates/rustfix/tests/everything/E0178.rs",
    "chars": 97,
    "preview": "#![allow(dead_code)]\n\ntrait Foo {}\n\nstruct Bar<'a> {\n    w: &'a dyn Foo + Send,\n}\n\nfn main() {\n}\n"
  },
  {
    "path": "crates/rustfix/tests/everything/closure-immutable-outer-variable.fixed.rs",
    "chars": 282,
    "preview": "// Point at the captured immutable outer variable\n\n// Suppress unrelated warnings\n#![allow(unused)]\n\nfn foo(mut f: Box<d"
  },
  {
    "path": "crates/rustfix/tests/everything/closure-immutable-outer-variable.json",
    "chars": 3003,
    "preview": "{\n  \"$message_type\": \"diagnostic\",\n  \"children\": [\n    {\n      \"children\": [],\n      \"code\": null,\n      \"level\": \"help\""
  },
  {
    "path": "crates/rustfix/tests/everything/closure-immutable-outer-variable.rs",
    "chars": 278,
    "preview": "// Point at the captured immutable outer variable\n\n// Suppress unrelated warnings\n#![allow(unused)]\n\nfn foo(mut f: Box<d"
  },
  {
    "path": "crates/rustfix/tests/everything/dedup-suggestions.fixed.rs",
    "chars": 185,
    "preview": "// See <https://github.com/rust-lang/cargo/issues/13027>\nmacro_rules! foo {\n    () => {\n        let x = Box::new(1);\n   "
  },
  {
    "path": "crates/rustfix/tests/everything/dedup-suggestions.json",
    "chars": 18026,
    "preview": "{\n  \"$message_type\": \"diagnostic\",\n  \"children\": [\n    {\n      \"children\": [],\n      \"code\": null,\n      \"level\": \"note\""
  },
  {
    "path": "crates/rustfix/tests/everything/dedup-suggestions.rs",
    "chars": 195,
    "preview": "// See <https://github.com/rust-lang/cargo/issues/13027>\nmacro_rules! foo {\n    () => {\n        let x = Box::new(1);\n   "
  },
  {
    "path": "crates/rustfix/tests/everything/handle-insert-only.fixed.rs",
    "chars": 179,
    "preview": "fn main() {\n    // insert only fix, adds `,` to first match arm\n    // why doesnt this replace 1 with 1,?\n    match &Som"
  },
  {
    "path": "crates/rustfix/tests/everything/handle-insert-only.json",
    "chars": 2018,
    "preview": "{\n  \"message\": \"expected one of `,`, `.`, `?`, `}`, or an operator, found `=>`\",\n  \"code\": null,\n  \"level\": \"error\",\n  \""
  },
  {
    "path": "crates/rustfix/tests/everything/handle-insert-only.rs",
    "chars": 178,
    "preview": "fn main() {\n    // insert only fix, adds `,` to first match arm\n    // why doesnt this replace 1 with 1,?\n    match &Som"
  },
  {
    "path": "crates/rustfix/tests/everything/lt-generic-comp.fixed.rs",
    "chars": 88,
    "preview": "fn main() {\n    let x = 5i64;\n\n    if (x as u32) < 4 {\n        println!(\"yay\");\n    }\n}\n"
  },
  {
    "path": "crates/rustfix/tests/everything/lt-generic-comp.json",
    "chars": 2465,
    "preview": "{\n  \"message\": \"`<` is interpreted as a start of generic arguments for `u32`, not a comparison\",\n  \"code\": null,\n  \"leve"
  },
  {
    "path": "crates/rustfix/tests/everything/lt-generic-comp.rs",
    "chars": 86,
    "preview": "fn main() {\n    let x = 5i64;\n\n    if x as u32 < 4 {\n        println!(\"yay\");\n    }\n}\n"
  },
  {
    "path": "crates/rustfix/tests/everything/multiple-solutions.fixed.rs",
    "chars": 70,
    "preview": "use std::collections::HashSet;\n\nfn main() {\n    let _: HashSet<()>;\n}\n"
  },
  {
    "path": "crates/rustfix/tests/everything/multiple-solutions.json",
    "chars": 4773,
    "preview": "{\n  \"$message_type\": \"diagnostic\",\n  \"children\": [\n    {\n      \"children\": [],\n      \"code\": null,\n      \"level\": \"note\""
  }
]

// ... and 2281 more files (download for full content)

About this extraction

This page contains the full source code of the rust-lang/cargo GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2481 files (12.7 MB), approximately 3.5M tokens, and a symbol index with 10606 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!