Add more complex project-model test

This commit is contained in:
Lukas Wirth 2023-04-03 18:10:38 +02:00
parent 707382c21d
commit 980c75bc91
3 changed files with 1584 additions and 1 deletions

View File

@ -5,7 +5,7 @@
use base_db::{CrateGraph, FileId, ProcMacroPaths}; use base_db::{CrateGraph, FileId, ProcMacroPaths};
use cfg::{CfgAtom, CfgDiff}; use cfg::{CfgAtom, CfgDiff};
use expect_test::{expect, Expect}; use expect_test::{expect, expect_file, Expect, ExpectFile};
use paths::{AbsPath, AbsPathBuf}; use paths::{AbsPath, AbsPathBuf};
use serde::de::DeserializeOwned; use serde::de::DeserializeOwned;
@ -114,6 +114,11 @@ fn check_crate_graph(crate_graph: CrateGraph, expect: Expect) {
replace_root(&mut crate_graph, false); replace_root(&mut crate_graph, false);
expect.assert_eq(&crate_graph); expect.assert_eq(&crate_graph);
} }
fn check_crate_graph_f(crate_graph: CrateGraph, expect: ExpectFile) {
let mut crate_graph = format!("{crate_graph:#?}");
replace_root(&mut crate_graph, false);
expect.assert_eq(&crate_graph);
}
#[test] #[test]
fn cargo_hello_world_project_model_with_wildcard_overrides() { fn cargo_hello_world_project_model_with_wildcard_overrides() {
@ -1666,3 +1671,12 @@ fn rust_project_is_proc_macro_has_proc_macro_dep() {
// on the proc_macro sysroot crate. // on the proc_macro sysroot crate.
crate_data.dependencies.iter().find(|&dep| dep.name.deref() == "proc_macro").unwrap(); crate_data.dependencies.iter().find(|&dep| dep.name.deref() == "proc_macro").unwrap();
} }
#[test]
fn cargo_dev_dependencies() {
let (crate_graph, _proc_macros) = load_cargo("complex-with-dev-deps.json");
check_crate_graph_f(
crate_graph,
expect_file!["../test_data/cargo_dev_dependencies-crate-graph.txt"],
)
}

View File

@ -0,0 +1,584 @@
CrateGraph {
arena: {
CrateId(
0,
): CrateData {
root_file_id: FileId(
1,
),
edition: Edition2018,
version: Some(
"0.7.20",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"aho_corasick",
),
canonical_name: "aho_corasick",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"feature=default",
"feature=std",
],
),
potential_cfg_options: Some(
CfgOptions(
[
"debug_assertions",
"feature=default",
"feature=std",
],
),
),
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "0",
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/aho-corasick-0.7.20",
"CARGO_PKG_VERSION": "0.7.20",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "aho_corasick",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "aho-corasick",
"CARGO_PKG_VERSION_PATCH": "20",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "7",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [
Dependency {
crate_id: CrateId(
2,
),
name: CrateName(
"memchr",
),
prelude: true,
},
],
origin: Library {
repo: Some(
"https://github.com/BurntSushi/aho-corasick",
),
name: "aho-corasick",
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
1,
): CrateData {
root_file_id: FileId(
2,
),
edition: Edition2021,
version: Some(
"0.3.0",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"la_arena",
),
canonical_name: "la-arena",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
],
),
potential_cfg_options: None,
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "0",
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/la-arena-0.3.0",
"CARGO_PKG_VERSION": "0.3.0",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "la_arena",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "la-arena",
"CARGO_PKG_VERSION_PATCH": "0",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "3",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [],
origin: Library {
repo: Some(
"https://github.com/rust-lang/rust-analyzer/tree/master/lib/la-arena",
),
name: "la-arena",
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
2,
): CrateData {
root_file_id: FileId(
3,
),
edition: Edition2018,
version: Some(
"2.5.0",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"memchr",
),
canonical_name: "memchr",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"feature=default",
"feature=std",
],
),
potential_cfg_options: Some(
CfgOptions(
[
"debug_assertions",
"feature=compiler_builtins",
"feature=core",
"feature=default",
"feature=libc",
"feature=rustc-dep-of-std",
"feature=std",
"feature=use_std",
],
),
),
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "2",
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.5.0",
"CARGO_PKG_VERSION": "2.5.0",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "memchr",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "memchr",
"CARGO_PKG_VERSION_PATCH": "0",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "5",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [],
origin: Library {
repo: Some(
"https://github.com/BurntSushi/memchr",
),
name: "memchr",
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
3,
): CrateData {
root_file_id: FileId(
4,
),
edition: Edition2021,
version: Some(
"0.1.0",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"ra_playground",
),
canonical_name: "ra-playground",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"test",
],
),
potential_cfg_options: None,
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "0",
"CARGO_MANIFEST_DIR": "$ROOT$ra-playground",
"CARGO_PKG_VERSION": "0.1.0",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "ra_playground",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "ra-playground",
"CARGO_PKG_VERSION_PATCH": "0",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "1",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [
Dependency {
crate_id: CrateId(
1,
),
name: CrateName(
"la_arena",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
5,
),
name: CrateName(
"regex",
),
prelude: true,
},
],
origin: Local {
repo: None,
name: Some(
"ra-playground",
),
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
4,
): CrateData {
root_file_id: FileId(
5,
),
edition: Edition2021,
version: Some(
"0.1.0",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"ra_playground",
),
canonical_name: "ra-playground",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"test",
],
),
potential_cfg_options: None,
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "0",
"CARGO_MANIFEST_DIR": "$ROOT$ra-playground",
"CARGO_PKG_VERSION": "0.1.0",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "ra_playground",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "ra-playground",
"CARGO_PKG_VERSION_PATCH": "0",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "1",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [
Dependency {
crate_id: CrateId(
3,
),
name: CrateName(
"ra_playground",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
1,
),
name: CrateName(
"la_arena",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
3,
),
name: CrateName(
"ra_playground",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
5,
),
name: CrateName(
"regex",
),
prelude: true,
},
],
origin: Local {
repo: None,
name: Some(
"ra-playground",
),
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
5,
): CrateData {
root_file_id: FileId(
6,
),
edition: Edition2018,
version: Some(
"1.7.3",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"regex",
),
canonical_name: "regex",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"feature=aho-corasick",
"feature=default",
"feature=memchr",
"feature=perf",
"feature=perf-cache",
"feature=perf-dfa",
"feature=perf-inline",
"feature=perf-literal",
"feature=std",
"feature=unicode",
"feature=unicode-age",
"feature=unicode-bool",
"feature=unicode-case",
"feature=unicode-gencat",
"feature=unicode-perl",
"feature=unicode-script",
"feature=unicode-segment",
],
),
potential_cfg_options: Some(
CfgOptions(
[
"debug_assertions",
"feature=aho-corasick",
"feature=default",
"feature=memchr",
"feature=pattern",
"feature=perf",
"feature=perf-cache",
"feature=perf-dfa",
"feature=perf-inline",
"feature=perf-literal",
"feature=std",
"feature=unicode",
"feature=unicode-age",
"feature=unicode-bool",
"feature=unicode-case",
"feature=unicode-gencat",
"feature=unicode-perl",
"feature=unicode-script",
"feature=unicode-segment",
"feature=unstable",
"feature=use_std",
],
),
),
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "1",
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3",
"CARGO_PKG_VERSION": "1.7.3",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "regex",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "regex",
"CARGO_PKG_VERSION_PATCH": "3",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "7",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [
Dependency {
crate_id: CrateId(
0,
),
name: CrateName(
"aho_corasick",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
2,
),
name: CrateName(
"memchr",
),
prelude: true,
},
Dependency {
crate_id: CrateId(
6,
),
name: CrateName(
"regex_syntax",
),
prelude: true,
},
],
origin: Library {
repo: Some(
"https://github.com/rust-lang/regex",
),
name: "regex",
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
CrateId(
6,
): CrateData {
root_file_id: FileId(
7,
),
edition: Edition2018,
version: Some(
"0.6.29",
),
display_name: Some(
CrateDisplayName {
crate_name: CrateName(
"regex_syntax",
),
canonical_name: "regex-syntax",
},
),
cfg_options: CfgOptions(
[
"debug_assertions",
"feature=default",
"feature=unicode",
"feature=unicode-age",
"feature=unicode-bool",
"feature=unicode-case",
"feature=unicode-gencat",
"feature=unicode-perl",
"feature=unicode-script",
"feature=unicode-segment",
],
),
potential_cfg_options: Some(
CfgOptions(
[
"debug_assertions",
"feature=default",
"feature=unicode",
"feature=unicode-age",
"feature=unicode-bool",
"feature=unicode-case",
"feature=unicode-gencat",
"feature=unicode-perl",
"feature=unicode-script",
"feature=unicode-segment",
],
),
),
env: Env {
entries: {
"CARGO_PKG_LICENSE": "",
"CARGO_PKG_VERSION_MAJOR": "0",
"CARGO_MANIFEST_DIR": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.6.29",
"CARGO_PKG_VERSION": "0.6.29",
"CARGO_PKG_AUTHORS": "",
"CARGO_CRATE_NAME": "regex_syntax",
"CARGO_PKG_LICENSE_FILE": "",
"CARGO_PKG_HOMEPAGE": "",
"CARGO_PKG_DESCRIPTION": "",
"CARGO_PKG_NAME": "regex-syntax",
"CARGO_PKG_VERSION_PATCH": "29",
"CARGO": "cargo",
"CARGO_PKG_REPOSITORY": "",
"CARGO_PKG_VERSION_MINOR": "6",
"CARGO_PKG_VERSION_PRE": "",
},
},
dependencies: [],
origin: Library {
repo: Some(
"https://github.com/rust-lang/regex",
),
name: "regex-syntax",
},
is_proc_macro: false,
target_layout: Err(
"target_data_layout not loaded",
),
channel: None,
},
},
}

View File

@ -0,0 +1,985 @@
{
"packages": [
{
"name": "aho-corasick",
"version": "0.7.20",
"id": "aho-corasick 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)",
"license": "Unlicense OR MIT",
"license_file": null,
"description": "Fast multiple substring searching.",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"dependencies": [
{
"name": "memchr",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^2.4.0",
"kind": null,
"rename": null,
"optional": false,
"uses_default_features": false,
"features": [],
"target": null,
"registry": null
}
],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "aho_corasick",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/aho-corasick-0.7.20/src/lib.rs",
"edition": "2018",
"doc": true,
"doctest": true,
"test": true
}
],
"features": {
"default": [
"std"
],
"std": [
"memchr/std"
]
},
"manifest_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/aho-corasick-0.7.20/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [
"Andrew Gallant <jamslam@gmail.com>"
],
"categories": [
"text-processing"
],
"keywords": [
"string",
"search",
"text",
"aho",
"multi"
],
"readme": "README.md",
"repository": "https://github.com/BurntSushi/aho-corasick",
"homepage": "https://github.com/BurntSushi/aho-corasick",
"documentation": null,
"edition": "2018",
"links": null,
"default_run": null,
"rust_version": null
},
{
"name": "la-arena",
"version": "0.3.0",
"id": "la-arena 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"license": "MIT OR Apache-2.0",
"license_file": null,
"description": "Simple index-based arena without deletion.",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"dependencies": [],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "la-arena",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/la-arena-0.3.0/src/lib.rs",
"edition": "2021",
"doc": true,
"doctest": true,
"test": true
}
],
"features": {},
"manifest_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/la-arena-0.3.0/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [],
"categories": [
"data-structures",
"memory-management",
"rust-patterns"
],
"keywords": [],
"readme": null,
"repository": "https://github.com/rust-lang/rust-analyzer/tree/master/lib/la-arena",
"homepage": null,
"documentation": "https://docs.rs/la-arena",
"edition": "2021",
"links": null,
"default_run": null,
"rust_version": "1.56"
},
{
"name": "memchr",
"version": "2.5.0",
"id": "memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"license": "Unlicense/MIT",
"license_file": null,
"description": "Safe interface to memchr.",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"dependencies": [
{
"name": "compiler_builtins",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^0.1.2",
"kind": null,
"rename": null,
"optional": true,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "rustc-std-workspace-core",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^1.0.0",
"kind": null,
"rename": "core",
"optional": true,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "libc",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^0.2.18",
"kind": null,
"rename": null,
"optional": true,
"uses_default_features": false,
"features": [],
"target": null,
"registry": null
},
{
"name": "quickcheck",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^1.0.3",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": false,
"features": [],
"target": null,
"registry": null
}
],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "memchr",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.5.0/src/lib.rs",
"edition": "2018",
"doc": true,
"doctest": true,
"test": true
},
{
"kind": [
"custom-build"
],
"crate_types": [
"bin"
],
"name": "build-script-build",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.5.0/build.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
}
],
"features": {
"compiler_builtins": [
"dep:compiler_builtins"
],
"core": [
"dep:core"
],
"default": [
"std"
],
"libc": [
"dep:libc"
],
"rustc-dep-of-std": [
"core",
"compiler_builtins"
],
"std": [],
"use_std": [
"std"
]
},
"manifest_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.5.0/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [
"Andrew Gallant <jamslam@gmail.com>",
"bluss"
],
"categories": [],
"keywords": [
"memchr",
"char",
"scan",
"strchr",
"string"
],
"readme": "README.md",
"repository": "https://github.com/BurntSushi/memchr",
"homepage": "https://github.com/BurntSushi/memchr",
"documentation": "https://docs.rs/memchr/",
"edition": "2018",
"links": null,
"default_run": null,
"rust_version": null
},
{
"name": "ra-playground",
"version": "0.1.0",
"id": "ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)",
"license": null,
"license_file": null,
"description": null,
"source": null,
"dependencies": [
{
"name": "la-arena",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "*",
"kind": null,
"rename": null,
"optional": false,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "ra-playground",
"source": null,
"req": "*",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null,
"path": "$ROOT$ra-playground"
},
{
"name": "regex",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "*",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
}
],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "ra-playground",
"src_path": "$ROOT$ra-playground/src/lib.rs",
"edition": "2021",
"doc": true,
"doctest": true,
"test": true
},
{
"kind": [
"bin"
],
"crate_types": [
"bin"
],
"name": "ra-playground",
"src_path": "$ROOT$ra-playground/src/main.rs",
"edition": "2021",
"doc": true,
"doctest": false,
"test": true
}
],
"features": {},
"manifest_path": "$ROOT$ra-playground/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [],
"categories": [],
"keywords": [],
"readme": null,
"repository": null,
"homepage": null,
"documentation": null,
"edition": "2021",
"links": null,
"default_run": null,
"rust_version": null
},
{
"name": "regex",
"version": "1.7.3",
"id": "regex 1.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"license": "MIT OR Apache-2.0",
"license_file": null,
"description": "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"dependencies": [
{
"name": "aho-corasick",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^0.7.18",
"kind": null,
"rename": null,
"optional": true,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "memchr",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^2.4.0",
"kind": null,
"rename": null,
"optional": true,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "regex-syntax",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^0.6.29",
"kind": null,
"rename": null,
"optional": false,
"uses_default_features": false,
"features": [],
"target": null,
"registry": null
},
{
"name": "lazy_static",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^1",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": true,
"features": [],
"target": null,
"registry": null
},
{
"name": "quickcheck",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^1.0.3",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": false,
"features": [],
"target": null,
"registry": null
},
{
"name": "rand",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"req": "^0.8.3",
"kind": "dev",
"rename": null,
"optional": false,
"uses_default_features": false,
"features": [
"getrandom",
"small_rng"
],
"target": null,
"registry": null
}
],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "regex",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/src/lib.rs",
"edition": "2018",
"doc": true,
"doctest": false,
"test": true
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna-bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna-bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna-cheat",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna-cheat.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna-replace",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna-replace.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna-single-cheat",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna-single-cheat.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna-single",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna-single.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"example"
],
"crate_types": [
"bin"
],
"name": "shootout-regex-dna",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/examples/shootout-regex-dna.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "default",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_default.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "default-bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_default_bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "nfa",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_nfa.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "nfa-utf8bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_nfa_utf8bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "nfa-bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_nfa_bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "backtrack",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_backtrack.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "backtrack-utf8bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_backtrack_utf8bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "backtrack-bytes",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_backtrack_bytes.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
},
{
"kind": [
"test"
],
"crate_types": [
"bin"
],
"name": "crates-regex",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/tests/test_crates_regex.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": true
}
],
"features": {
"aho-corasick": [
"dep:aho-corasick"
],
"default": [
"std",
"perf",
"unicode",
"regex-syntax/default"
],
"memchr": [
"dep:memchr"
],
"pattern": [],
"perf": [
"perf-cache",
"perf-dfa",
"perf-inline",
"perf-literal"
],
"perf-cache": [],
"perf-dfa": [],
"perf-inline": [],
"perf-literal": [
"aho-corasick",
"memchr"
],
"std": [],
"unicode": [
"unicode-age",
"unicode-bool",
"unicode-case",
"unicode-gencat",
"unicode-perl",
"unicode-script",
"unicode-segment",
"regex-syntax/unicode"
],
"unicode-age": [
"regex-syntax/unicode-age"
],
"unicode-bool": [
"regex-syntax/unicode-bool"
],
"unicode-case": [
"regex-syntax/unicode-case"
],
"unicode-gencat": [
"regex-syntax/unicode-gencat"
],
"unicode-perl": [
"regex-syntax/unicode-perl"
],
"unicode-script": [
"regex-syntax/unicode-script"
],
"unicode-segment": [
"regex-syntax/unicode-segment"
],
"unstable": [
"pattern"
],
"use_std": [
"std"
]
},
"manifest_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.7.3/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [
"The Rust Project Developers"
],
"categories": [
"text-processing"
],
"keywords": [],
"readme": "README.md",
"repository": "https://github.com/rust-lang/regex",
"homepage": "https://github.com/rust-lang/regex",
"documentation": "https://docs.rs/regex",
"edition": "2018",
"links": null,
"default_run": null,
"rust_version": null
},
{
"name": "regex-syntax",
"version": "0.6.29",
"id": "regex-syntax 0.6.29 (registry+https://github.com/rust-lang/crates.io-index)",
"license": "MIT OR Apache-2.0",
"license_file": null,
"description": "A regular expression parser.",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"dependencies": [],
"targets": [
{
"kind": [
"lib"
],
"crate_types": [
"lib"
],
"name": "regex-syntax",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.6.29/src/lib.rs",
"edition": "2018",
"doc": true,
"doctest": true,
"test": true
},
{
"kind": [
"bench"
],
"crate_types": [
"bin"
],
"name": "bench",
"src_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.6.29/benches/bench.rs",
"edition": "2018",
"doc": false,
"doctest": false,
"test": false
}
],
"features": {
"default": [
"unicode"
],
"unicode": [
"unicode-age",
"unicode-bool",
"unicode-case",
"unicode-gencat",
"unicode-perl",
"unicode-script",
"unicode-segment"
],
"unicode-age": [],
"unicode-bool": [],
"unicode-case": [],
"unicode-gencat": [],
"unicode-perl": [],
"unicode-script": [],
"unicode-segment": []
},
"manifest_path": "$ROOT$.cargo/registry/src/github.com-1ecc6299db9ec823/regex-syntax-0.6.29/Cargo.toml",
"metadata": null,
"publish": null,
"authors": [
"The Rust Project Developers"
],
"categories": [],
"keywords": [],
"readme": "README.md",
"repository": "https://github.com/rust-lang/regex",
"homepage": "https://github.com/rust-lang/regex",
"documentation": "https://docs.rs/regex-syntax",
"edition": "2018",
"links": null,
"default_run": null,
"rust_version": null
}
],
"workspace_members": [
"ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)"
],
"resolve": {
"nodes": [
{
"id": "aho-corasick 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)",
"dependencies": [
"memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)"
],
"deps": [
{
"name": "memchr",
"pkg": "memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": null,
"target": null
}
]
}
],
"features": [
"default",
"std"
]
},
{
"id": "la-arena 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dependencies": [],
"deps": [],
"features": []
},
{
"id": "memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dependencies": [],
"deps": [],
"features": [
"default",
"std"
]
},
{
"id": "ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)",
"dependencies": [
"la-arena 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)",
"regex 1.7.3 (registry+https://github.com/rust-lang/crates.io-index)"
],
"deps": [
{
"name": "la_arena",
"pkg": "la-arena 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": null,
"target": null
}
]
},
{
"name": "ra_playground",
"pkg": "ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)",
"dep_kinds": [
{
"kind": "dev",
"target": null
}
]
},
{
"name": "regex",
"pkg": "regex 1.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": "dev",
"target": null
}
]
}
],
"features": []
},
{
"id": "regex 1.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"dependencies": [
"aho-corasick 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"regex-syntax 0.6.29 (registry+https://github.com/rust-lang/crates.io-index)"
],
"deps": [
{
"name": "aho_corasick",
"pkg": "aho-corasick 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": null,
"target": null
}
]
},
{
"name": "memchr",
"pkg": "memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": null,
"target": null
}
]
},
{
"name": "regex_syntax",
"pkg": "regex-syntax 0.6.29 (registry+https://github.com/rust-lang/crates.io-index)",
"dep_kinds": [
{
"kind": null,
"target": null
}
]
}
],
"features": [
"aho-corasick",
"default",
"memchr",
"perf",
"perf-cache",
"perf-dfa",
"perf-inline",
"perf-literal",
"std",
"unicode",
"unicode-age",
"unicode-bool",
"unicode-case",
"unicode-gencat",
"unicode-perl",
"unicode-script",
"unicode-segment"
]
},
{
"id": "regex-syntax 0.6.29 (registry+https://github.com/rust-lang/crates.io-index)",
"dependencies": [],
"deps": [],
"features": [
"default",
"unicode",
"unicode-age",
"unicode-bool",
"unicode-case",
"unicode-gencat",
"unicode-perl",
"unicode-script",
"unicode-segment"
]
}
],
"root": "ra-playground 0.1.0 (path+file:///$ROOT$ra-playground)"
},
"target_directory": "$ROOT$ra-playground/target",
"version": 1,
"workspace_root": "$ROOT$ra-playground",
"metadata": null
}