diff --git a/.cargo/Makefile.toml b/.cargo/Makefile.toml deleted file mode 100644 index 9d79bddad79..00000000000 --- a/.cargo/Makefile.toml +++ /dev/null @@ -1,27 +0,0 @@ -# This Makefile.toml defines common tasks and settings used in the rustfmt project. - -[env] -CFG_RELEASE = { value = "${CARGO_MAKE_RUST_VERSION}", condition = { env_not_set = ["CFG_RELEASE"] } } -CFG_RELEASE_CHANNEL = { value = "${CARGO_MAKE_RUST_CHANNEL}", condition = { env_not_set = ["CFG_RELEASE_CHANNEL"] } } - -[tasks.build-bin] -workspace = false -command = "cargo" -args = [ - "build", - "--bin", - "rustfmt", - "--all-features", -] - -[tasks.b] -alias = "build" - -[tasks.bb] -alias = "build-bin" - -[tasks.c] -alias = "check" - -[tasks.t] -alias = "test" diff --git a/.travis.yml b/.travis.yml index f59f51f0470..edd7c1ca762 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,8 +47,10 @@ script: - | export CFG_RELEASE_CHANNEL=nightly export CFG_RELEASE=nightly + which cargo-make || cargo install cargo-make if [ -z ${INTEGRATION} ]; then - cargo build && cargo test && cargo test -- --ignored && cargo test --manifest-path rustfmt-core/Cargo.toml && cargo test --manifest-path rustfmt-core/Cargo.toml -- --ignored + cargo make build-bins + cargo make test-all else ./ci/integration.sh fi diff --git a/Cargo.lock b/Cargo.lock index 7ee439ed27c..b3a54678681 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -132,9 +132,6 @@ name = "bytecount" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0017894339f586ccb943b01b9555de56770c11cda818e7e3d8bd93f4ed7f46e" -dependencies = [ - "packed_simd", -] [[package]] name = "byteorder" @@ -555,15 +552,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" -[[package]] -name = "packed_simd" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85ea9fc0d4ac0deb6fe7911d38786b32fc11119afd9e9d38b84ff691ce64220" -dependencies = [ - "cfg-if", -] - [[package]] name = "parking_lot" version = "0.9.0" @@ -1058,33 +1046,15 @@ dependencies = [ [[package]] name = "rustfmt-nightly" version = "2.0.0-rc.2" -dependencies = [ - "anyhow", - "cargo_metadata", - "dunce", - "env_logger", - "lazy_static", - "log", - "regex", - "rustc-workspace-hack", - "rustfmt_lib", - "serde", - "serde_json", - "structopt", - "term", - "thiserror", -] - -[[package]] -name = "rustfmt_lib" -version = "2.0.0-rc.2" dependencies = [ "annotate-snippets 0.8.0", "anyhow", "bytecount", + "cargo_metadata", "diff", "dirs", "dunce", + "env_logger", "ignore", "itertools", "lazy_static", @@ -1098,16 +1068,17 @@ dependencies = [ "rustc-ap-rustc_parse", "rustc-ap-rustc_session", "rustc-ap-rustc_span", + "rustc-workspace-hack", "rustfmt-config_proc_macro", "serde", "serde_json", + "structopt", "term", "thiserror", "toml", "unicode-segmentation", "unicode-width", "unicode_categories", - "winapi", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index bb7ad511ddb..bf3e0fe6411 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,56 +7,132 @@ description = "Tool to find and fix Rust formatting issues" repository = "https://github.com/rust-lang/rustfmt" readme = "README.md" license = "Apache-2.0/MIT" -build = "rustfmt-core/rustfmt-bin/build.rs" +build = "build.rs" categories = ["development-tools"] edition = "2018" [[bin]] name = "rustfmt" -path = "rustfmt-core/rustfmt-bin/src/bin/main.rs" -test = false +path = "src/rustfmt/main.rs" +required-features = ["rustfmt"] [[bin]] name = "cargo-fmt" -path = "rustfmt-core/rustfmt-bin/src/cargo-fmt/main.rs" -test = false +path = "src/cargo-fmt/main.rs" +required-features = ["cargo-fmt"] [[bin]] name = "rustfmt-format-diff" -path = "rustfmt-core/rustfmt-bin/src/format-diff/main.rs" -test = false +path = "src/format-diff/main.rs" +required-features = ["rustfmt-format-diff"] [[bin]] name = "git-rustfmt" -path = "rustfmt-core/rustfmt-bin/src/git-rustfmt/main.rs" -test = false +path = "src/git-rustfmt/main.rs" +required-features = ["git-rustfmt"] [features] -default = ["cargo-fmt", "rustfmt-format-diff"] -cargo-fmt = ["cargo_metadata"] -rustfmt-format-diff = ["regex", "serde", "serde_json"] -generic-simd = ["rustfmt_lib/generic-simd"] +default = ["config", "emitter"] +cargo-fmt = [ + "cargo_metadata", + "structopt", +] + +config = [ + "dirs", + "rustfmt-config_proc_macro", + "serde", + "serde_json", + "toml", +] + +emitter = [ + "config", + "diff", + "serde", + "serde_json", + "term", +] + +git-rustfmt = [ + "env_logger", + "structopt", +] + +rustfmt = [ + "env_logger", + "structopt", +] + +rustfmt-format-diff = [ + "env_logger", + "serde", + "serde_json", + "structopt", +] [dependencies] +annotate-snippets = { version = "0.8", features = ["color"] } anyhow = "1.0" +bytecount = "0.6" dunce = "1.0" -env_logger = "0.7" +ignore = "0.4.11" +itertools = "0.8" +lazy_static = "1.0.0" log = "0.4" -structopt = "0.3" -term = "0.6" +regex = "1.0" thiserror = "1.0" +unicode_categories = "0.1.1" +unicode-segmentation = "1.0.0" +unicode-width = "0.1.5" + +# A noop dependency that changes in the Rust repository, it's a bit of a hack. +# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust` +# for more information. +rustc-workspace-hack = "1.0.0" cargo_metadata = { version = "0.9", optional = true } -regex = { version = "1.0", optional = true } -serde = { version = "1.0", optional = true } +diff = { version = "0.1", optional = true} +dirs = { version = "2.0", optional = true } +env_logger = { version = "0.7", optional = true } +rustfmt-config_proc_macro = { version = "0.5", path = "config_proc_macro", optional = true } +serde = { version = "1.0", features = ["derive"], optional = true } serde_json = { version = "1.0", optional = true } - -rustfmt_lib = { path = "rustfmt-core/rustfmt-lib", version = "2.0.0-rc.2" } +structopt = { version = "0.3", optional = true } +term = { version = "0.6", optional = true } +toml = { version = "0.5", optional = true } [dev-dependencies] -lazy_static = "1.0" +env_logger = "0.7" -# A noop dependency that changes in the Rust repository, it's a bit of a hack. -# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust` -# for more information. -rustc-workspace-hack = "1.0.0" +[dependencies.rustc_ast] +package = "rustc-ap-rustc_ast" +version = "659.0.0" + +[dependencies.rustc_ast_pretty] +package = "rustc-ap-rustc_ast_pretty" +version = "659.0.0" + +[dependencies.rustc_data_structures] +package = "rustc-ap-rustc_data_structures" +version = "659.0.0" + +[dependencies.rustc_errors] +package = "rustc-ap-rustc_errors" +version = "659.0.0" + +[dependencies.rustc_expand] +package = "rustc-ap-rustc_expand" +version = "659.0.0" + +[dependencies.rustc_parse] +package = "rustc-ap-rustc_parse" +version = "659.0.0" + +[dependencies.rustc_session] +package = "rustc-ap-rustc_session" +version = "659.0.0" + +[dependencies.rustc_span] +package = "rustc-ap-rustc_span" +version = "659.0.0" diff --git a/Makefile.toml b/Makefile.toml index 57c5f3f4969..da9b5775906 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -1,4 +1,25 @@ -extend = ".cargo/Makefile.toml" +[env] +CFG_RELEASE = { value = "${CARGO_MAKE_RUST_VERSION}", condition = { env_not_set = ["CFG_RELEASE"] } } +CFG_RELEASE_CHANNEL = { value = "${CARGO_MAKE_RUST_CHANNEL}", condition = { env_not_set = ["CFG_RELEASE_CHANNEL"] } } + +[tasks.build-bin] +command = "cargo" +args = [ + "build", + "--bin", + "rustfmt", + "--bin", + "cargo-fmt", + "--features=rustfmt,cargo-fmt", +] + +[tasks.build-bins] +command = "cargo" +args = [ + "build", + "--all-features", + "--bins", +] [tasks.install] command = "cargo" @@ -7,25 +28,34 @@ args = [ "--path", ".", "--force", - "--locked", + "--locked", # Respect Cargo.lock + "--features=rustfmt,cargo-fmt" # Install only rustfmt and cargo-fmt ] -[tasks.test] -clear = true -run_task = { name = ["test-bin", "test-lib"] } +[tasks.test-all] +run_task = { name = ["test", "test-ignored"] } -[tasks.test-bin] -env = { "RUSTFMT_MAKE_MANIFEST_PATH" = "rustfmt-core/rustfmt-bin/Cargo.toml" } -run_task = "test-subproject" +[tasks.test-ignored] +command = "cargo" +args = [ + "test", + "--all-features", + "--", + "--ignored", +] -[tasks.test-lib] -env = { "RUSTFMT_MAKE_MANIFEST_PATH" = "rustfmt-core/rustfmt-lib/Cargo.toml" } -run_task = "test-subproject" +[tasks.b] +alias = "build" + +[tasks.bb] +alias = "build-bin" + +[tasks.bins] +alias = "build-bins" + +[tasks.c] +alias = "check" + +[tasks.t] +alias = "test" -[tasks.test-subproject] -condition = { env_set = ["RUSTFMT_MAKE_MANIFEST_PATH"] } -script_runner = "@shell" -script = [ - "cargo test --manifest-path ${RUSTFMT_MAKE_MANIFEST_PATH}", - "cargo test --manifest-path ${RUSTFMT_MAKE_MANIFEST_PATH} -- --ignored", -] diff --git a/appveyor.yml b/appveyor.yml index 8e84dd7e7a8..ad4867f7c64 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -48,10 +48,6 @@ install: build: false test_script: - - set CFG_RELEASE_CHANNEL=nightly - - set CFG_RELEASE=nightly - - cargo build --verbose - - cargo test - - cargo test -- --ignored - - cargo test --manifest-path rustfmt-core/Cargo.toml - - cargo test --manifest-path rustfmt-core/Cargo.toml -- --ignored + - cargo install cargo-make + - cargo make build-bins + - cargo make test-all diff --git a/rustfmt-core/rustfmt-bin/build.rs b/build.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/build.rs rename to build.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/.gitignore b/config_proc_macro/.gitignore similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/.gitignore rename to config_proc_macro/.gitignore diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/Cargo.toml b/config_proc_macro/Cargo.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/Cargo.toml rename to config_proc_macro/Cargo.toml diff --git a/rustfmt-core/rustfmt-bin/Makefile.toml b/config_proc_macro/Makefile.toml similarity index 100% rename from rustfmt-core/rustfmt-bin/Makefile.toml rename to config_proc_macro/Makefile.toml diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/attrs.rs b/config_proc_macro/src/attrs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/attrs.rs rename to config_proc_macro/src/attrs.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/config_type.rs b/config_proc_macro/src/config_type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/config_type.rs rename to config_proc_macro/src/config_type.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/item_enum.rs b/config_proc_macro/src/item_enum.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/item_enum.rs rename to config_proc_macro/src/item_enum.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/item_struct.rs b/config_proc_macro/src/item_struct.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/item_struct.rs rename to config_proc_macro/src/item_struct.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/lib.rs b/config_proc_macro/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/lib.rs rename to config_proc_macro/src/lib.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/src/utils.rs b/config_proc_macro/src/utils.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/src/utils.rs rename to config_proc_macro/src/utils.rs diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/tests/smoke.rs b/config_proc_macro/tests/smoke.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/config_proc_macro/tests/smoke.rs rename to config_proc_macro/tests/smoke.rs diff --git a/rustfmt-core/.gitignore b/rustfmt-core/.gitignore deleted file mode 100644 index 06aba01b651..00000000000 --- a/rustfmt-core/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Cargo.lock -/target diff --git a/rustfmt-core/Cargo.toml b/rustfmt-core/Cargo.toml deleted file mode 100644 index 33e538aaff7..00000000000 --- a/rustfmt-core/Cargo.toml +++ /dev/null @@ -1,5 +0,0 @@ -[workspace] -members = [ - "rustfmt-bin", - "rustfmt-lib", -] diff --git a/rustfmt-core/Makefile.toml b/rustfmt-core/Makefile.toml deleted file mode 100644 index 632f925a4ec..00000000000 --- a/rustfmt-core/Makefile.toml +++ /dev/null @@ -1,4 +0,0 @@ -extend = { path = "../.cargo/Makefile.toml" } - -[env] -CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = "true" diff --git a/rustfmt-core/rustfmt-bin/Cargo.toml b/rustfmt-core/rustfmt-bin/Cargo.toml deleted file mode 100644 index b03a882058a..00000000000 --- a/rustfmt-core/rustfmt-bin/Cargo.toml +++ /dev/null @@ -1,48 +0,0 @@ -[package] - -# The metadata of this crate is intentionally removed to avoid publishing this crate by accident. -name = "rustfmt-bin" -version = "2.0.0-rc.2" -edition = "2018" - -[[bin]] -name = "rustfmt" -path = "src/bin/main.rs" - -[[bin]] -name = "cargo-fmt" -path = "src/cargo-fmt/main.rs" - -[[bin]] -name = "rustfmt-format-diff" -path = "src/format-diff/main.rs" - -[[bin]] -name = "git-rustfmt" -path = "src/git-rustfmt/main.rs" - -[features] -default = ["cargo-fmt", "rustfmt-format-diff"] -cargo-fmt = [] -rustfmt-format-diff = [] -generic-simd = ["rustfmt_lib/generic-simd"] - -[dependencies] -ansi_term = "0.12" -anyhow = "1.0" -cargo_metadata = "0.9" -dunce = "1.0" -env_logger = "0.7" -getopts = "0.2" -log = "0.4" -regex = "1.0" -serde = "1.0" -serde_json = "1.0" -structopt = "0.3" -term = "0.6" -thiserror = "1.0" - -rustfmt_lib = { path = "../rustfmt-lib", version = "2.0.0-rc.2" } - -[dev-dependencies] -lazy_static = "1.0" diff --git a/rustfmt-core/rustfmt-lib/.gitignore b/rustfmt-core/rustfmt-lib/.gitignore deleted file mode 100644 index 96ef6c0b944..00000000000 --- a/rustfmt-core/rustfmt-lib/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target -Cargo.lock diff --git a/rustfmt-core/rustfmt-lib/Cargo.toml b/rustfmt-core/rustfmt-lib/Cargo.toml deleted file mode 100644 index 1bc4c7fd194..00000000000 --- a/rustfmt-core/rustfmt-lib/Cargo.toml +++ /dev/null @@ -1,91 +0,0 @@ -[package] -name = "rustfmt_lib" -version = "2.0.0-rc.2" -authors = ["topecongiro "] -edition = "2018" -description = "Rustfmt as a library" -license = "Apache-2.0/MIT" -repository = "https://github.com/rust-lang/rustfmt" - -[features] -# FIXME: Refactor so that rustfmt can be built without config or emitter. -default = ["config", "emitter"] -generic-simd = ["bytecount/generic-simd"] - -config = [ - "dirs", - "rustfmt-config_proc_macro", - "serde", - "serde_json", - "toml", -] - -emitter = [ - "config", - "diff", - "serde", - "serde_json", - "term", -] - -[dependencies] -annotate-snippets = { version = "0.8", features = ["color"] } -anyhow = "1.0" -bytecount = "0.6" -dunce = "1.0" -ignore = "0.4.11" -itertools = "0.8" -lazy_static = "1.0.0" -log = "0.4" -regex = "1.0" -thiserror = "1.0" -unicode_categories = "0.1.1" -unicode-segmentation = "1.0.0" -unicode-width = "0.1.5" - -# Optional dependencies -diff = { version = "0.1", optional = true} -dirs = { version = "2.0", optional = true } -rustfmt-config_proc_macro = { version = "0.5", path = "config_proc_macro", optional = true } -serde = { version = "1.0", features = ["derive"], optional = true } -serde_json = { version = "1.0", optional = true } -term = { version = "0.6", optional = true } -toml = { version = "0.5", optional = true } - -[target.'cfg(windows)'.dependencies] -winapi = { version = "0.3", features = ["errhandlingapi", "fileapi"] } - -[dev-dependencies] -env_logger = "0.7" - -[dependencies.rustc_ast] -package = "rustc-ap-rustc_ast" -version = "659.0.0" - -[dependencies.rustc_ast_pretty] -package = "rustc-ap-rustc_ast_pretty" -version = "659.0.0" - -[dependencies.rustc_data_structures] -package = "rustc-ap-rustc_data_structures" -version = "659.0.0" - -[dependencies.rustc_errors] -package = "rustc-ap-rustc_errors" -version = "659.0.0" - -[dependencies.rustc_expand] -package = "rustc-ap-rustc_expand" -version = "659.0.0" - -[dependencies.rustc_parse] -package = "rustc-ap-rustc_parse" -version = "659.0.0" - -[dependencies.rustc_session] -package = "rustc-ap-rustc_session" -version = "659.0.0" - -[dependencies.rustc_span] -package = "rustc-ap-rustc_span" -version = "659.0.0" diff --git a/rustfmt-core/rustfmt-lib/Makefile.toml b/rustfmt-core/rustfmt-lib/Makefile.toml deleted file mode 100644 index 65706bdf2d4..00000000000 --- a/rustfmt-core/rustfmt-lib/Makefile.toml +++ /dev/null @@ -1 +0,0 @@ -extend = { path = "../Makefile.toml" } diff --git a/rustfmt-core/rustfmt-lib/config_proc_macro/Makefile.toml b/rustfmt-core/rustfmt-lib/config_proc_macro/Makefile.toml deleted file mode 100644 index 65706bdf2d4..00000000000 --- a/rustfmt-core/rustfmt-lib/config_proc_macro/Makefile.toml +++ /dev/null @@ -1 +0,0 @@ -extend = { path = "../Makefile.toml" } diff --git a/rustfmt-core/rustfmt-bin/src/cargo-fmt/main.rs b/src/cargo-fmt/main.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/src/cargo-fmt/main.rs rename to src/cargo-fmt/main.rs diff --git a/rustfmt-core/rustfmt-lib/src/config.rs b/src/config.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config.rs rename to src/config.rs diff --git a/rustfmt-core/rustfmt-lib/src/config/config_type.rs b/src/config/config_type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config/config_type.rs rename to src/config/config_type.rs diff --git a/rustfmt-core/rustfmt-lib/src/config/file_lines.rs b/src/config/file_lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config/file_lines.rs rename to src/config/file_lines.rs diff --git a/rustfmt-core/rustfmt-lib/src/config/license.rs b/src/config/license.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config/license.rs rename to src/config/license.rs diff --git a/rustfmt-core/rustfmt-lib/src/config/lists.rs b/src/config/lists.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config/lists.rs rename to src/config/lists.rs diff --git a/rustfmt-core/rustfmt-lib/src/config/options.rs b/src/config/options.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/config/options.rs rename to src/config/options.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter.rs b/src/emitter.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter.rs rename to src/emitter.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/checkstyle.rs b/src/emitter/checkstyle.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/checkstyle.rs rename to src/emitter/checkstyle.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/checkstyle/xml.rs b/src/emitter/checkstyle/xml.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/checkstyle/xml.rs rename to src/emitter/checkstyle/xml.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/diff.rs b/src/emitter/diff.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/diff.rs rename to src/emitter/diff.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/files.rs b/src/emitter/files.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/files.rs rename to src/emitter/files.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/json.rs b/src/emitter/json.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/json.rs rename to src/emitter/json.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/modified_lines.rs b/src/emitter/modified_lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/modified_lines.rs rename to src/emitter/modified_lines.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/rustfmt_diff.rs b/src/emitter/rustfmt_diff.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/rustfmt_diff.rs rename to src/emitter/rustfmt_diff.rs diff --git a/rustfmt-core/rustfmt-lib/src/emitter/stdout.rs b/src/emitter/stdout.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/emitter/stdout.rs rename to src/emitter/stdout.rs diff --git a/rustfmt-core/rustfmt-bin/src/format-diff/main.rs b/src/format-diff/main.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/src/format-diff/main.rs rename to src/format-diff/main.rs diff --git a/rustfmt-core/rustfmt-bin/src/format-diff/test/bindgen.diff b/src/format-diff/test/bindgen.diff similarity index 100% rename from rustfmt-core/rustfmt-bin/src/format-diff/test/bindgen.diff rename to src/format-diff/test/bindgen.diff diff --git a/rustfmt-core/rustfmt-lib/src/format_report_formatter.rs b/src/format_report_formatter.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/format_report_formatter.rs rename to src/format_report_formatter.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting.rs b/src/formatting.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting.rs rename to src/formatting.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/attr.rs b/src/formatting/attr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/attr.rs rename to src/formatting/attr.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/attr/doc_comment.rs b/src/formatting/attr/doc_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/attr/doc_comment.rs rename to src/formatting/attr/doc_comment.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/chains.rs b/src/formatting/chains.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/chains.rs rename to src/formatting/chains.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/closures.rs b/src/formatting/closures.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/closures.rs rename to src/formatting/closures.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/comment.rs b/src/formatting/comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/comment.rs rename to src/formatting/comment.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/expr.rs b/src/formatting/expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/expr.rs rename to src/formatting/expr.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/imports.rs b/src/formatting/imports.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/imports.rs rename to src/formatting/imports.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/items.rs b/src/formatting/items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/items.rs rename to src/formatting/items.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/lists.rs b/src/formatting/lists.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/lists.rs rename to src/formatting/lists.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/macros.rs b/src/formatting/macros.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/macros.rs rename to src/formatting/macros.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/matches.rs b/src/formatting/matches.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/matches.rs rename to src/formatting/matches.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/missed_spans.rs b/src/formatting/missed_spans.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/missed_spans.rs rename to src/formatting/missed_spans.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/modules.rs b/src/formatting/modules.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/modules.rs rename to src/formatting/modules.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/modules/visitor.rs b/src/formatting/modules/visitor.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/modules/visitor.rs rename to src/formatting/modules/visitor.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/newline_style.rs b/src/formatting/newline_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/newline_style.rs rename to src/formatting/newline_style.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/overflow.rs b/src/formatting/overflow.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/overflow.rs rename to src/formatting/overflow.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/pairs.rs b/src/formatting/pairs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/pairs.rs rename to src/formatting/pairs.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/patterns.rs b/src/formatting/patterns.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/patterns.rs rename to src/formatting/patterns.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/reorder.rs b/src/formatting/reorder.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/reorder.rs rename to src/formatting/reorder.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/report.rs b/src/formatting/report.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/report.rs rename to src/formatting/report.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/rewrite.rs b/src/formatting/rewrite.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/rewrite.rs rename to src/formatting/rewrite.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/shape.rs b/src/formatting/shape.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/shape.rs rename to src/formatting/shape.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/skip.rs b/src/formatting/skip.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/skip.rs rename to src/formatting/skip.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/source_map.rs b/src/formatting/source_map.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/source_map.rs rename to src/formatting/source_map.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/spanned.rs b/src/formatting/spanned.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/spanned.rs rename to src/formatting/spanned.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/stmt.rs b/src/formatting/stmt.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/stmt.rs rename to src/formatting/stmt.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/string.rs b/src/formatting/string.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/string.rs rename to src/formatting/string.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/syntux.rs b/src/formatting/syntux.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/syntux.rs rename to src/formatting/syntux.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/syntux/parser.rs b/src/formatting/syntux/parser.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/syntux/parser.rs rename to src/formatting/syntux/parser.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/syntux/session.rs b/src/formatting/syntux/session.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/syntux/session.rs rename to src/formatting/syntux/session.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/syntux/session/ignore_path.rs b/src/formatting/syntux/session/ignore_path.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/syntux/session/ignore_path.rs rename to src/formatting/syntux/session/ignore_path.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/types.rs b/src/formatting/types.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/types.rs rename to src/formatting/types.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/util.rs b/src/formatting/util.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/util.rs rename to src/formatting/util.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/utils.rs b/src/formatting/utils.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/utils.rs rename to src/formatting/utils.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/vertical.rs b/src/formatting/vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/vertical.rs rename to src/formatting/vertical.rs diff --git a/rustfmt-core/rustfmt-lib/src/formatting/visitor.rs b/src/formatting/visitor.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/formatting/visitor.rs rename to src/formatting/visitor.rs diff --git a/rustfmt-core/rustfmt-bin/src/git-rustfmt/main.rs b/src/git-rustfmt/main.rs similarity index 97% rename from rustfmt-core/rustfmt-bin/src/git-rustfmt/main.rs rename to src/git-rustfmt/main.rs index 8091ad05bf2..9c285c9d356 100644 --- a/rustfmt-core/rustfmt-bin/src/git-rustfmt/main.rs +++ b/src/git-rustfmt/main.rs @@ -1,13 +1,11 @@ -#[macro_use] -extern crate log; - use std::io::stdout; use std::path::{Path, PathBuf}; use std::process::Command; +use log::debug; use structopt::StructOpt; -use rustfmt_lib::{ +use rustfmt_nightly::{ emitter::{emit_format_report, EmitterConfig}, format, load_config, CliOptions, FormatReportFormatterBuilder, Input, OperationSetting, }; @@ -85,7 +83,7 @@ fn fmt_files(files: &[&str]) -> i32 { struct NullOptions; impl CliOptions for NullOptions { - fn apply_to(&self, _: &mut rustfmt_lib::Config) { + fn apply_to(&self, _: &mut rustfmt_nightly::Config) { unreachable!(); } fn config_path(&self) -> Option<&Path> { diff --git a/rustfmt-core/rustfmt-lib/src/lib.rs b/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/lib.rs rename to src/lib.rs diff --git a/rustfmt-core/rustfmt-lib/src/release_channel.rs b/src/release_channel.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/release_channel.rs rename to src/release_channel.rs diff --git a/rustfmt-core/rustfmt-lib/src/result.rs b/src/result.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/result.rs rename to src/result.rs diff --git a/rustfmt-core/rustfmt-bin/src/bin/main.rs b/src/rustfmt/main.rs similarity index 99% rename from rustfmt-core/rustfmt-bin/src/bin/main.rs rename to src/rustfmt/main.rs index 80df2c325dc..c4cc8ae6c27 100644 --- a/rustfmt-core/rustfmt-bin/src/bin/main.rs +++ b/src/rustfmt/main.rs @@ -13,7 +13,7 @@ use anyhow::{format_err, Result}; use structopt::StructOpt; use thiserror::Error; -use rustfmt_lib::{ +use rustfmt_nightly::{ emitter::{emit_format_report, EmitMode, EmitterConfig, Verbosity}, format_inputs, load_config, CliOptions, Config, Edition, FileLines, FileName, FormatReportFormatterBuilder, Input, OperationSetting, @@ -412,7 +412,7 @@ fn format_string(input: String, opt: Opt) -> Result { recursive: opt.recursive, verbosity: Verbosity::Quiet, }; - let report = rustfmt_lib::format(Input::Text(input), &config, setting)?; + let report = rustfmt_nightly::format(Input::Text(input), &config, setting)?; let has_diff = emit_format_report(report, out, opt.emitter_config(EmitMode::Stdout))?; Ok(if opt.check && has_diff { 1 } else { 0 }) } diff --git a/rustfmt-core/rustfmt-lib/src/test/configuration_snippet.rs b/src/test/configuration_snippet.rs similarity index 99% rename from rustfmt-core/rustfmt-lib/src/test/configuration_snippet.rs rename to src/test/configuration_snippet.rs index 3dd859b9e1b..140731f087e 100644 --- a/rustfmt-core/rustfmt-lib/src/test/configuration_snippet.rs +++ b/src/test/configuration_snippet.rs @@ -10,7 +10,7 @@ use super::{print_mismatches, write_message, DIFF_CONTEXT_SIZE}; use crate::config::Config; use crate::{Input, OperationSetting, Verbosity}; -const CONFIGURATIONS_FILE_NAME: &str = "../../Configurations.md"; +const CONFIGURATIONS_FILE_NAME: &str = "Configurations.md"; // This enum is used to represent one of three text features in Configurations.md: a block of code // with its starting line number, the name of a rustfmt configuration option, or the value of a diff --git a/rustfmt-core/rustfmt-lib/src/test/mod.rs b/src/test/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/src/test/mod.rs rename to src/test/mod.rs diff --git a/rustfmt-core/rustfmt-bin/tests/cargo-fmt/main.rs b/tests/cargo-fmt/main.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/cargo-fmt/main.rs rename to tests/cargo-fmt/main.rs diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-1111.toml b/tests/config/issue-1111.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-1111.toml rename to tests/config/issue-1111.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-2641.toml b/tests/config/issue-2641.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-2641.toml rename to tests/config/issue-2641.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-3779.toml b/tests/config/issue-3779.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-3779.toml rename to tests/config/issue-3779.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-3802.toml b/tests/config/issue-3802.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-3802.toml rename to tests/config/issue-3802.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-3933.toml b/tests/config/issue-3933.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-3933.toml rename to tests/config/issue-3933.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/issue-3956.toml b/tests/config/issue-3956.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/issue-3956.toml rename to tests/config/issue-3956.toml diff --git a/rustfmt-core/rustfmt-lib/tests/config/small_tabs.toml b/tests/config/small_tabs.toml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/config/small_tabs.toml rename to tests/config/small_tabs.toml diff --git a/rustfmt-core/rustfmt-lib/tests/license-template/lt.txt b/tests/license-template/lt.txt similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/license-template/lt.txt rename to tests/license-template/lt.txt diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/empty-tests-dir/Cargo.toml b/tests/nested-test-files/empty-tests-dir/Cargo.toml similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/empty-tests-dir/Cargo.toml rename to tests/nested-test-files/empty-tests-dir/Cargo.toml diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/empty-tests-dir/src/lib.rs b/tests/nested-test-files/empty-tests-dir/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/empty-tests-dir/src/lib.rs rename to tests/nested-test-files/empty-tests-dir/src/lib.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/no-tests-dir/Cargo.toml b/tests/nested-test-files/no-tests-dir/Cargo.toml similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/no-tests-dir/Cargo.toml rename to tests/nested-test-files/no-tests-dir/Cargo.toml diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/no-tests-dir/src/lib.rs b/tests/nested-test-files/no-tests-dir/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/no-tests-dir/src/lib.rs rename to tests/nested-test-files/no-tests-dir/src/lib.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/Cargo.toml b/tests/nested-test-files/only-root-level-tests-dir/Cargo.toml similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/Cargo.toml rename to tests/nested-test-files/only-root-level-tests-dir/Cargo.toml diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/src/lib.rs b/tests/nested-test-files/only-root-level-tests-dir/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/src/lib.rs rename to tests/nested-test-files/only-root-level-tests-dir/src/lib.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/tests/bar.rs b/tests/nested-test-files/only-root-level-tests-dir/tests/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/tests/bar.rs rename to tests/nested-test-files/only-root-level-tests-dir/tests/bar.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/tests/foo.rs b/tests/nested-test-files/only-root-level-tests-dir/tests/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/only-root-level-tests-dir/tests/foo.rs rename to tests/nested-test-files/only-root-level-tests-dir/tests/foo.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/Cargo.toml b/tests/nested-test-files/root-and-nested-tests/Cargo.toml similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/Cargo.toml rename to tests/nested-test-files/root-and-nested-tests/Cargo.toml diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/src/lib.rs b/tests/nested-test-files/root-and-nested-tests/src/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/src/lib.rs rename to tests/nested-test-files/root-and-nested-tests/src/lib.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/bar.rs b/tests/nested-test-files/root-and-nested-tests/tests/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/bar.rs rename to tests/nested-test-files/root-and-nested-tests/tests/bar.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/foo.rs b/tests/nested-test-files/root-and-nested-tests/tests/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/foo.rs rename to tests/nested-test-files/root-and-nested-tests/tests/foo.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/deeply-nested/baz.rs b/tests/nested-test-files/root-and-nested-tests/tests/nested/deeply-nested/baz.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/deeply-nested/baz.rs rename to tests/nested-test-files/root-and-nested-tests/tests/nested/deeply-nested/baz.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/foo_bar.rs b/tests/nested-test-files/root-and-nested-tests/tests/nested/foo_bar.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/foo_bar.rs rename to tests/nested-test-files/root-and-nested-tests/tests/nested/foo_bar.rs diff --git a/rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/other.rs b/tests/nested-test-files/root-and-nested-tests/tests/nested/other.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/nested-test-files/root-and-nested-tests/tests/nested/other.rs rename to tests/nested-test-files/root-and-nested-tests/tests/nested/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/parser/issue-4126/invalid.rs b/tests/parser/issue-4126/invalid.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/parser/issue-4126/invalid.rs rename to tests/parser/issue-4126/invalid.rs diff --git a/rustfmt-core/rustfmt-lib/tests/parser/issue-4126/lib.rs b/tests/parser/issue-4126/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/parser/issue-4126/lib.rs rename to tests/parser/issue-4126/lib.rs diff --git a/rustfmt-core/rustfmt-bin/tests/rustfmt/main.rs b/tests/rustfmt/main.rs similarity index 100% rename from rustfmt-core/rustfmt-bin/tests/rustfmt/main.rs rename to tests/rustfmt/main.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/alignment_2633/block_style.rs b/tests/source/alignment_2633/block_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/alignment_2633/block_style.rs rename to tests/source/alignment_2633/block_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/alignment_2633/visual_style.rs b/tests/source/alignment_2633/visual_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/alignment_2633/visual_style.rs rename to tests/source/alignment_2633/visual_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/array_comment.rs b/tests/source/array_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/array_comment.rs rename to tests/source/array_comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/assignment.rs b/tests/source/assignment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/assignment.rs rename to tests/source/assignment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/associated-types-bounds-wrapping.rs b/tests/source/associated-types-bounds-wrapping.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/associated-types-bounds-wrapping.rs rename to tests/source/associated-types-bounds-wrapping.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/associated_type_bounds.rs b/tests/source/associated_type_bounds.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/associated_type_bounds.rs rename to tests/source/associated_type_bounds.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/async_block.rs b/tests/source/async_block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/async_block.rs rename to tests/source/async_block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/async_fn.rs b/tests/source/async_fn.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/async_fn.rs rename to tests/source/async_fn.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/attrib.rs b/tests/source/attrib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/attrib.rs rename to tests/source/attrib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/big-impl-block.rs b/tests/source/big-impl-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/big-impl-block.rs rename to tests/source/big-impl-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/big-impl-visual.rs b/tests/source/big-impl-visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/big-impl-visual.rs rename to tests/source/big-impl-visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/binary-expr.rs b/tests/source/binary-expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/binary-expr.rs rename to tests/source/binary-expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/break-and-continue.rs b/tests/source/break-and-continue.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/break-and-continue.rs rename to tests/source/break-and-continue.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/catch.rs b/tests/source/catch.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/catch.rs rename to tests/source/catch.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/aarch64.rs b/tests/source/cfg_if/detect/arch/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/aarch64.rs rename to tests/source/cfg_if/detect/arch/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/arm.rs b/tests/source/cfg_if/detect/arch/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/arm.rs rename to tests/source/cfg_if/detect/arch/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/mips.rs b/tests/source/cfg_if/detect/arch/mips.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/mips.rs rename to tests/source/cfg_if/detect/arch/mips.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/mips64.rs b/tests/source/cfg_if/detect/arch/mips64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/mips64.rs rename to tests/source/cfg_if/detect/arch/mips64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/powerpc.rs b/tests/source/cfg_if/detect/arch/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/powerpc.rs rename to tests/source/cfg_if/detect/arch/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/powerpc64.rs b/tests/source/cfg_if/detect/arch/powerpc64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/powerpc64.rs rename to tests/source/cfg_if/detect/arch/powerpc64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/x86.rs b/tests/source/cfg_if/detect/arch/x86.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/arch/x86.rs rename to tests/source/cfg_if/detect/arch/x86.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/bit.rs b/tests/source/cfg_if/detect/bit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/bit.rs rename to tests/source/cfg_if/detect/bit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/cache.rs b/tests/source/cfg_if/detect/cache.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/cache.rs rename to tests/source/cfg_if/detect/cache.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/error_macros.rs b/tests/source/cfg_if/detect/error_macros.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/error_macros.rs rename to tests/source/cfg_if/detect/error_macros.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/mod.rs b/tests/source/cfg_if/detect/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/mod.rs rename to tests/source/cfg_if/detect/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/aarch64.rs b/tests/source/cfg_if/detect/os/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/aarch64.rs rename to tests/source/cfg_if/detect/os/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/aarch64.rs b/tests/source/cfg_if/detect/os/freebsd/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/aarch64.rs rename to tests/source/cfg_if/detect/os/freebsd/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/arm.rs b/tests/source/cfg_if/detect/os/freebsd/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/arm.rs rename to tests/source/cfg_if/detect/os/freebsd/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/auxvec.rs b/tests/source/cfg_if/detect/os/freebsd/auxvec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/auxvec.rs rename to tests/source/cfg_if/detect/os/freebsd/auxvec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/mod.rs b/tests/source/cfg_if/detect/os/freebsd/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/mod.rs rename to tests/source/cfg_if/detect/os/freebsd/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/powerpc.rs b/tests/source/cfg_if/detect/os/freebsd/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/freebsd/powerpc.rs rename to tests/source/cfg_if/detect/os/freebsd/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/aarch64.rs b/tests/source/cfg_if/detect/os/linux/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/aarch64.rs rename to tests/source/cfg_if/detect/os/linux/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/arm.rs b/tests/source/cfg_if/detect/os/linux/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/arm.rs rename to tests/source/cfg_if/detect/os/linux/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/auxvec.rs b/tests/source/cfg_if/detect/os/linux/auxvec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/auxvec.rs rename to tests/source/cfg_if/detect/os/linux/auxvec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/cpuinfo.rs b/tests/source/cfg_if/detect/os/linux/cpuinfo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/cpuinfo.rs rename to tests/source/cfg_if/detect/os/linux/cpuinfo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/mips.rs b/tests/source/cfg_if/detect/os/linux/mips.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/mips.rs rename to tests/source/cfg_if/detect/os/linux/mips.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/mod.rs b/tests/source/cfg_if/detect/os/linux/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/mod.rs rename to tests/source/cfg_if/detect/os/linux/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/powerpc.rs b/tests/source/cfg_if/detect/os/linux/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/linux/powerpc.rs rename to tests/source/cfg_if/detect/os/linux/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/other.rs b/tests/source/cfg_if/detect/os/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/other.rs rename to tests/source/cfg_if/detect/os/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/x86.rs b/tests/source/cfg_if/detect/os/x86.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/detect/os/x86.rs rename to tests/source/cfg_if/detect/os/x86.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/lib.rs b/tests/source/cfg_if/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/lib.rs rename to tests/source/cfg_if/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_if/mod.rs b/tests/source/cfg_if/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_if/mod.rs rename to tests/source/cfg_if/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/bar.rs b/tests/source/cfg_mod/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/bar.rs rename to tests/source/cfg_mod/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/dir/dir1/dir2/wasm32.rs b/tests/source/cfg_mod/dir/dir1/dir2/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/dir/dir1/dir2/wasm32.rs rename to tests/source/cfg_mod/dir/dir1/dir2/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/dir/dir1/dir3/wasm32.rs b/tests/source/cfg_mod/dir/dir1/dir3/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/dir/dir1/dir3/wasm32.rs rename to tests/source/cfg_mod/dir/dir1/dir3/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/foo.rs b/tests/source/cfg_mod/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/foo.rs rename to tests/source/cfg_mod/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/mod.rs b/tests/source/cfg_mod/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/mod.rs rename to tests/source/cfg_mod/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/other.rs b/tests/source/cfg_mod/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/other.rs rename to tests/source/cfg_mod/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/cfg_mod/wasm32.rs b/tests/source/cfg_mod/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/cfg_mod/wasm32.rs rename to tests/source/cfg_mod/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/chains-visual.rs b/tests/source/chains-visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/chains-visual.rs rename to tests/source/chains-visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/chains.rs b/tests/source/chains.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/chains.rs rename to tests/source/chains.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/chains_with_comment.rs b/tests/source/chains_with_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/chains_with_comment.rs rename to tests/source/chains_with_comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/closure-block-inside-macro.rs b/tests/source/closure-block-inside-macro.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/closure-block-inside-macro.rs rename to tests/source/closure-block-inside-macro.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/closure_block_style.rs b/tests/source/closure_block_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/closure_block_style.rs rename to tests/source/closure_block_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/closure_block_style_no_comma.rs b/tests/source/closure_block_style_no_comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/closure_block_style_no_comma.rs rename to tests/source/closure_block_style_no_comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/closure_visual_style.rs b/tests/source/closure_visual_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/closure_visual_style.rs rename to tests/source/closure_visual_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment.rs b/tests/source/comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment.rs rename to tests/source/comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment2.rs b/tests/source/comment2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment2.rs rename to tests/source/comment2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment3.rs b/tests/source/comment3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment3.rs rename to tests/source/comment3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment4.rs b/tests/source/comment4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment4.rs rename to tests/source/comment4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment5.rs b/tests/source/comment5.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment5.rs rename to tests/source/comment5.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment6.rs b/tests/source/comment6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment6.rs rename to tests/source/comment6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/comment_crlf_newline.rs b/tests/source/comment_crlf_newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/comment_crlf_newline.rs rename to tests/source/comment_crlf_newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/blank_lines_lower_bound/1.rs b/tests/source/configs/blank_lines_lower_bound/1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/blank_lines_lower_bound/1.rs rename to tests/source/configs/blank_lines_lower_bound/1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_always_next_line.rs b/tests/source/configs/brace_style/fn_always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_always_next_line.rs rename to tests/source/configs/brace_style/fn_always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_prefer_same_line.rs b/tests/source/configs/brace_style/fn_prefer_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_prefer_same_line.rs rename to tests/source/configs/brace_style/fn_prefer_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_same_line_where.rs b/tests/source/configs/brace_style/fn_same_line_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/fn_same_line_where.rs rename to tests/source/configs/brace_style/fn_same_line_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_always_next_line.rs b/tests/source/configs/brace_style/item_always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_always_next_line.rs rename to tests/source/configs/brace_style/item_always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_prefer_same_line.rs b/tests/source/configs/brace_style/item_prefer_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_prefer_same_line.rs rename to tests/source/configs/brace_style/item_prefer_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_same_line_where.rs b/tests/source/configs/brace_style/item_same_line_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/brace_style/item_same_line_where.rs rename to tests/source/configs/brace_style/item_same_line_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/above.rs b/tests/source/configs/comment_width/above.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/above.rs rename to tests/source/configs/comment_width/above.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/below.rs b/tests/source/configs/comment_width/below.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/below.rs rename to tests/source/configs/comment_width/below.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/ignore.rs b/tests/source/configs/comment_width/ignore.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/comment_width/ignore.rs rename to tests/source/configs/comment_width/ignore.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/condense_wildcard_suffixes/false.rs b/tests/source/configs/condense_wildcard_suffixes/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/condense_wildcard_suffixes/false.rs rename to tests/source/configs/condense_wildcard_suffixes/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/condense_wildcard_suffixes/true.rs b/tests/source/configs/condense_wildcard_suffixes/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/condense_wildcard_suffixes/true.rs rename to tests/source/configs/condense_wildcard_suffixes/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/always_next_line.rs b/tests/source/configs/control_brace_style/always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/always_next_line.rs rename to tests/source/configs/control_brace_style/always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/always_same_line.rs b/tests/source/configs/control_brace_style/always_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/always_same_line.rs rename to tests/source/configs/control_brace_style/always_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/closing_next_line.rs b/tests/source/configs/control_brace_style/closing_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/control_brace_style/closing_next_line.rs rename to tests/source/configs/control_brace_style/closing_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/empty_item_single_line/false.rs b/tests/source/configs/empty_item_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/empty_item_single_line/false.rs rename to tests/source/configs/empty_item_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/empty_item_single_line/true.rs b/tests/source/configs/empty_item_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/empty_item_single_line/true.rs rename to tests/source/configs/empty_item_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/enum_discrim_align_threshold/40.rs b/tests/source/configs/enum_discrim_align_threshold/40.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/enum_discrim_align_threshold/40.rs rename to tests/source/configs/enum_discrim_align_threshold/40.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/error_on_line_overflow/false.rs b/tests/source/configs/error_on_line_overflow/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/error_on_line_overflow/false.rs rename to tests/source/configs/error_on_line_overflow/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/compressed.rs b/tests/source/configs/fn_params_layout/compressed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/compressed.rs rename to tests/source/configs/fn_params_layout/compressed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/tall.rs b/tests/source/configs/fn_params_layout/tall.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/tall.rs rename to tests/source/configs/fn_params_layout/tall.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/vertical.rs b/tests/source/configs/fn_params_layout/vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/fn_params_layout/vertical.rs rename to tests/source/configs/fn_params_layout/vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/fn_single_line/false.rs b/tests/source/configs/fn_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/fn_single_line/false.rs rename to tests/source/configs/fn_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/fn_single_line/true.rs b/tests/source/configs/fn_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/fn_single_line/true.rs rename to tests/source/configs/fn_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/force_explicit_abi/false.rs b/tests/source/configs/force_explicit_abi/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/force_explicit_abi/false.rs rename to tests/source/configs/force_explicit_abi/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/force_explicit_abi/true.rs b/tests/source/configs/force_explicit_abi/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/force_explicit_abi/true.rs rename to tests/source/configs/force_explicit_abi/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/force_multiline_block/false.rs b/tests/source/configs/force_multiline_block/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/force_multiline_block/false.rs rename to tests/source/configs/force_multiline_block/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/force_multiline_block/true.rs b/tests/source/configs/force_multiline_block/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/force_multiline_block/true.rs rename to tests/source/configs/force_multiline_block/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_bodies/false.rs b/tests/source/configs/format_macro_bodies/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_bodies/false.rs rename to tests/source/configs/format_macro_bodies/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_bodies/true.rs b/tests/source/configs/format_macro_bodies/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_bodies/true.rs rename to tests/source/configs/format_macro_bodies/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_matchers/false.rs b/tests/source/configs/format_macro_matchers/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_matchers/false.rs rename to tests/source/configs/format_macro_matchers/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_matchers/true.rs b/tests/source/configs/format_macro_matchers/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_macro_matchers/true.rs rename to tests/source/configs/format_macro_matchers/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_strings/false.rs b/tests/source/configs/format_strings/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_strings/false.rs rename to tests/source/configs/format_strings/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/format_strings/true.rs b/tests/source/configs/format_strings/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/format_strings/true.rs rename to tests/source/configs/format_strings/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/hard_tabs/false.rs b/tests/source/configs/hard_tabs/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/hard_tabs/false.rs rename to tests/source/configs/hard_tabs/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/hard_tabs/true.rs b/tests/source/configs/hard_tabs/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/hard_tabs/true.rs rename to tests/source/configs/hard_tabs/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/imports_layout/merge_mixed.rs b/tests/source/configs/imports_layout/merge_mixed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/imports_layout/merge_mixed.rs rename to tests/source/configs/imports_layout/merge_mixed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_args.rs b/tests/source/configs/indent_style/block_args.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_args.rs rename to tests/source/configs/indent_style/block_args.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_array.rs b/tests/source/configs/indent_style/block_array.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_array.rs rename to tests/source/configs/indent_style/block_array.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_call.rs b/tests/source/configs/indent_style/block_call.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_call.rs rename to tests/source/configs/indent_style/block_call.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_chain.rs b/tests/source/configs/indent_style/block_chain.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_chain.rs rename to tests/source/configs/indent_style/block_chain.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_generic.rs b/tests/source/configs/indent_style/block_generic.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_generic.rs rename to tests/source/configs/indent_style/block_generic.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_struct_lit.rs b/tests/source/configs/indent_style/block_struct_lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_struct_lit.rs rename to tests/source/configs/indent_style/block_struct_lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_trailing_comma_call/two.rs b/tests/source/configs/indent_style/block_trailing_comma_call/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_trailing_comma_call/two.rs rename to tests/source/configs/indent_style/block_trailing_comma_call/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_where_pred.rs b/tests/source/configs/indent_style/block_where_pred.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/block_where_pred.rs rename to tests/source/configs/indent_style/block_where_pred.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/default.rs b/tests/source/configs/indent_style/default.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/default.rs rename to tests/source/configs/indent_style/default.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/rfc_where.rs b/tests/source/configs/indent_style/rfc_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/rfc_where.rs rename to tests/source/configs/indent_style/rfc_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_args.rs b/tests/source/configs/indent_style/visual_args.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_args.rs rename to tests/source/configs/indent_style/visual_args.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_array.rs b/tests/source/configs/indent_style/visual_array.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_array.rs rename to tests/source/configs/indent_style/visual_array.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_call.rs b/tests/source/configs/indent_style/visual_call.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_call.rs rename to tests/source/configs/indent_style/visual_call.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_chain.rs b/tests/source/configs/indent_style/visual_chain.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_chain.rs rename to tests/source/configs/indent_style/visual_chain.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_generics.rs b/tests/source/configs/indent_style/visual_generics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_generics.rs rename to tests/source/configs/indent_style/visual_generics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_struct_lit.rs b/tests/source/configs/indent_style/visual_struct_lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_struct_lit.rs rename to tests/source/configs/indent_style/visual_struct_lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_trailing_comma.rs b/tests/source/configs/indent_style/visual_trailing_comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_trailing_comma.rs rename to tests/source/configs/indent_style/visual_trailing_comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_where_pred.rs b/tests/source/configs/indent_style/visual_where_pred.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/indent_style/visual_where_pred.rs rename to tests/source/configs/indent_style/visual_where_pred.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_blocks/false.rs b/tests/source/configs/match_arm_blocks/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_blocks/false.rs rename to tests/source/configs/match_arm_blocks/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_blocks/true.rs b/tests/source/configs/match_arm_blocks/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_blocks/true.rs rename to tests/source/configs/match_arm_blocks/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/always.rs b/tests/source/configs/match_arm_leading_pipes/always.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/always.rs rename to tests/source/configs/match_arm_leading_pipes/always.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/keep_existing.rs b/tests/source/configs/match_arm_leading_pipes/keep_existing.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/keep_existing.rs rename to tests/source/configs/match_arm_leading_pipes/keep_existing.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/never.rs b/tests/source/configs/match_arm_leading_pipes/never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_arm_leading_pipes/never.rs rename to tests/source/configs/match_arm_leading_pipes/never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_block_trailing_comma/false.rs b/tests/source/configs/match_block_trailing_comma/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_block_trailing_comma/false.rs rename to tests/source/configs/match_block_trailing_comma/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/match_block_trailing_comma/true.rs b/tests/source/configs/match_block_trailing_comma/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/match_block_trailing_comma/true.rs rename to tests/source/configs/match_block_trailing_comma/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/merge_derives/true.rs b/tests/source/configs/merge_derives/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/merge_derives/true.rs rename to tests/source/configs/merge_derives/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/normalize_comments/false.rs b/tests/source/configs/normalize_comments/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/normalize_comments/false.rs rename to tests/source/configs/normalize_comments/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/normalize_comments/true.rs b/tests/source/configs/normalize_comments/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/normalize_comments/true.rs rename to tests/source/configs/normalize_comments/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/normalize_doc_attributes/false.rs b/tests/source/configs/normalize_doc_attributes/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/normalize_doc_attributes/false.rs rename to tests/source/configs/normalize_doc_attributes/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/normalize_doc_attributes/true.rs b/tests/source/configs/normalize_doc_attributes/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/normalize_doc_attributes/true.rs rename to tests/source/configs/normalize_doc_attributes/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/recursive/disabled/foo.rs b/tests/source/configs/recursive/disabled/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/recursive/disabled/foo.rs rename to tests/source/configs/recursive/disabled/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/recursive/disabled/lib.rs b/tests/source/configs/recursive/disabled/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/recursive/disabled/lib.rs rename to tests/source/configs/recursive/disabled/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/recursive/enabled/foo.rs b/tests/source/configs/recursive/enabled/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/recursive/enabled/foo.rs rename to tests/source/configs/recursive/enabled/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/recursive/enabled/lib.rs b/tests/source/configs/recursive/enabled/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/recursive/enabled/lib.rs rename to tests/source/configs/recursive/enabled/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/remove_nested_parens/remove_nested_parens.rs b/tests/source/configs/remove_nested_parens/remove_nested_parens.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/remove_nested_parens/remove_nested_parens.rs rename to tests/source/configs/remove_nested_parens/remove_nested_parens.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_impl_items/false.rs b/tests/source/configs/reorder_impl_items/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_impl_items/false.rs rename to tests/source/configs/reorder_impl_items/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_impl_items/true.rs b/tests/source/configs/reorder_impl_items/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_impl_items/true.rs rename to tests/source/configs/reorder_impl_items/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_imports/false.rs b/tests/source/configs/reorder_imports/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_imports/false.rs rename to tests/source/configs/reorder_imports/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_imports/true.rs b/tests/source/configs/reorder_imports/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_imports/true.rs rename to tests/source/configs/reorder_imports/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/dolor/mod.rs b/tests/source/configs/reorder_modules/dolor/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/dolor/mod.rs rename to tests/source/configs/reorder_modules/dolor/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/false.rs b/tests/source/configs/reorder_modules/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/false.rs rename to tests/source/configs/reorder_modules/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/ipsum/mod.rs b/tests/source/configs/reorder_modules/ipsum/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/ipsum/mod.rs rename to tests/source/configs/reorder_modules/ipsum/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/lorem/mod.rs b/tests/source/configs/reorder_modules/lorem/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/lorem/mod.rs rename to tests/source/configs/reorder_modules/lorem/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/sit/mod.rs b/tests/source/configs/reorder_modules/sit/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/sit/mod.rs rename to tests/source/configs/reorder_modules/sit/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/true.rs b/tests/source/configs/reorder_modules/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/reorder_modules/true.rs rename to tests/source/configs/reorder_modules/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/space_around_attr_eq/false.rs b/tests/source/configs/space_around_attr_eq/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/space_around_attr_eq/false.rs rename to tests/source/configs/space_around_attr_eq/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/space_around_attr_eq/true.rs b/tests/source/configs/space_around_attr_eq/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/space_around_attr_eq/true.rs rename to tests/source/configs/space_around_attr_eq/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/space_before_colon/true.rs b/tests/source/configs/space_before_colon/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/space_before_colon/true.rs rename to tests/source/configs/space_before_colon/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/spaces_around_ranges/false.rs b/tests/source/configs/spaces_around_ranges/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/spaces_around_ranges/false.rs rename to tests/source/configs/spaces_around_ranges/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/spaces_around_ranges/true.rs b/tests/source/configs/spaces_around_ranges/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/spaces_around_ranges/true.rs rename to tests/source/configs/spaces_around_ranges/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/struct_field_align_threshold/20.rs b/tests/source/configs/struct_field_align_threshold/20.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/struct_field_align_threshold/20.rs rename to tests/source/configs/struct_field_align_threshold/20.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/struct_lit_single_line/false.rs b/tests/source/configs/struct_lit_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/struct_lit_single_line/false.rs rename to tests/source/configs/struct_lit_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/tab_spaces/2.rs b/tests/source/configs/tab_spaces/2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/tab_spaces/2.rs rename to tests/source/configs/tab_spaces/2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/tab_spaces/4.rs b/tests/source/configs/tab_spaces/4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/tab_spaces/4.rs rename to tests/source/configs/tab_spaces/4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/always.rs b/tests/source/configs/trailing_comma/always.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/always.rs rename to tests/source/configs/trailing_comma/always.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/never.rs b/tests/source/configs/trailing_comma/never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/never.rs rename to tests/source/configs/trailing_comma/never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/vertical.rs b/tests/source/configs/trailing_comma/vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/trailing_comma/vertical.rs rename to tests/source/configs/trailing_comma/vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/type_punctuation_density/compressed.rs b/tests/source/configs/type_punctuation_density/compressed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/type_punctuation_density/compressed.rs rename to tests/source/configs/type_punctuation_density/compressed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/type_punctuation_density/wide.rs b/tests/source/configs/type_punctuation_density/wide.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/type_punctuation_density/wide.rs rename to tests/source/configs/type_punctuation_density/wide.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/use_field_init_shorthand/false.rs b/tests/source/configs/use_field_init_shorthand/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/use_field_init_shorthand/false.rs rename to tests/source/configs/use_field_init_shorthand/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/use_field_init_shorthand/true.rs b/tests/source/configs/use_field_init_shorthand/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/use_field_init_shorthand/true.rs rename to tests/source/configs/use_field_init_shorthand/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/false.rs b/tests/source/configs/use_try_shorthand/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/false.rs rename to tests/source/configs/use_try_shorthand/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/true.rs b/tests/source/configs/use_try_shorthand/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/true.rs rename to tests/source/configs/use_try_shorthand/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/true_2015_edition.rs b/tests/source/configs/use_try_shorthand/true_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/use_try_shorthand/true_2015_edition.rs rename to tests/source/configs/use_try_shorthand/true_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/where_single_line/true.rs b/tests/source/configs/where_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/where_single_line/true.rs rename to tests/source/configs/where_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/max.rs b/tests/source/configs/width_heuristics/max.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/max.rs rename to tests/source/configs/width_heuristics/max.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/off.rs b/tests/source/configs/width_heuristics/off.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/off.rs rename to tests/source/configs/width_heuristics/off.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/scaled.rs b/tests/source/configs/width_heuristics/scaled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/width_heuristics/scaled.rs rename to tests/source/configs/width_heuristics/scaled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/wrap_comments/false.rs b/tests/source/configs/wrap_comments/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/wrap_comments/false.rs rename to tests/source/configs/wrap_comments/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/configs/wrap_comments/true.rs b/tests/source/configs/wrap_comments/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/configs/wrap_comments/true.rs rename to tests/source/configs/wrap_comments/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/const_generics.rs b/tests/source/const_generics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/const_generics.rs rename to tests/source/const_generics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/control-brace-style-always-next-line.rs b/tests/source/control-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/control-brace-style-always-next-line.rs rename to tests/source/control-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/control-brace-style-always-same-line.rs b/tests/source/control-brace-style-always-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/control-brace-style-always-same-line.rs rename to tests/source/control-brace-style-always-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/doc-attrib.rs b/tests/source/doc-attrib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/doc-attrib.rs rename to tests/source/doc-attrib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/doc-comment-with-example.rs b/tests/source/doc-comment-with-example.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/doc-comment-with-example.rs rename to tests/source/doc-comment-with-example.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/doc.rs b/tests/source/doc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/doc.rs rename to tests/source/doc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/dyn_trait.rs b/tests/source/dyn_trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/dyn_trait.rs rename to tests/source/dyn_trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-always-next-line.rs b/tests/source/else-if-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-always-next-line.rs rename to tests/source/else-if-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-always-same-line.rs b/tests/source/else-if-brace-style-always-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-always-same-line.rs rename to tests/source/else-if-brace-style-always-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-closing-next-line.rs b/tests/source/else-if-brace-style-closing-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/else-if-brace-style-closing-next-line.rs rename to tests/source/else-if-brace-style-closing-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/empty_file.rs b/tests/source/empty_file.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/empty_file.rs rename to tests/source/empty_file.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/enum.rs b/tests/source/enum.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/enum.rs rename to tests/source/enum.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/existential_type.rs b/tests/source/existential_type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/existential_type.rs rename to tests/source/existential_type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/expr-block.rs b/tests/source/expr-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/expr-block.rs rename to tests/source/expr-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/expr-overflow-delimited.rs b/tests/source/expr-overflow-delimited.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/expr-overflow-delimited.rs rename to tests/source/expr-overflow-delimited.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/expr.rs b/tests/source/expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/expr.rs rename to tests/source/expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/extern.rs b/tests/source/extern.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/extern.rs rename to tests/source/extern.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/extern_not_explicit.rs b/tests/source/extern_not_explicit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/extern_not_explicit.rs rename to tests/source/extern_not_explicit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-1.rs b/tests/source/file-lines-1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-1.rs rename to tests/source/file-lines-1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-2.rs b/tests/source/file-lines-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-2.rs rename to tests/source/file-lines-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-3.rs b/tests/source/file-lines-3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-3.rs rename to tests/source/file-lines-3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-4.rs b/tests/source/file-lines-4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-4.rs rename to tests/source/file-lines-4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-5.rs b/tests/source/file-lines-5.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-5.rs rename to tests/source/file-lines-5.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-6.rs b/tests/source/file-lines-6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-6.rs rename to tests/source/file-lines-6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-7.rs b/tests/source/file-lines-7.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-7.rs rename to tests/source/file-lines-7.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-8.rs b/tests/source/file-lines-8.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-8.rs rename to tests/source/file-lines-8.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/file-lines-item.rs b/tests/source/file-lines-item.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/file-lines-item.rs rename to tests/source/file-lines-item.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-2.rs b/tests/source/fn-custom-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-2.rs rename to tests/source/fn-custom-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-3.rs b/tests/source/fn-custom-3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-3.rs rename to tests/source/fn-custom-3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-4.rs b/tests/source/fn-custom-4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-4.rs rename to tests/source/fn-custom-4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-6.rs b/tests/source/fn-custom-6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-6.rs rename to tests/source/fn-custom-6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-7.rs b/tests/source/fn-custom-7.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-7.rs rename to tests/source/fn-custom-7.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom-8.rs b/tests/source/fn-custom-8.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom-8.rs rename to tests/source/fn-custom-8.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-custom.rs b/tests/source/fn-custom.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-custom.rs rename to tests/source/fn-custom.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-param-attributes.rs b/tests/source/fn-param-attributes.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-param-attributes.rs rename to tests/source/fn-param-attributes.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-simple.rs b/tests/source/fn-simple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-simple.rs rename to tests/source/fn-simple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn-single-line/version_two.rs b/tests/source/fn-single-line/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn-single-line/version_two.rs rename to tests/source/fn-single-line/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn_args_indent-block.rs b/tests/source/fn_args_indent-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn_args_indent-block.rs rename to tests/source/fn_args_indent-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/fn_params_layout-vertical.rs b/tests/source/fn_params_layout-vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/fn_params_layout-vertical.rs rename to tests/source/fn_params_layout-vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/hard-tabs.rs b/tests/source/hard-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/hard-tabs.rs rename to tests/source/hard-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/hello.rs b/tests/source/hello.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/hello.rs rename to tests/source/hello.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/hello2.rs b/tests/source/hello2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/hello2.rs rename to tests/source/hello2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/if_while_or_patterns.rs b/tests/source/if_while_or_patterns.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/if_while_or_patterns.rs rename to tests/source/if_while_or_patterns.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/immovable_generators.rs b/tests/source/immovable_generators.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/immovable_generators.rs rename to tests/source/immovable_generators.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/impls.rs b/tests/source/impls.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/impls.rs rename to tests/source/impls.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports-impl-only-use.rs b/tests/source/imports-impl-only-use.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports-impl-only-use.rs rename to tests/source/imports-impl-only-use.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports-reorder-lines-and-items.rs b/tests/source/imports-reorder-lines-and-items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports-reorder-lines-and-items.rs rename to tests/source/imports-reorder-lines-and-items.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports-reorder-lines.rs b/tests/source/imports-reorder-lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports-reorder-lines.rs rename to tests/source/imports-reorder-lines.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports-reorder.rs b/tests/source/imports-reorder.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports-reorder.rs rename to tests/source/imports-reorder.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports.rs b/tests/source/imports.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports.rs rename to tests/source/imports.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports_2015_edition.rs b/tests/source/imports_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports_2015_edition.rs rename to tests/source/imports_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports_block_indent.rs b/tests/source/imports_block_indent.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports_block_indent.rs rename to tests/source/imports_block_indent.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/imports_raw_identifiers.rs b/tests/source/imports_raw_identifiers.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/imports_raw_identifiers.rs rename to tests/source/imports_raw_identifiers.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/invalid-rust-code-in-doc-comment.rs b/tests/source/invalid-rust-code-in-doc-comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/invalid-rust-code-in-doc-comment.rs rename to tests/source/invalid-rust-code-in-doc-comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1021.rs b/tests/source/issue-1021.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1021.rs rename to tests/source/issue-1021.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1049.rs b/tests/source/issue-1049.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1049.rs rename to tests/source/issue-1049.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1111.rs b/tests/source/issue-1111.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1111.rs rename to tests/source/issue-1111.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1120.rs b/tests/source/issue-1120.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1120.rs rename to tests/source/issue-1120.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1124.rs b/tests/source/issue-1124.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1124.rs rename to tests/source/issue-1124.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1127.rs b/tests/source/issue-1127.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1127.rs rename to tests/source/issue-1127.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1158.rs b/tests/source/issue-1158.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1158.rs rename to tests/source/issue-1158.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1177.rs b/tests/source/issue-1177.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1177.rs rename to tests/source/issue-1177.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1192.rs b/tests/source/issue-1192.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1192.rs rename to tests/source/issue-1192.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1210/a.rs b/tests/source/issue-1210/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1210/a.rs rename to tests/source/issue-1210/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1210/b.rs b/tests/source/issue-1210/b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1210/b.rs rename to tests/source/issue-1210/b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1210/c.rs b/tests/source/issue-1210/c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1210/c.rs rename to tests/source/issue-1210/c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1210/d.rs b/tests/source/issue-1210/d.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1210/d.rs rename to tests/source/issue-1210/d.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1210/e.rs b/tests/source/issue-1210/e.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1210/e.rs rename to tests/source/issue-1210/e.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1211.rs b/tests/source/issue-1211.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1211.rs rename to tests/source/issue-1211.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1216.rs b/tests/source/issue-1216.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1216.rs rename to tests/source/issue-1216.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1239.rs b/tests/source/issue-1239.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1239.rs rename to tests/source/issue-1239.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1278.rs b/tests/source/issue-1278.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1278.rs rename to tests/source/issue-1278.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1350.rs b/tests/source/issue-1350.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1350.rs rename to tests/source/issue-1350.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1366.rs b/tests/source/issue-1366.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1366.rs rename to tests/source/issue-1366.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1468.rs b/tests/source/issue-1468.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1468.rs rename to tests/source/issue-1468.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1693.rs b/tests/source/issue-1693.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1693.rs rename to tests/source/issue-1693.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1800.rs b/tests/source/issue-1800.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1800.rs rename to tests/source/issue-1800.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-1914.rs b/tests/source/issue-1914.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-1914.rs rename to tests/source/issue-1914.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2025.rs b/tests/source/issue-2025.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2025.rs rename to tests/source/issue-2025.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2111.rs b/tests/source/issue-2111.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2111.rs rename to tests/source/issue-2111.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2164.rs b/tests/source/issue-2164.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2164.rs rename to tests/source/issue-2164.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2179/two.rs b/tests/source/issue-2179/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2179/two.rs rename to tests/source/issue-2179/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2256.rs b/tests/source/issue-2256.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2256.rs rename to tests/source/issue-2256.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2342.rs b/tests/source/issue-2342.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2342.rs rename to tests/source/issue-2342.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2445.rs b/tests/source/issue-2445.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2445.rs rename to tests/source/issue-2445.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2446.rs b/tests/source/issue-2446.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2446.rs rename to tests/source/issue-2446.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2479.rs b/tests/source/issue-2479.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2479.rs rename to tests/source/issue-2479.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2482/a.rs b/tests/source/issue-2482/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2482/a.rs rename to tests/source/issue-2482/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2482/b.rs b/tests/source/issue-2482/b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2482/b.rs rename to tests/source/issue-2482/b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2482/c.rs b/tests/source/issue-2482/c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2482/c.rs rename to tests/source/issue-2482/c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2496.rs b/tests/source/issue-2496.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2496.rs rename to tests/source/issue-2496.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2520.rs b/tests/source/issue-2520.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2520.rs rename to tests/source/issue-2520.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2523.rs b/tests/source/issue-2523.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2523.rs rename to tests/source/issue-2523.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2582.rs b/tests/source/issue-2582.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2582.rs rename to tests/source/issue-2582.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2641.rs b/tests/source/issue-2641.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2641.rs rename to tests/source/issue-2641.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2644.rs b/tests/source/issue-2644.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2644.rs rename to tests/source/issue-2644.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2728.rs b/tests/source/issue-2728.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2728.rs rename to tests/source/issue-2728.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2761.rs b/tests/source/issue-2761.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2761.rs rename to tests/source/issue-2761.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2794.rs b/tests/source/issue-2794.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2794.rs rename to tests/source/issue-2794.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2835.rs b/tests/source/issue-2835.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2835.rs rename to tests/source/issue-2835.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2863.rs b/tests/source/issue-2863.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2863.rs rename to tests/source/issue-2863.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2869.rs b/tests/source/issue-2869.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2869.rs rename to tests/source/issue-2869.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2896.rs b/tests/source/issue-2896.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2896.rs rename to tests/source/issue-2896.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2916.rs b/tests/source/issue-2916.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2916.rs rename to tests/source/issue-2916.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2917/packed_simd.rs b/tests/source/issue-2917/packed_simd.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2917/packed_simd.rs rename to tests/source/issue-2917/packed_simd.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2922.rs b/tests/source/issue-2922.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2922.rs rename to tests/source/issue-2922.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2927-2.rs b/tests/source/issue-2927-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2927-2.rs rename to tests/source/issue-2927-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2927.rs b/tests/source/issue-2927.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2927.rs rename to tests/source/issue-2927.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2930.rs b/tests/source/issue-2930.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2930.rs rename to tests/source/issue-2930.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2936.rs b/tests/source/issue-2936.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2936.rs rename to tests/source/issue-2936.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2955.rs b/tests/source/issue-2955.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2955.rs rename to tests/source/issue-2955.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2973.rs b/tests/source/issue-2973.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2973.rs rename to tests/source/issue-2973.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2977/impl.rs b/tests/source/issue-2977/impl.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2977/impl.rs rename to tests/source/issue-2977/impl.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2977/trait.rs b/tests/source/issue-2977/trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2977/trait.rs rename to tests/source/issue-2977/trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2985.rs b/tests/source/issue-2985.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2985.rs rename to tests/source/issue-2985.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-2995.rs b/tests/source/issue-2995.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-2995.rs rename to tests/source/issue-2995.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3029.rs b/tests/source/issue-3029.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3029.rs rename to tests/source/issue-3029.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3038.rs b/tests/source/issue-3038.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3038.rs rename to tests/source/issue-3038.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3049.rs b/tests/source/issue-3049.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3049.rs rename to tests/source/issue-3049.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3055/original.rs b/tests/source/issue-3055/original.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3055/original.rs rename to tests/source/issue-3055/original.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3059.rs b/tests/source/issue-3059.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3059.rs rename to tests/source/issue-3059.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3066.rs b/tests/source/issue-3066.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3066.rs rename to tests/source/issue-3066.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3131.rs b/tests/source/issue-3131.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3131.rs rename to tests/source/issue-3131.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3153.rs b/tests/source/issue-3153.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3153.rs rename to tests/source/issue-3153.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3170.rs b/tests/source/issue-3170.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3170.rs rename to tests/source/issue-3170.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3194.rs b/tests/source/issue-3194.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3194.rs rename to tests/source/issue-3194.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3198.rs b/tests/source/issue-3198.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3198.rs rename to tests/source/issue-3198.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3213/version_two.rs b/tests/source/issue-3213/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3213/version_two.rs rename to tests/source/issue-3213/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3217.rs b/tests/source/issue-3217.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3217.rs rename to tests/source/issue-3217.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3227/two.rs b/tests/source/issue-3227/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3227/two.rs rename to tests/source/issue-3227/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3234.rs b/tests/source/issue-3234.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3234.rs rename to tests/source/issue-3234.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3241.rs b/tests/source/issue-3241.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3241.rs rename to tests/source/issue-3241.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/bar.rs b/tests/source/issue-3253/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/bar.rs rename to tests/source/issue-3253/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/foo.rs b/tests/source/issue-3253/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/foo.rs rename to tests/source/issue-3253/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/lib.rs b/tests/source/issue-3253/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/lib.rs rename to tests/source/issue-3253/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/bar_foo.rs b/tests/source/issue-3253/paths/bar_foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/bar_foo.rs rename to tests/source/issue-3253/paths/bar_foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/excluded.rs b/tests/source/issue-3253/paths/excluded.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/excluded.rs rename to tests/source/issue-3253/paths/excluded.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/foo_bar.rs b/tests/source/issue-3253/paths/foo_bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3253/paths/foo_bar.rs rename to tests/source/issue-3253/paths/foo_bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3265.rs b/tests/source/issue-3265.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3265.rs rename to tests/source/issue-3265.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3270/two.rs b/tests/source/issue-3270/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3270/two.rs rename to tests/source/issue-3270/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3272/v2.rs b/tests/source/issue-3272/v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3272/v2.rs rename to tests/source/issue-3272/v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3278/version_two.rs b/tests/source/issue-3278/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3278/version_two.rs rename to tests/source/issue-3278/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3295/two.rs b/tests/source/issue-3295/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3295/two.rs rename to tests/source/issue-3295/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3302.rs b/tests/source/issue-3302.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3302.rs rename to tests/source/issue-3302.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3343.rs b/tests/source/issue-3343.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3343.rs rename to tests/source/issue-3343.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3423.rs b/tests/source/issue-3423.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3423.rs rename to tests/source/issue-3423.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3434/lib.rs b/tests/source/issue-3434/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3434/lib.rs rename to tests/source/issue-3434/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3434/no_entry.rs b/tests/source/issue-3434/no_entry.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3434/no_entry.rs rename to tests/source/issue-3434/no_entry.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3434/not_skip_macro.rs b/tests/source/issue-3434/not_skip_macro.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3434/not_skip_macro.rs rename to tests/source/issue-3434/not_skip_macro.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3465.rs b/tests/source/issue-3465.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3465.rs rename to tests/source/issue-3465.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3494/crlf.rs b/tests/source/issue-3494/crlf.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3494/crlf.rs rename to tests/source/issue-3494/crlf.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3494/lf.rs b/tests/source/issue-3494/lf.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3494/lf.rs rename to tests/source/issue-3494/lf.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3502.rs b/tests/source/issue-3502.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3502.rs rename to tests/source/issue-3502.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3508.rs b/tests/source/issue-3508.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3508.rs rename to tests/source/issue-3508.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3515.rs b/tests/source/issue-3515.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3515.rs rename to tests/source/issue-3515.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3532.rs b/tests/source/issue-3532.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3532.rs rename to tests/source/issue-3532.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3550.rs b/tests/source/issue-3550.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3550.rs rename to tests/source/issue-3550.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3585/extern_crate.rs b/tests/source/issue-3585/extern_crate.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3585/extern_crate.rs rename to tests/source/issue-3585/extern_crate.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3585/reorder_imports_disabled.rs b/tests/source/issue-3585/reorder_imports_disabled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3585/reorder_imports_disabled.rs rename to tests/source/issue-3585/reorder_imports_disabled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3585/reorder_imports_enabled.rs b/tests/source/issue-3585/reorder_imports_enabled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3585/reorder_imports_enabled.rs rename to tests/source/issue-3585/reorder_imports_enabled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3585/use.rs b/tests/source/issue-3585/use.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3585/use.rs rename to tests/source/issue-3585/use.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3636.rs b/tests/source/issue-3636.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3636.rs rename to tests/source/issue-3636.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3639.rs b/tests/source/issue-3639.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3639.rs rename to tests/source/issue-3639.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3651.rs b/tests/source/issue-3651.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3651.rs rename to tests/source/issue-3651.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3665/lib.rs b/tests/source/issue-3665/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3665/lib.rs rename to tests/source/issue-3665/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3665/not_skip_attribute.rs b/tests/source/issue-3665/not_skip_attribute.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3665/not_skip_attribute.rs rename to tests/source/issue-3665/not_skip_attribute.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3665/sub_mod.rs b/tests/source/issue-3665/sub_mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3665/sub_mod.rs rename to tests/source/issue-3665/sub_mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3672.rs b/tests/source/issue-3672.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3672.rs rename to tests/source/issue-3672.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3675.rs b/tests/source/issue-3675.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3675.rs rename to tests/source/issue-3675.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3701/two.rs b/tests/source/issue-3701/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3701/two.rs rename to tests/source/issue-3701/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3709.rs b/tests/source/issue-3709.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3709.rs rename to tests/source/issue-3709.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3740.rs b/tests/source/issue-3740.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3740.rs rename to tests/source/issue-3740.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3750.rs b/tests/source/issue-3750.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3750.rs rename to tests/source/issue-3750.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3751.rs b/tests/source/issue-3751.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3751.rs rename to tests/source/issue-3751.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3779/ice.rs b/tests/source/issue-3779/ice.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3779/ice.rs rename to tests/source/issue-3779/ice.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3779/lib.rs b/tests/source/issue-3779/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3779/lib.rs rename to tests/source/issue-3779/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3786.rs b/tests/source/issue-3786.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3786.rs rename to tests/source/issue-3786.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3787.rs b/tests/source/issue-3787.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3787.rs rename to tests/source/issue-3787.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3840/version-two_hard-tabs.rs b/tests/source/issue-3840/version-two_hard-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3840/version-two_hard-tabs.rs rename to tests/source/issue-3840/version-two_hard-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3840/version-two_soft-tabs.rs b/tests/source/issue-3840/version-two_soft-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3840/version-two_soft-tabs.rs rename to tests/source/issue-3840/version-two_soft-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3851.rs b/tests/source/issue-3851.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3851.rs rename to tests/source/issue-3851.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3904/two.rs b/tests/source/issue-3904/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3904/two.rs rename to tests/source/issue-3904/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3908.rs b/tests/source/issue-3908.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3908.rs rename to tests/source/issue-3908.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3923.rs b/tests/source/issue-3923.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3923.rs rename to tests/source/issue-3923.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3929.rs b/tests/source/issue-3929.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3929.rs rename to tests/source/issue-3929.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3933/imp-a.rs b/tests/source/issue-3933/imp-a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3933/imp-a.rs rename to tests/source/issue-3933/imp-a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3933/imp-b.rs b/tests/source/issue-3933/imp-b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3933/imp-b.rs rename to tests/source/issue-3933/imp-b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3933/lib.rs b/tests/source/issue-3933/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3933/lib.rs rename to tests/source/issue-3933/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3933/utils.rs b/tests/source/issue-3933/utils.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3933/utils.rs rename to tests/source/issue-3933/utils.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-3981.rs b/tests/source/issue-3981.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-3981.rs rename to tests/source/issue-3981.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4001.rs b/tests/source/issue-4001.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4001.rs rename to tests/source/issue-4001.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4018.rs b/tests/source/issue-4018.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4018.rs rename to tests/source/issue-4018.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4079.rs b/tests/source/issue-4079.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4079.rs rename to tests/source/issue-4079.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4099.rs b/tests/source/issue-4099.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4099.rs rename to tests/source/issue-4099.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4125.rs b/tests/source/issue-4125.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4125.rs rename to tests/source/issue-4125.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4158.rs b/tests/source/issue-4158.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4158.rs rename to tests/source/issue-4158.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-4167.rs b/tests/source/issue-4167.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-4167.rs rename to tests/source/issue-4167.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-447.rs b/tests/source/issue-447.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-447.rs rename to tests/source/issue-447.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-510.rs b/tests/source/issue-510.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-510.rs rename to tests/source/issue-510.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-539.rs b/tests/source/issue-539.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-539.rs rename to tests/source/issue-539.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-683.rs b/tests/source/issue-683.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-683.rs rename to tests/source/issue-683.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-811.rs b/tests/source/issue-811.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-811.rs rename to tests/source/issue-811.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-850.rs b/tests/source/issue-850.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-850.rs rename to tests/source/issue-850.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-855.rs b/tests/source/issue-855.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-855.rs rename to tests/source/issue-855.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-913.rs b/tests/source/issue-913.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-913.rs rename to tests/source/issue-913.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-945.rs b/tests/source/issue-945.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-945.rs rename to tests/source/issue-945.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue-977.rs b/tests/source/issue-977.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue-977.rs rename to tests/source/issue-977.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_3839.rs b/tests/source/issue_3839.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_3839.rs rename to tests/source/issue_3839.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_3844.rs b/tests/source/issue_3844.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_3844.rs rename to tests/source/issue_3844.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_3853.rs b/tests/source/issue_3853.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_3853.rs rename to tests/source/issue_3853.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_3868.rs b/tests/source/issue_3868.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_3868.rs rename to tests/source/issue_3868.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_3979.rs b/tests/source/issue_3979.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_3979.rs rename to tests/source/issue_3979.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_4032.rs b/tests/source/issue_4032.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_4032.rs rename to tests/source/issue_4032.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/issue_4086.rs b/tests/source/issue_4086.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/issue_4086.rs rename to tests/source/issue_4086.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/item-brace-style-always-next-line.rs b/tests/source/item-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/item-brace-style-always-next-line.rs rename to tests/source/item-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/item-brace-style-prefer-same-line.rs b/tests/source/item-brace-style-prefer-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/item-brace-style-prefer-same-line.rs rename to tests/source/item-brace-style-prefer-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/item-brace-style-same-line-where.rs b/tests/source/item-brace-style-same-line-where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/item-brace-style-same-line-where.rs rename to tests/source/item-brace-style-same-line-where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/no_wrap.rs b/tests/source/itemized-blocks/no_wrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/no_wrap.rs rename to tests/source/itemized-blocks/no_wrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/rewrite_fail.rs b/tests/source/itemized-blocks/rewrite_fail.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/rewrite_fail.rs rename to tests/source/itemized-blocks/rewrite_fail.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/urls.rs b/tests/source/itemized-blocks/urls.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/urls.rs rename to tests/source/itemized-blocks/urls.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/wrap.rs b/tests/source/itemized-blocks/wrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/itemized-blocks/wrap.rs rename to tests/source/itemized-blocks/wrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/label_break.rs b/tests/source/label_break.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/label_break.rs rename to tests/source/label_break.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/large-block.rs b/tests/source/large-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/large-block.rs rename to tests/source/large-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/large_vec.rs b/tests/source/large_vec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/large_vec.rs rename to tests/source/large_vec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/lazy_static.rs b/tests/source/lazy_static.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/lazy_static.rs rename to tests/source/lazy_static.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/license-templates/empty_license_path.rs b/tests/source/license-templates/empty_license_path.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/license-templates/empty_license_path.rs rename to tests/source/license-templates/empty_license_path.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/license-templates/license.rs b/tests/source/license-templates/license.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/license-templates/license.rs rename to tests/source/license-templates/license.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/long-fn-1/version_two.rs b/tests/source/long-fn-1/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/long-fn-1/version_two.rs rename to tests/source/long-fn-1/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/long-match-arms-brace-newline.rs b/tests/source/long-match-arms-brace-newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/long-match-arms-brace-newline.rs rename to tests/source/long-match-arms-brace-newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/long-use-statement-issue-3154.rs b/tests/source/long-use-statement-issue-3154.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/long-use-statement-issue-3154.rs rename to tests/source/long-use-statement-issue-3154.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/long_field_access.rs b/tests/source/long_field_access.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/long_field_access.rs rename to tests/source/long_field_access.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/loop.rs b/tests/source/loop.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/loop.rs rename to tests/source/loop.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/macro_not_expr.rs b/tests/source/macro_not_expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/macro_not_expr.rs rename to tests/source/macro_not_expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/macro_rules.rs b/tests/source/macro_rules.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/macro_rules.rs rename to tests/source/macro_rules.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/macros.rs b/tests/source/macros.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/macros.rs rename to tests/source/macros.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/markdown-comment-with-options.rs b/tests/source/markdown-comment-with-options.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/markdown-comment-with-options.rs rename to tests/source/markdown-comment-with-options.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/markdown-comment.rs b/tests/source/markdown-comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/markdown-comment.rs rename to tests/source/markdown-comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match-block-trailing-comma.rs b/tests/source/match-block-trailing-comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match-block-trailing-comma.rs rename to tests/source/match-block-trailing-comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match-flattening.rs b/tests/source/match-flattening.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match-flattening.rs rename to tests/source/match-flattening.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match-nowrap-trailing-comma.rs b/tests/source/match-nowrap-trailing-comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match-nowrap-trailing-comma.rs rename to tests/source/match-nowrap-trailing-comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match-nowrap.rs b/tests/source/match-nowrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match-nowrap.rs rename to tests/source/match-nowrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match.rs b/tests/source/match.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match.rs rename to tests/source/match.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/match_overflow_expr.rs b/tests/source/match_overflow_expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/match_overflow_expr.rs rename to tests/source/match_overflow_expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/max-line-length-in-chars.rs b/tests/source/max-line-length-in-chars.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/max-line-length-in-chars.rs rename to tests/source/max-line-length-in-chars.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/merge_imports.rs b/tests/source/merge_imports.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/merge_imports.rs rename to tests/source/merge_imports.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/mod-1.rs b/tests/source/mod-1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/mod-1.rs rename to tests/source/mod-1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/mod-2.rs b/tests/source/mod-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/mod-2.rs rename to tests/source/mod-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/mods-relative-paths/lib.rs b/tests/source/mods-relative-paths/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/mods-relative-paths/lib.rs rename to tests/source/mods-relative-paths/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/mods-relative-paths/mod_b.rs b/tests/source/mods-relative-paths/mod_b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/mods-relative-paths/mod_b.rs rename to tests/source/mods-relative-paths/mod_b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/multiple.rs b/tests/source/multiple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/multiple.rs rename to tests/source/multiple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nested-if-else.rs b/tests/source/nested-if-else.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nested-if-else.rs rename to tests/source/nested-if-else.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod.rs b/tests/source/nestedmod/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod.rs rename to tests/source/nestedmod/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2a.rs b/tests/source/nestedmod/mod2a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2a.rs rename to tests/source/nestedmod/mod2a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2b.rs b/tests/source/nestedmod/mod2b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2b.rs rename to tests/source/nestedmod/mod2b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2c.rs b/tests/source/nestedmod/mod2c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/mod2c.rs rename to tests/source/nestedmod/mod2c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/mymod1/mod3a.rs b/tests/source/nestedmod/mymod1/mod3a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/mymod1/mod3a.rs rename to tests/source/nestedmod/mymod1/mod3a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/submod2/a.rs b/tests/source/nestedmod/submod2/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/submod2/a.rs rename to tests/source/nestedmod/submod2/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/nestedmod/submod2/mod.rs b/tests/source/nestedmod/submod2/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/nestedmod/submod2/mod.rs rename to tests/source/nestedmod/submod2/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/no_arg_with_commnet.rs b/tests/source/no_arg_with_commnet.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/no_arg_with_commnet.rs rename to tests/source/no_arg_with_commnet.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/no_new_line_beginning.rs b/tests/source/no_new_line_beginning.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/no_new_line_beginning.rs rename to tests/source/no_new_line_beginning.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/normalize_doc_attributes_should_not_imply_format_doc_comments.rs b/tests/source/normalize_doc_attributes_should_not_imply_format_doc_comments.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/normalize_doc_attributes_should_not_imply_format_doc_comments.rs rename to tests/source/normalize_doc_attributes_should_not_imply_format_doc_comments.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/normalize_multiline_doc_attribute.rs b/tests/source/normalize_multiline_doc_attribute.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/normalize_multiline_doc_attribute.rs rename to tests/source/normalize_multiline_doc_attribute.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/one_line_if_v2.rs b/tests/source/one_line_if_v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/one_line_if_v2.rs rename to tests/source/one_line_if_v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/other.rs b/tests/source/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/other.rs rename to tests/source/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/paren.rs b/tests/source/paren.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/paren.rs rename to tests/source/paren.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/path_clarity/foo.rs b/tests/source/path_clarity/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/path_clarity/foo.rs rename to tests/source/path_clarity/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/path_clarity/foo/bar.rs b/tests/source/path_clarity/foo/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/path_clarity/foo/bar.rs rename to tests/source/path_clarity/foo/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/paths.rs b/tests/source/paths.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/paths.rs rename to tests/source/paths.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/pattern-condense-wildcards.rs b/tests/source/pattern-condense-wildcards.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/pattern-condense-wildcards.rs rename to tests/source/pattern-condense-wildcards.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/pattern.rs b/tests/source/pattern.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/pattern.rs rename to tests/source/pattern.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/preserves_carriage_return_for_unix.rs b/tests/source/preserves_carriage_return_for_unix.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/preserves_carriage_return_for_unix.rs rename to tests/source/preserves_carriage_return_for_unix.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/preserves_carriage_return_for_windows.rs b/tests/source/preserves_carriage_return_for_windows.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/preserves_carriage_return_for_windows.rs rename to tests/source/preserves_carriage_return_for_windows.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/pub-restricted.rs b/tests/source/pub-restricted.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/pub-restricted.rs rename to tests/source/pub-restricted.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/remove_blank_lines.rs b/tests/source/remove_blank_lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/remove_blank_lines.rs rename to tests/source/remove_blank_lines.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/reorder-impl-items.rs b/tests/source/reorder-impl-items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/reorder-impl-items.rs rename to tests/source/reorder-impl-items.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/single-line-if-else.rs b/tests/source/single-line-if-else.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/single-line-if-else.rs rename to tests/source/single-line-if-else.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/single-line-macro/v2.rs b/tests/source/single-line-macro/v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/single-line-macro/v2.rs rename to tests/source/single-line-macro/v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/soft-wrapping.rs b/tests/source/soft-wrapping.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/soft-wrapping.rs rename to tests/source/soft-wrapping.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/space-not-before-newline.rs b/tests/source/space-not-before-newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/space-not-before-newline.rs rename to tests/source/space-not-before-newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/spaces-around-ranges.rs b/tests/source/spaces-around-ranges.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/spaces-around-ranges.rs rename to tests/source/spaces-around-ranges.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/static.rs b/tests/source/static.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/static.rs rename to tests/source/static.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/string-lit-2.rs b/tests/source/string-lit-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/string-lit-2.rs rename to tests/source/string-lit-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/string-lit.rs b/tests/source/string-lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/string-lit.rs rename to tests/source/string-lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/string_punctuation.rs b/tests/source/string_punctuation.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/string_punctuation.rs rename to tests/source/string_punctuation.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct-field-attributes.rs b/tests/source/struct-field-attributes.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct-field-attributes.rs rename to tests/source/struct-field-attributes.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct_lits.rs b/tests/source/struct_lits.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct_lits.rs rename to tests/source/struct_lits.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct_lits_multiline.rs b/tests/source/struct_lits_multiline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct_lits_multiline.rs rename to tests/source/struct_lits_multiline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct_lits_visual.rs b/tests/source/struct_lits_visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct_lits_visual.rs rename to tests/source/struct_lits_visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct_lits_visual_multiline.rs b/tests/source/struct_lits_visual_multiline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct_lits_visual_multiline.rs rename to tests/source/struct_lits_visual_multiline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/struct_tuple_visual.rs b/tests/source/struct_tuple_visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/struct_tuple_visual.rs rename to tests/source/struct_tuple_visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/structs.rs b/tests/source/structs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/structs.rs rename to tests/source/structs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trailing-comma-never.rs b/tests/source/trailing-comma-never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trailing-comma-never.rs rename to tests/source/trailing-comma-never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trailing_commas.rs b/tests/source/trailing_commas.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trailing_commas.rs rename to tests/source/trailing_commas.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trailing_comments/hard_tabs.rs b/tests/source/trailing_comments/hard_tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trailing_comments/hard_tabs.rs rename to tests/source/trailing_comments/hard_tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trailing_comments/soft_tabs.rs b/tests/source/trailing_comments/soft_tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trailing_comments/soft_tabs.rs rename to tests/source/trailing_comments/soft_tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trait.rs b/tests/source/trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trait.rs rename to tests/source/trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/trait_2015_edition.rs b/tests/source/trait_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/trait_2015_edition.rs rename to tests/source/trait_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/try-conversion.rs b/tests/source/try-conversion.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/try-conversion.rs rename to tests/source/try-conversion.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/tuple.rs b/tests/source/tuple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/tuple.rs rename to tests/source/tuple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/type-ascription.rs b/tests/source/type-ascription.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/type-ascription.rs rename to tests/source/type-ascription.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/type.rs b/tests/source/type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/type.rs rename to tests/source/type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/type_alias.rs b/tests/source/type_alias.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/type_alias.rs rename to tests/source/type_alias.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/unicode.rs b/tests/source/unicode.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/unicode.rs rename to tests/source/unicode.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/unions.rs b/tests/source/unions.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/unions.rs rename to tests/source/unions.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/visibility.rs b/tests/source/visibility.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/visibility.rs rename to tests/source/visibility.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/visual-fn-type.rs b/tests/source/visual-fn-type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/visual-fn-type.rs rename to tests/source/visual-fn-type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/where-clause-rfc.rs b/tests/source/where-clause-rfc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/where-clause-rfc.rs rename to tests/source/where-clause-rfc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/where-clause.rs b/tests/source/where-clause.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/where-clause.rs rename to tests/source/where-clause.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/width-heuristics.rs b/tests/source/width-heuristics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/width-heuristics.rs rename to tests/source/width-heuristics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/source/wrap_comments_should_not_imply_format_doc_comments.rs b/tests/source/wrap_comments_should_not_imply_format_doc_comments.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/source/wrap_comments_should_not_imply_format_doc_comments.rs rename to tests/source/wrap_comments_should_not_imply_format_doc_comments.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/alignment_2633/block_style.rs b/tests/target/alignment_2633/block_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/alignment_2633/block_style.rs rename to tests/target/alignment_2633/block_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/alignment_2633/horizontal_tactic.rs b/tests/target/alignment_2633/horizontal_tactic.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/alignment_2633/horizontal_tactic.rs rename to tests/target/alignment_2633/horizontal_tactic.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/alignment_2633/visual_style.rs b/tests/target/alignment_2633/visual_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/alignment_2633/visual_style.rs rename to tests/target/alignment_2633/visual_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/array_comment.rs b/tests/target/array_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/array_comment.rs rename to tests/target/array_comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/assignment.rs b/tests/target/assignment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/assignment.rs rename to tests/target/assignment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/associated-items.rs b/tests/target/associated-items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/associated-items.rs rename to tests/target/associated-items.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/associated-types-bounds-wrapping.rs b/tests/target/associated-types-bounds-wrapping.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/associated-types-bounds-wrapping.rs rename to tests/target/associated-types-bounds-wrapping.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/associated_type_bounds.rs b/tests/target/associated_type_bounds.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/associated_type_bounds.rs rename to tests/target/associated_type_bounds.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/associated_type_defaults.rs b/tests/target/associated_type_defaults.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/associated_type_defaults.rs rename to tests/target/associated_type_defaults.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/async_block.rs b/tests/target/async_block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/async_block.rs rename to tests/target/async_block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/async_closure.rs b/tests/target/async_closure.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/async_closure.rs rename to tests/target/async_closure.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/async_fn.rs b/tests/target/async_fn.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/async_fn.rs rename to tests/target/async_fn.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/attrib-block-expr.rs b/tests/target/attrib-block-expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/attrib-block-expr.rs rename to tests/target/attrib-block-expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/attrib-extern-crate.rs b/tests/target/attrib-extern-crate.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/attrib-extern-crate.rs rename to tests/target/attrib-extern-crate.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/attrib.rs b/tests/target/attrib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/attrib.rs rename to tests/target/attrib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/big-impl-block.rs b/tests/target/big-impl-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/big-impl-block.rs rename to tests/target/big-impl-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/big-impl-visual.rs b/tests/target/big-impl-visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/big-impl-visual.rs rename to tests/target/big-impl-visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/binary-expr.rs b/tests/target/binary-expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/binary-expr.rs rename to tests/target/binary-expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/break-and-continue.rs b/tests/target/break-and-continue.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/break-and-continue.rs rename to tests/target/break-and-continue.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/catch.rs b/tests/target/catch.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/catch.rs rename to tests/target/catch.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/aarch64.rs b/tests/target/cfg_if/detect/arch/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/aarch64.rs rename to tests/target/cfg_if/detect/arch/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/arm.rs b/tests/target/cfg_if/detect/arch/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/arm.rs rename to tests/target/cfg_if/detect/arch/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/mips.rs b/tests/target/cfg_if/detect/arch/mips.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/mips.rs rename to tests/target/cfg_if/detect/arch/mips.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/mips64.rs b/tests/target/cfg_if/detect/arch/mips64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/mips64.rs rename to tests/target/cfg_if/detect/arch/mips64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/powerpc.rs b/tests/target/cfg_if/detect/arch/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/powerpc.rs rename to tests/target/cfg_if/detect/arch/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/powerpc64.rs b/tests/target/cfg_if/detect/arch/powerpc64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/powerpc64.rs rename to tests/target/cfg_if/detect/arch/powerpc64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/x86.rs b/tests/target/cfg_if/detect/arch/x86.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/arch/x86.rs rename to tests/target/cfg_if/detect/arch/x86.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/bit.rs b/tests/target/cfg_if/detect/bit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/bit.rs rename to tests/target/cfg_if/detect/bit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/cache.rs b/tests/target/cfg_if/detect/cache.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/cache.rs rename to tests/target/cfg_if/detect/cache.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/error_macros.rs b/tests/target/cfg_if/detect/error_macros.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/error_macros.rs rename to tests/target/cfg_if/detect/error_macros.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/mod.rs b/tests/target/cfg_if/detect/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/mod.rs rename to tests/target/cfg_if/detect/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/aarch64.rs b/tests/target/cfg_if/detect/os/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/aarch64.rs rename to tests/target/cfg_if/detect/os/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/aarch64.rs b/tests/target/cfg_if/detect/os/freebsd/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/aarch64.rs rename to tests/target/cfg_if/detect/os/freebsd/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/arm.rs b/tests/target/cfg_if/detect/os/freebsd/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/arm.rs rename to tests/target/cfg_if/detect/os/freebsd/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/auxvec.rs b/tests/target/cfg_if/detect/os/freebsd/auxvec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/auxvec.rs rename to tests/target/cfg_if/detect/os/freebsd/auxvec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/mod.rs b/tests/target/cfg_if/detect/os/freebsd/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/mod.rs rename to tests/target/cfg_if/detect/os/freebsd/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/powerpc.rs b/tests/target/cfg_if/detect/os/freebsd/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/freebsd/powerpc.rs rename to tests/target/cfg_if/detect/os/freebsd/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/aarch64.rs b/tests/target/cfg_if/detect/os/linux/aarch64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/aarch64.rs rename to tests/target/cfg_if/detect/os/linux/aarch64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/arm.rs b/tests/target/cfg_if/detect/os/linux/arm.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/arm.rs rename to tests/target/cfg_if/detect/os/linux/arm.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/auxvec.rs b/tests/target/cfg_if/detect/os/linux/auxvec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/auxvec.rs rename to tests/target/cfg_if/detect/os/linux/auxvec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/cpuinfo.rs b/tests/target/cfg_if/detect/os/linux/cpuinfo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/cpuinfo.rs rename to tests/target/cfg_if/detect/os/linux/cpuinfo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/mips.rs b/tests/target/cfg_if/detect/os/linux/mips.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/mips.rs rename to tests/target/cfg_if/detect/os/linux/mips.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/mod.rs b/tests/target/cfg_if/detect/os/linux/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/mod.rs rename to tests/target/cfg_if/detect/os/linux/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/powerpc.rs b/tests/target/cfg_if/detect/os/linux/powerpc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/linux/powerpc.rs rename to tests/target/cfg_if/detect/os/linux/powerpc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/other.rs b/tests/target/cfg_if/detect/os/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/other.rs rename to tests/target/cfg_if/detect/os/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/x86.rs b/tests/target/cfg_if/detect/os/x86.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/detect/os/x86.rs rename to tests/target/cfg_if/detect/os/x86.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/lib.rs b/tests/target/cfg_if/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/lib.rs rename to tests/target/cfg_if/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_if/mod.rs b/tests/target/cfg_if/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_if/mod.rs rename to tests/target/cfg_if/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/bar.rs b/tests/target/cfg_mod/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/bar.rs rename to tests/target/cfg_mod/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/dir/dir1/dir2/wasm32.rs b/tests/target/cfg_mod/dir/dir1/dir2/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/dir/dir1/dir2/wasm32.rs rename to tests/target/cfg_mod/dir/dir1/dir2/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/dir/dir1/dir3/wasm32.rs b/tests/target/cfg_mod/dir/dir1/dir3/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/dir/dir1/dir3/wasm32.rs rename to tests/target/cfg_mod/dir/dir1/dir3/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/foo.rs b/tests/target/cfg_mod/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/foo.rs rename to tests/target/cfg_mod/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/mod.rs b/tests/target/cfg_mod/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/mod.rs rename to tests/target/cfg_mod/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/other.rs b/tests/target/cfg_mod/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/other.rs rename to tests/target/cfg_mod/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/cfg_mod/wasm32.rs b/tests/target/cfg_mod/wasm32.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/cfg_mod/wasm32.rs rename to tests/target/cfg_mod/wasm32.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/chains-visual.rs b/tests/target/chains-visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/chains-visual.rs rename to tests/target/chains-visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/chains.rs b/tests/target/chains.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/chains.rs rename to tests/target/chains.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/chains_with_comment.rs b/tests/target/chains_with_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/chains_with_comment.rs rename to tests/target/chains_with_comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/closure-block-inside-macro.rs b/tests/target/closure-block-inside-macro.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/closure-block-inside-macro.rs rename to tests/target/closure-block-inside-macro.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/closure_block_style.rs b/tests/target/closure_block_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/closure_block_style.rs rename to tests/target/closure_block_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/closure_block_style_no_comma.rs b/tests/target/closure_block_style_no_comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/closure_block_style_no_comma.rs rename to tests/target/closure_block_style_no_comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/closure_visual_style.rs b/tests/target/closure_visual_style.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/closure_visual_style.rs rename to tests/target/closure_visual_style.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment-inside-const.rs b/tests/target/comment-inside-const.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment-inside-const.rs rename to tests/target/comment-inside-const.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment-not-disappear.rs b/tests/target/comment-not-disappear.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment-not-disappear.rs rename to tests/target/comment-not-disappear.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment.rs b/tests/target/comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment.rs rename to tests/target/comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment2.rs b/tests/target/comment2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment2.rs rename to tests/target/comment2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment3.rs b/tests/target/comment3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment3.rs rename to tests/target/comment3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment4.rs b/tests/target/comment4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment4.rs rename to tests/target/comment4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment5.rs b/tests/target/comment5.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment5.rs rename to tests/target/comment5.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment6.rs b/tests/target/comment6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment6.rs rename to tests/target/comment6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comment_crlf_newline.rs b/tests/target/comment_crlf_newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comment_crlf_newline.rs rename to tests/target/comment_crlf_newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/comments-fn.rs b/tests/target/comments-fn.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/comments-fn.rs rename to tests/target/comments-fn.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/blank_lines_lower_bound/1.rs b/tests/target/configs/blank_lines_lower_bound/1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/blank_lines_lower_bound/1.rs rename to tests/target/configs/blank_lines_lower_bound/1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_always_next_line.rs b/tests/target/configs/brace_style/fn_always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_always_next_line.rs rename to tests/target/configs/brace_style/fn_always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_prefer_same_line.rs b/tests/target/configs/brace_style/fn_prefer_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_prefer_same_line.rs rename to tests/target/configs/brace_style/fn_prefer_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_same_line_where.rs b/tests/target/configs/brace_style/fn_same_line_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/fn_same_line_where.rs rename to tests/target/configs/brace_style/fn_same_line_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_always_next_line.rs b/tests/target/configs/brace_style/item_always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_always_next_line.rs rename to tests/target/configs/brace_style/item_always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_prefer_same_line.rs b/tests/target/configs/brace_style/item_prefer_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_prefer_same_line.rs rename to tests/target/configs/brace_style/item_prefer_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_same_line_where.rs b/tests/target/configs/brace_style/item_same_line_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/brace_style/item_same_line_where.rs rename to tests/target/configs/brace_style/item_same_line_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/combine_control_expr/false.rs b/tests/target/configs/combine_control_expr/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/combine_control_expr/false.rs rename to tests/target/configs/combine_control_expr/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/combine_control_expr/true.rs b/tests/target/configs/combine_control_expr/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/combine_control_expr/true.rs rename to tests/target/configs/combine_control_expr/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/above.rs b/tests/target/configs/comment_width/above.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/above.rs rename to tests/target/configs/comment_width/above.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/below.rs b/tests/target/configs/comment_width/below.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/below.rs rename to tests/target/configs/comment_width/below.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/ignore.rs b/tests/target/configs/comment_width/ignore.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/comment_width/ignore.rs rename to tests/target/configs/comment_width/ignore.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/condense_wildcard_suffixes/false.rs b/tests/target/configs/condense_wildcard_suffixes/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/condense_wildcard_suffixes/false.rs rename to tests/target/configs/condense_wildcard_suffixes/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/condense_wildcard_suffixes/true.rs b/tests/target/configs/condense_wildcard_suffixes/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/condense_wildcard_suffixes/true.rs rename to tests/target/configs/condense_wildcard_suffixes/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/always_next_line.rs b/tests/target/configs/control_brace_style/always_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/always_next_line.rs rename to tests/target/configs/control_brace_style/always_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/always_same_line.rs b/tests/target/configs/control_brace_style/always_same_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/always_same_line.rs rename to tests/target/configs/control_brace_style/always_same_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/closing_next_line.rs b/tests/target/configs/control_brace_style/closing_next_line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/control_brace_style/closing_next_line.rs rename to tests/target/configs/control_brace_style/closing_next_line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/empty_item_single_line/false.rs b/tests/target/configs/empty_item_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/empty_item_single_line/false.rs rename to tests/target/configs/empty_item_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/empty_item_single_line/true.rs b/tests/target/configs/empty_item_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/empty_item_single_line/true.rs rename to tests/target/configs/empty_item_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/enum_discrim_align_threshold/40.rs b/tests/target/configs/enum_discrim_align_threshold/40.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/enum_discrim_align_threshold/40.rs rename to tests/target/configs/enum_discrim_align_threshold/40.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/error_on_line_overflow/false.rs b/tests/target/configs/error_on_line_overflow/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/error_on_line_overflow/false.rs rename to tests/target/configs/error_on_line_overflow/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/error_on_unformatted/false.rs b/tests/target/configs/error_on_unformatted/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/error_on_unformatted/false.rs rename to tests/target/configs/error_on_unformatted/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/compressed.rs b/tests/target/configs/fn_params_layout/compressed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/compressed.rs rename to tests/target/configs/fn_params_layout/compressed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/tall.rs b/tests/target/configs/fn_params_layout/tall.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/tall.rs rename to tests/target/configs/fn_params_layout/tall.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/vertical.rs b/tests/target/configs/fn_params_layout/vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/fn_params_layout/vertical.rs rename to tests/target/configs/fn_params_layout/vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/fn_single_line/false.rs b/tests/target/configs/fn_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/fn_single_line/false.rs rename to tests/target/configs/fn_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/fn_single_line/true.rs b/tests/target/configs/fn_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/fn_single_line/true.rs rename to tests/target/configs/fn_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/force_explicit_abi/false.rs b/tests/target/configs/force_explicit_abi/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/force_explicit_abi/false.rs rename to tests/target/configs/force_explicit_abi/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/force_explicit_abi/true.rs b/tests/target/configs/force_explicit_abi/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/force_explicit_abi/true.rs rename to tests/target/configs/force_explicit_abi/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/force_multiline_block/false.rs b/tests/target/configs/force_multiline_block/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/force_multiline_block/false.rs rename to tests/target/configs/force_multiline_block/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/force_multiline_block/true.rs b/tests/target/configs/force_multiline_block/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/force_multiline_block/true.rs rename to tests/target/configs/force_multiline_block/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_bodies/false.rs b/tests/target/configs/format_macro_bodies/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_bodies/false.rs rename to tests/target/configs/format_macro_bodies/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_bodies/true.rs b/tests/target/configs/format_macro_bodies/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_bodies/true.rs rename to tests/target/configs/format_macro_bodies/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_matchers/false.rs b/tests/target/configs/format_macro_matchers/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_matchers/false.rs rename to tests/target/configs/format_macro_matchers/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_matchers/true.rs b/tests/target/configs/format_macro_matchers/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_macro_matchers/true.rs rename to tests/target/configs/format_macro_matchers/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_strings/false.rs b/tests/target/configs/format_strings/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_strings/false.rs rename to tests/target/configs/format_strings/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/format_strings/true.rs b/tests/target/configs/format_strings/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/format_strings/true.rs rename to tests/target/configs/format_strings/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/hard_tabs/false.rs b/tests/target/configs/hard_tabs/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/hard_tabs/false.rs rename to tests/target/configs/hard_tabs/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/hard_tabs/true.rs b/tests/target/configs/hard_tabs/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/hard_tabs/true.rs rename to tests/target/configs/hard_tabs/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/imports_indent/block.rs b/tests/target/configs/imports_indent/block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/imports_indent/block.rs rename to tests/target/configs/imports_indent/block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/horizontal_vertical.rs b/tests/target/configs/imports_layout/horizontal_vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/horizontal_vertical.rs rename to tests/target/configs/imports_layout/horizontal_vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/merge_mixed.rs b/tests/target/configs/imports_layout/merge_mixed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/merge_mixed.rs rename to tests/target/configs/imports_layout/merge_mixed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/mixed.rs b/tests/target/configs/imports_layout/mixed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/imports_layout/mixed.rs rename to tests/target/configs/imports_layout/mixed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_args.rs b/tests/target/configs/indent_style/block_args.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_args.rs rename to tests/target/configs/indent_style/block_args.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_array.rs b/tests/target/configs/indent_style/block_array.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_array.rs rename to tests/target/configs/indent_style/block_array.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_call.rs b/tests/target/configs/indent_style/block_call.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_call.rs rename to tests/target/configs/indent_style/block_call.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_chain.rs b/tests/target/configs/indent_style/block_chain.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_chain.rs rename to tests/target/configs/indent_style/block_chain.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_generic.rs b/tests/target/configs/indent_style/block_generic.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_generic.rs rename to tests/target/configs/indent_style/block_generic.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_struct_lit.rs b/tests/target/configs/indent_style/block_struct_lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_struct_lit.rs rename to tests/target/configs/indent_style/block_struct_lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_tab_spaces_call.rs b/tests/target/configs/indent_style/block_tab_spaces_call.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_tab_spaces_call.rs rename to tests/target/configs/indent_style/block_tab_spaces_call.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_trailing_comma_call/two.rs b/tests/target/configs/indent_style/block_trailing_comma_call/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_trailing_comma_call/two.rs rename to tests/target/configs/indent_style/block_trailing_comma_call/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_where_pred.rs b/tests/target/configs/indent_style/block_where_pred.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/block_where_pred.rs rename to tests/target/configs/indent_style/block_where_pred.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/default.rs b/tests/target/configs/indent_style/default.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/default.rs rename to tests/target/configs/indent_style/default.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/rfc_control.rs b/tests/target/configs/indent_style/rfc_control.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/rfc_control.rs rename to tests/target/configs/indent_style/rfc_control.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/rfc_where.rs b/tests/target/configs/indent_style/rfc_where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/rfc_where.rs rename to tests/target/configs/indent_style/rfc_where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_args.rs b/tests/target/configs/indent_style/visual_args.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_args.rs rename to tests/target/configs/indent_style/visual_args.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_array.rs b/tests/target/configs/indent_style/visual_array.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_array.rs rename to tests/target/configs/indent_style/visual_array.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_call.rs b/tests/target/configs/indent_style/visual_call.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_call.rs rename to tests/target/configs/indent_style/visual_call.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_chain.rs b/tests/target/configs/indent_style/visual_chain.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_chain.rs rename to tests/target/configs/indent_style/visual_chain.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_generics.rs b/tests/target/configs/indent_style/visual_generics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_generics.rs rename to tests/target/configs/indent_style/visual_generics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_struct_lit.rs b/tests/target/configs/indent_style/visual_struct_lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_struct_lit.rs rename to tests/target/configs/indent_style/visual_struct_lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_trailing_comma.rs b/tests/target/configs/indent_style/visual_trailing_comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_trailing_comma.rs rename to tests/target/configs/indent_style/visual_trailing_comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_where_pred.rs b/tests/target/configs/indent_style/visual_where_pred.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/indent_style/visual_where_pred.rs rename to tests/target/configs/indent_style/visual_where_pred.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_blocks/false.rs b/tests/target/configs/match_arm_blocks/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_blocks/false.rs rename to tests/target/configs/match_arm_blocks/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_blocks/true.rs b/tests/target/configs/match_arm_blocks/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_blocks/true.rs rename to tests/target/configs/match_arm_blocks/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/always.rs b/tests/target/configs/match_arm_leading_pipes/always.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/always.rs rename to tests/target/configs/match_arm_leading_pipes/always.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/keep_existing.rs b/tests/target/configs/match_arm_leading_pipes/keep_existing.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/keep_existing.rs rename to tests/target/configs/match_arm_leading_pipes/keep_existing.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/never.rs b/tests/target/configs/match_arm_leading_pipes/never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_arm_leading_pipes/never.rs rename to tests/target/configs/match_arm_leading_pipes/never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_block_trailing_comma/false.rs b/tests/target/configs/match_block_trailing_comma/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_block_trailing_comma/false.rs rename to tests/target/configs/match_block_trailing_comma/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/match_block_trailing_comma/true.rs b/tests/target/configs/match_block_trailing_comma/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/match_block_trailing_comma/true.rs rename to tests/target/configs/match_block_trailing_comma/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/merge_derives/true.rs b/tests/target/configs/merge_derives/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/merge_derives/true.rs rename to tests/target/configs/merge_derives/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/normalize_comments/false.rs b/tests/target/configs/normalize_comments/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/normalize_comments/false.rs rename to tests/target/configs/normalize_comments/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/normalize_comments/true.rs b/tests/target/configs/normalize_comments/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/normalize_comments/true.rs rename to tests/target/configs/normalize_comments/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/normalize_doc_attributes/false.rs b/tests/target/configs/normalize_doc_attributes/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/normalize_doc_attributes/false.rs rename to tests/target/configs/normalize_doc_attributes/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/normalize_doc_attributes/true.rs b/tests/target/configs/normalize_doc_attributes/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/normalize_doc_attributes/true.rs rename to tests/target/configs/normalize_doc_attributes/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/recursive/disabled/foo.rs b/tests/target/configs/recursive/disabled/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/recursive/disabled/foo.rs rename to tests/target/configs/recursive/disabled/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/recursive/disabled/lib.rs b/tests/target/configs/recursive/disabled/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/recursive/disabled/lib.rs rename to tests/target/configs/recursive/disabled/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/recursive/enabled/foo.rs b/tests/target/configs/recursive/enabled/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/recursive/enabled/foo.rs rename to tests/target/configs/recursive/enabled/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/recursive/enabled/lib.rs b/tests/target/configs/recursive/enabled/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/recursive/enabled/lib.rs rename to tests/target/configs/recursive/enabled/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/remove_nested_parens/remove_nested_parens.rs b/tests/target/configs/remove_nested_parens/remove_nested_parens.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/remove_nested_parens/remove_nested_parens.rs rename to tests/target/configs/remove_nested_parens/remove_nested_parens.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_impl_items/false.rs b/tests/target/configs/reorder_impl_items/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_impl_items/false.rs rename to tests/target/configs/reorder_impl_items/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_impl_items/true.rs b/tests/target/configs/reorder_impl_items/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_impl_items/true.rs rename to tests/target/configs/reorder_impl_items/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_imports/false.rs b/tests/target/configs/reorder_imports/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_imports/false.rs rename to tests/target/configs/reorder_imports/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_imports/true.rs b/tests/target/configs/reorder_imports/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_imports/true.rs rename to tests/target/configs/reorder_imports/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/dolor/mod.rs b/tests/target/configs/reorder_modules/dolor/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/dolor/mod.rs rename to tests/target/configs/reorder_modules/dolor/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/false.rs b/tests/target/configs/reorder_modules/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/false.rs rename to tests/target/configs/reorder_modules/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/ipsum/mod.rs b/tests/target/configs/reorder_modules/ipsum/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/ipsum/mod.rs rename to tests/target/configs/reorder_modules/ipsum/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/lorem/mod.rs b/tests/target/configs/reorder_modules/lorem/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/lorem/mod.rs rename to tests/target/configs/reorder_modules/lorem/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/sit/mod.rs b/tests/target/configs/reorder_modules/sit/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/sit/mod.rs rename to tests/target/configs/reorder_modules/sit/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/true.rs b/tests/target/configs/reorder_modules/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/reorder_modules/true.rs rename to tests/target/configs/reorder_modules/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/space_around_attr_eq/false.rs b/tests/target/configs/space_around_attr_eq/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/space_around_attr_eq/false.rs rename to tests/target/configs/space_around_attr_eq/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/space_around_attr_eq/true.rs b/tests/target/configs/space_around_attr_eq/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/space_around_attr_eq/true.rs rename to tests/target/configs/space_around_attr_eq/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/space_before_colon/true.rs b/tests/target/configs/space_before_colon/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/space_before_colon/true.rs rename to tests/target/configs/space_before_colon/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/spaces_around_ranges/false.rs b/tests/target/configs/spaces_around_ranges/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/spaces_around_ranges/false.rs rename to tests/target/configs/spaces_around_ranges/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/spaces_around_ranges/true.rs b/tests/target/configs/spaces_around_ranges/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/spaces_around_ranges/true.rs rename to tests/target/configs/spaces_around_ranges/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/struct_field_align_threshold/20.rs b/tests/target/configs/struct_field_align_threshold/20.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/struct_field_align_threshold/20.rs rename to tests/target/configs/struct_field_align_threshold/20.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/struct_lit_single_line/false.rs b/tests/target/configs/struct_lit_single_line/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/struct_lit_single_line/false.rs rename to tests/target/configs/struct_lit_single_line/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/tab_spaces/2.rs b/tests/target/configs/tab_spaces/2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/tab_spaces/2.rs rename to tests/target/configs/tab_spaces/2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/tab_spaces/4.rs b/tests/target/configs/tab_spaces/4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/tab_spaces/4.rs rename to tests/target/configs/tab_spaces/4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/always.rs b/tests/target/configs/trailing_comma/always.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/always.rs rename to tests/target/configs/trailing_comma/always.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/never.rs b/tests/target/configs/trailing_comma/never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/never.rs rename to tests/target/configs/trailing_comma/never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/vertical.rs b/tests/target/configs/trailing_comma/vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/trailing_comma/vertical.rs rename to tests/target/configs/trailing_comma/vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/trailing_semicolon/false.rs b/tests/target/configs/trailing_semicolon/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/trailing_semicolon/false.rs rename to tests/target/configs/trailing_semicolon/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/trailing_semicolon/true.rs b/tests/target/configs/trailing_semicolon/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/trailing_semicolon/true.rs rename to tests/target/configs/trailing_semicolon/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/type_punctuation_density/compressed.rs b/tests/target/configs/type_punctuation_density/compressed.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/type_punctuation_density/compressed.rs rename to tests/target/configs/type_punctuation_density/compressed.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/type_punctuation_density/wide.rs b/tests/target/configs/type_punctuation_density/wide.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/type_punctuation_density/wide.rs rename to tests/target/configs/type_punctuation_density/wide.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/use_field_init_shorthand/false.rs b/tests/target/configs/use_field_init_shorthand/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/use_field_init_shorthand/false.rs rename to tests/target/configs/use_field_init_shorthand/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/use_field_init_shorthand/true.rs b/tests/target/configs/use_field_init_shorthand/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/use_field_init_shorthand/true.rs rename to tests/target/configs/use_field_init_shorthand/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/false.rs b/tests/target/configs/use_try_shorthand/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/false.rs rename to tests/target/configs/use_try_shorthand/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/true.rs b/tests/target/configs/use_try_shorthand/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/true.rs rename to tests/target/configs/use_try_shorthand/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/true_2015_edition.rs b/tests/target/configs/use_try_shorthand/true_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/use_try_shorthand/true_2015_edition.rs rename to tests/target/configs/use_try_shorthand/true_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/where_single_line/true.rs b/tests/target/configs/where_single_line/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/where_single_line/true.rs rename to tests/target/configs/where_single_line/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/max.rs b/tests/target/configs/width_heuristics/max.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/max.rs rename to tests/target/configs/width_heuristics/max.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/off.rs b/tests/target/configs/width_heuristics/off.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/off.rs rename to tests/target/configs/width_heuristics/off.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/scaled.rs b/tests/target/configs/width_heuristics/scaled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/width_heuristics/scaled.rs rename to tests/target/configs/width_heuristics/scaled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/wrap_comments/false.rs b/tests/target/configs/wrap_comments/false.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/wrap_comments/false.rs rename to tests/target/configs/wrap_comments/false.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/configs/wrap_comments/true.rs b/tests/target/configs/wrap_comments/true.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/configs/wrap_comments/true.rs rename to tests/target/configs/wrap_comments/true.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/const_generics.rs b/tests/target/const_generics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/const_generics.rs rename to tests/target/const_generics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/control-brace-style-always-next-line.rs b/tests/target/control-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/control-brace-style-always-next-line.rs rename to tests/target/control-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/control-brace-style-always-same-line.rs b/tests/target/control-brace-style-always-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/control-brace-style-always-same-line.rs rename to tests/target/control-brace-style-always-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/doc-attrib.rs b/tests/target/doc-attrib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/doc-attrib.rs rename to tests/target/doc-attrib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/doc-comment-with-example.rs b/tests/target/doc-comment-with-example.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/doc-comment-with-example.rs rename to tests/target/doc-comment-with-example.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/doc.rs b/tests/target/doc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/doc.rs rename to tests/target/doc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/dyn_trait.rs b/tests/target/dyn_trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/dyn_trait.rs rename to tests/target/dyn_trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-always-next-line.rs b/tests/target/else-if-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-always-next-line.rs rename to tests/target/else-if-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-always-same-line.rs b/tests/target/else-if-brace-style-always-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-always-same-line.rs rename to tests/target/else-if-brace-style-always-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-closing-next-line.rs b/tests/target/else-if-brace-style-closing-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/else-if-brace-style-closing-next-line.rs rename to tests/target/else-if-brace-style-closing-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/empty-tuple-no-conversion-to-unit-struct.rs b/tests/target/empty-tuple-no-conversion-to-unit-struct.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/empty-tuple-no-conversion-to-unit-struct.rs rename to tests/target/empty-tuple-no-conversion-to-unit-struct.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/empty_file.rs b/tests/target/empty_file.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/empty_file.rs rename to tests/target/empty_file.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/enum.rs b/tests/target/enum.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/enum.rs rename to tests/target/enum.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/existential_type.rs b/tests/target/existential_type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/existential_type.rs rename to tests/target/existential_type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/expr-block.rs b/tests/target/expr-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/expr-block.rs rename to tests/target/expr-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/expr-overflow-delimited.rs b/tests/target/expr-overflow-delimited.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/expr-overflow-delimited.rs rename to tests/target/expr-overflow-delimited.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/expr.rs b/tests/target/expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/expr.rs rename to tests/target/expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/extern.rs b/tests/target/extern.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/extern.rs rename to tests/target/extern.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/extern_not_explicit.rs b/tests/target/extern_not_explicit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/extern_not_explicit.rs rename to tests/target/extern_not_explicit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-1.rs b/tests/target/file-lines-1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-1.rs rename to tests/target/file-lines-1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-2.rs b/tests/target/file-lines-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-2.rs rename to tests/target/file-lines-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-3.rs b/tests/target/file-lines-3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-3.rs rename to tests/target/file-lines-3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-4.rs b/tests/target/file-lines-4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-4.rs rename to tests/target/file-lines-4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-5.rs b/tests/target/file-lines-5.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-5.rs rename to tests/target/file-lines-5.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-6.rs b/tests/target/file-lines-6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-6.rs rename to tests/target/file-lines-6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-7.rs b/tests/target/file-lines-7.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-7.rs rename to tests/target/file-lines-7.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-8.rs b/tests/target/file-lines-8.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-8.rs rename to tests/target/file-lines-8.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/file-lines-item.rs b/tests/target/file-lines-item.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/file-lines-item.rs rename to tests/target/file-lines-item.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-args-with-last-line-comment.rs b/tests/target/fn-args-with-last-line-comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-args-with-last-line-comment.rs rename to tests/target/fn-args-with-last-line-comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-2.rs b/tests/target/fn-custom-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-2.rs rename to tests/target/fn-custom-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-3.rs b/tests/target/fn-custom-3.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-3.rs rename to tests/target/fn-custom-3.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-4.rs b/tests/target/fn-custom-4.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-4.rs rename to tests/target/fn-custom-4.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-6.rs b/tests/target/fn-custom-6.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-6.rs rename to tests/target/fn-custom-6.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-7.rs b/tests/target/fn-custom-7.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-7.rs rename to tests/target/fn-custom-7.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom-8.rs b/tests/target/fn-custom-8.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom-8.rs rename to tests/target/fn-custom-8.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-custom.rs b/tests/target/fn-custom.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-custom.rs rename to tests/target/fn-custom.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-param-attributes.rs b/tests/target/fn-param-attributes.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-param-attributes.rs rename to tests/target/fn-param-attributes.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-simple.rs b/tests/target/fn-simple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-simple.rs rename to tests/target/fn-simple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-single-line/version_two.rs b/tests/target/fn-single-line/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-single-line/version_two.rs rename to tests/target/fn-single-line/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn-ty.rs b/tests/target/fn-ty.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn-ty.rs rename to tests/target/fn-ty.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn.rs b/tests/target/fn.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn.rs rename to tests/target/fn.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn_args_indent-block.rs b/tests/target/fn_args_indent-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn_args_indent-block.rs rename to tests/target/fn_args_indent-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn_once.rs b/tests/target/fn_once.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn_once.rs rename to tests/target/fn_once.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/fn_params_layout-vertical.rs b/tests/target/fn_params_layout-vertical.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/fn_params_layout-vertical.rs rename to tests/target/fn_params_layout-vertical.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-202.rs b/tests/target/format_strings/issue-202.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-202.rs rename to tests/target/format_strings/issue-202.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-2833.rs b/tests/target/format_strings/issue-2833.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-2833.rs rename to tests/target/format_strings/issue-2833.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-3263.rs b/tests/target/format_strings/issue-3263.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-3263.rs rename to tests/target/format_strings/issue-3263.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-687.rs b/tests/target/format_strings/issue-687.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/format_strings/issue-687.rs rename to tests/target/format_strings/issue-687.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/format_strings/issue564.rs b/tests/target/format_strings/issue564.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/format_strings/issue564.rs rename to tests/target/format_strings/issue564.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/hard-tabs.rs b/tests/target/hard-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/hard-tabs.rs rename to tests/target/hard-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/hello.rs b/tests/target/hello.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/hello.rs rename to tests/target/hello.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/if_while_or_patterns.rs b/tests/target/if_while_or_patterns.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/if_while_or_patterns.rs rename to tests/target/if_while_or_patterns.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/immovable_generators.rs b/tests/target/immovable_generators.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/immovable_generators.rs rename to tests/target/immovable_generators.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/impl.rs b/tests/target/impl.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/impl.rs rename to tests/target/impl.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/impls.rs b/tests/target/impls.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/impls.rs rename to tests/target/impls.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/import-fencepost-length.rs b/tests/target/import-fencepost-length.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/import-fencepost-length.rs rename to tests/target/import-fencepost-length.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports-impl-only-use.rs b/tests/target/imports-impl-only-use.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports-impl-only-use.rs rename to tests/target/imports-impl-only-use.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports-reorder-lines-and-items.rs b/tests/target/imports-reorder-lines-and-items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports-reorder-lines-and-items.rs rename to tests/target/imports-reorder-lines-and-items.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports-reorder-lines.rs b/tests/target/imports-reorder-lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports-reorder-lines.rs rename to tests/target/imports-reorder-lines.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports-reorder.rs b/tests/target/imports-reorder.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports-reorder.rs rename to tests/target/imports-reorder.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports.rs b/tests/target/imports.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports.rs rename to tests/target/imports.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports_2015_edition.rs b/tests/target/imports_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports_2015_edition.rs rename to tests/target/imports_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports_block_indent.rs b/tests/target/imports_block_indent.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports_block_indent.rs rename to tests/target/imports_block_indent.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/imports_raw_identifiers.rs b/tests/target/imports_raw_identifiers.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/imports_raw_identifiers.rs rename to tests/target/imports_raw_identifiers.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/indented-impl.rs b/tests/target/indented-impl.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/indented-impl.rs rename to tests/target/indented-impl.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/inner-module-path/b.rs b/tests/target/inner-module-path/b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/inner-module-path/b.rs rename to tests/target/inner-module-path/b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/inner-module-path/c/d.rs b/tests/target/inner-module-path/c/d.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/inner-module-path/c/d.rs rename to tests/target/inner-module-path/c/d.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/inner-module-path/lib.rs b/tests/target/inner-module-path/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/inner-module-path/lib.rs rename to tests/target/inner-module-path/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/invalid-rust-code-in-doc-comment.rs b/tests/target/invalid-rust-code-in-doc-comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/invalid-rust-code-in-doc-comment.rs rename to tests/target/invalid-rust-code-in-doc-comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1021.rs b/tests/target/issue-1021.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1021.rs rename to tests/target/issue-1021.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1049.rs b/tests/target/issue-1049.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1049.rs rename to tests/target/issue-1049.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1055.rs b/tests/target/issue-1055.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1055.rs rename to tests/target/issue-1055.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1096.rs b/tests/target/issue-1096.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1096.rs rename to tests/target/issue-1096.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1111.rs b/tests/target/issue-1111.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1111.rs rename to tests/target/issue-1111.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1113.rs b/tests/target/issue-1113.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1113.rs rename to tests/target/issue-1113.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1120.rs b/tests/target/issue-1120.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1120.rs rename to tests/target/issue-1120.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1124.rs b/tests/target/issue-1124.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1124.rs rename to tests/target/issue-1124.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1127.rs b/tests/target/issue-1127.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1127.rs rename to tests/target/issue-1127.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1158.rs b/tests/target/issue-1158.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1158.rs rename to tests/target/issue-1158.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1177.rs b/tests/target/issue-1177.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1177.rs rename to tests/target/issue-1177.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1192.rs b/tests/target/issue-1192.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1192.rs rename to tests/target/issue-1192.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1210/a.rs b/tests/target/issue-1210/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1210/a.rs rename to tests/target/issue-1210/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1210/b.rs b/tests/target/issue-1210/b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1210/b.rs rename to tests/target/issue-1210/b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1210/c.rs b/tests/target/issue-1210/c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1210/c.rs rename to tests/target/issue-1210/c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1210/d.rs b/tests/target/issue-1210/d.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1210/d.rs rename to tests/target/issue-1210/d.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1210/e.rs b/tests/target/issue-1210/e.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1210/e.rs rename to tests/target/issue-1210/e.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1211.rs b/tests/target/issue-1211.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1211.rs rename to tests/target/issue-1211.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1214.rs b/tests/target/issue-1214.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1214.rs rename to tests/target/issue-1214.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1216.rs b/tests/target/issue-1216.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1216.rs rename to tests/target/issue-1216.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1239.rs b/tests/target/issue-1239.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1239.rs rename to tests/target/issue-1239.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1247.rs b/tests/target/issue-1247.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1247.rs rename to tests/target/issue-1247.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1255.rs b/tests/target/issue-1255.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1255.rs rename to tests/target/issue-1255.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1278.rs b/tests/target/issue-1278.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1278.rs rename to tests/target/issue-1278.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1350.rs b/tests/target/issue-1350.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1350.rs rename to tests/target/issue-1350.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1366.rs b/tests/target/issue-1366.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1366.rs rename to tests/target/issue-1366.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1397.rs b/tests/target/issue-1397.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1397.rs rename to tests/target/issue-1397.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1468.rs b/tests/target/issue-1468.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1468.rs rename to tests/target/issue-1468.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1598.rs b/tests/target/issue-1598.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1598.rs rename to tests/target/issue-1598.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1624.rs b/tests/target/issue-1624.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1624.rs rename to tests/target/issue-1624.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1681.rs b/tests/target/issue-1681.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1681.rs rename to tests/target/issue-1681.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1693.rs b/tests/target/issue-1693.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1693.rs rename to tests/target/issue-1693.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1703.rs b/tests/target/issue-1703.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1703.rs rename to tests/target/issue-1703.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1800.rs b/tests/target/issue-1800.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1800.rs rename to tests/target/issue-1800.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1802.rs b/tests/target/issue-1802.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1802.rs rename to tests/target/issue-1802.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1824.rs b/tests/target/issue-1824.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1824.rs rename to tests/target/issue-1824.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-1914.rs b/tests/target/issue-1914.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-1914.rs rename to tests/target/issue-1914.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2025.rs b/tests/target/issue-2025.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2025.rs rename to tests/target/issue-2025.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2103.rs b/tests/target/issue-2103.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2103.rs rename to tests/target/issue-2103.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2111.rs b/tests/target/issue-2111.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2111.rs rename to tests/target/issue-2111.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2123.rs b/tests/target/issue-2123.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2123.rs rename to tests/target/issue-2123.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2164.rs b/tests/target/issue-2164.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2164.rs rename to tests/target/issue-2164.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2179/two.rs b/tests/target/issue-2179/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2179/two.rs rename to tests/target/issue-2179/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2197.rs b/tests/target/issue-2197.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2197.rs rename to tests/target/issue-2197.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2256.rs b/tests/target/issue-2256.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2256.rs rename to tests/target/issue-2256.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2324.rs b/tests/target/issue-2324.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2324.rs rename to tests/target/issue-2324.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2329.rs b/tests/target/issue-2329.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2329.rs rename to tests/target/issue-2329.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2342.rs b/tests/target/issue-2342.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2342.rs rename to tests/target/issue-2342.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2346.rs b/tests/target/issue-2346.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2346.rs rename to tests/target/issue-2346.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2401.rs b/tests/target/issue-2401.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2401.rs rename to tests/target/issue-2401.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2445.rs b/tests/target/issue-2445.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2445.rs rename to tests/target/issue-2445.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2446.rs b/tests/target/issue-2446.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2446.rs rename to tests/target/issue-2446.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2479.rs b/tests/target/issue-2479.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2479.rs rename to tests/target/issue-2479.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2482/a.rs b/tests/target/issue-2482/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2482/a.rs rename to tests/target/issue-2482/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2482/b.rs b/tests/target/issue-2482/b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2482/b.rs rename to tests/target/issue-2482/b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2482/c.rs b/tests/target/issue-2482/c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2482/c.rs rename to tests/target/issue-2482/c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2496.rs b/tests/target/issue-2496.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2496.rs rename to tests/target/issue-2496.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2520.rs b/tests/target/issue-2520.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2520.rs rename to tests/target/issue-2520.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2523.rs b/tests/target/issue-2523.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2523.rs rename to tests/target/issue-2523.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2526.rs b/tests/target/issue-2526.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2526.rs rename to tests/target/issue-2526.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2551.rs b/tests/target/issue-2551.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2551.rs rename to tests/target/issue-2551.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2554.rs b/tests/target/issue-2554.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2554.rs rename to tests/target/issue-2554.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2582.rs b/tests/target/issue-2582.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2582.rs rename to tests/target/issue-2582.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2641.rs b/tests/target/issue-2641.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2641.rs rename to tests/target/issue-2641.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2644.rs b/tests/target/issue-2644.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2644.rs rename to tests/target/issue-2644.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2728.rs b/tests/target/issue-2728.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2728.rs rename to tests/target/issue-2728.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2759.rs b/tests/target/issue-2759.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2759.rs rename to tests/target/issue-2759.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2761.rs b/tests/target/issue-2761.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2761.rs rename to tests/target/issue-2761.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2794.rs b/tests/target/issue-2794.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2794.rs rename to tests/target/issue-2794.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2810.rs b/tests/target/issue-2810.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2810.rs rename to tests/target/issue-2810.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2835.rs b/tests/target/issue-2835.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2835.rs rename to tests/target/issue-2835.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2863.rs b/tests/target/issue-2863.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2863.rs rename to tests/target/issue-2863.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2869.rs b/tests/target/issue-2869.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2869.rs rename to tests/target/issue-2869.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2896.rs b/tests/target/issue-2896.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2896.rs rename to tests/target/issue-2896.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2916.rs b/tests/target/issue-2916.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2916.rs rename to tests/target/issue-2916.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2917/minimal.rs b/tests/target/issue-2917/minimal.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2917/minimal.rs rename to tests/target/issue-2917/minimal.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2917/packed_simd.rs b/tests/target/issue-2917/packed_simd.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2917/packed_simd.rs rename to tests/target/issue-2917/packed_simd.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2922.rs b/tests/target/issue-2922.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2922.rs rename to tests/target/issue-2922.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2927-2.rs b/tests/target/issue-2927-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2927-2.rs rename to tests/target/issue-2927-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2927.rs b/tests/target/issue-2927.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2927.rs rename to tests/target/issue-2927.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2930.rs b/tests/target/issue-2930.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2930.rs rename to tests/target/issue-2930.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2936.rs b/tests/target/issue-2936.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2936.rs rename to tests/target/issue-2936.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2941.rs b/tests/target/issue-2941.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2941.rs rename to tests/target/issue-2941.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2955.rs b/tests/target/issue-2955.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2955.rs rename to tests/target/issue-2955.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2973.rs b/tests/target/issue-2973.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2973.rs rename to tests/target/issue-2973.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2976.rs b/tests/target/issue-2976.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2976.rs rename to tests/target/issue-2976.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2977/block.rs b/tests/target/issue-2977/block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2977/block.rs rename to tests/target/issue-2977/block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2977/impl.rs b/tests/target/issue-2977/impl.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2977/impl.rs rename to tests/target/issue-2977/impl.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2977/item.rs b/tests/target/issue-2977/item.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2977/item.rs rename to tests/target/issue-2977/item.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2977/trait.rs b/tests/target/issue-2977/trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2977/trait.rs rename to tests/target/issue-2977/trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2985.rs b/tests/target/issue-2985.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2985.rs rename to tests/target/issue-2985.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-2995.rs b/tests/target/issue-2995.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-2995.rs rename to tests/target/issue-2995.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3029.rs b/tests/target/issue-3029.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3029.rs rename to tests/target/issue-3029.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3032.rs b/tests/target/issue-3032.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3032.rs rename to tests/target/issue-3032.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3038.rs b/tests/target/issue-3038.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3038.rs rename to tests/target/issue-3038.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3043.rs b/tests/target/issue-3043.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3043.rs rename to tests/target/issue-3043.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3049.rs b/tests/target/issue-3049.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3049.rs rename to tests/target/issue-3049.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3055/backtick.rs b/tests/target/issue-3055/backtick.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3055/backtick.rs rename to tests/target/issue-3055/backtick.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3055/empty-code-block.rs b/tests/target/issue-3055/empty-code-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3055/empty-code-block.rs rename to tests/target/issue-3055/empty-code-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3055/original.rs b/tests/target/issue-3055/original.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3055/original.rs rename to tests/target/issue-3055/original.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3059.rs b/tests/target/issue-3059.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3059.rs rename to tests/target/issue-3059.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3066.rs b/tests/target/issue-3066.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3066.rs rename to tests/target/issue-3066.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3068.rs b/tests/target/issue-3068.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3068.rs rename to tests/target/issue-3068.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3105.rs b/tests/target/issue-3105.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3105.rs rename to tests/target/issue-3105.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3118.rs b/tests/target/issue-3118.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3118.rs rename to tests/target/issue-3118.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3124.rs b/tests/target/issue-3124.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3124.rs rename to tests/target/issue-3124.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3131.rs b/tests/target/issue-3131.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3131.rs rename to tests/target/issue-3131.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3132.rs b/tests/target/issue-3132.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3132.rs rename to tests/target/issue-3132.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3153.rs b/tests/target/issue-3153.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3153.rs rename to tests/target/issue-3153.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3170.rs b/tests/target/issue-3170.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3170.rs rename to tests/target/issue-3170.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3182.rs b/tests/target/issue-3182.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3182.rs rename to tests/target/issue-3182.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3184.rs b/tests/target/issue-3184.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3184.rs rename to tests/target/issue-3184.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3194.rs b/tests/target/issue-3194.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3194.rs rename to tests/target/issue-3194.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3198.rs b/tests/target/issue-3198.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3198.rs rename to tests/target/issue-3198.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3213/version_two.rs b/tests/target/issue-3213/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3213/version_two.rs rename to tests/target/issue-3213/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3217.rs b/tests/target/issue-3217.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3217.rs rename to tests/target/issue-3217.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3224.rs b/tests/target/issue-3224.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3224.rs rename to tests/target/issue-3224.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3227/two.rs b/tests/target/issue-3227/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3227/two.rs rename to tests/target/issue-3227/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3234.rs b/tests/target/issue-3234.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3234.rs rename to tests/target/issue-3234.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3241.rs b/tests/target/issue-3241.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3241.rs rename to tests/target/issue-3241.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/bar.rs b/tests/target/issue-3253/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/bar.rs rename to tests/target/issue-3253/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/foo.rs b/tests/target/issue-3253/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/foo.rs rename to tests/target/issue-3253/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/lib.rs b/tests/target/issue-3253/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/lib.rs rename to tests/target/issue-3253/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/bar_foo.rs b/tests/target/issue-3253/paths/bar_foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/bar_foo.rs rename to tests/target/issue-3253/paths/bar_foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/excluded.rs b/tests/target/issue-3253/paths/excluded.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/excluded.rs rename to tests/target/issue-3253/paths/excluded.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/foo_bar.rs b/tests/target/issue-3253/paths/foo_bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3253/paths/foo_bar.rs rename to tests/target/issue-3253/paths/foo_bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3265.rs b/tests/target/issue-3265.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3265.rs rename to tests/target/issue-3265.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3270/two.rs b/tests/target/issue-3270/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3270/two.rs rename to tests/target/issue-3270/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3270/wrap.rs b/tests/target/issue-3270/wrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3270/wrap.rs rename to tests/target/issue-3270/wrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3272/v2.rs b/tests/target/issue-3272/v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3272/v2.rs rename to tests/target/issue-3272/v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3278/version_two.rs b/tests/target/issue-3278/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3278/version_two.rs rename to tests/target/issue-3278/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3295/two.rs b/tests/target/issue-3295/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3295/two.rs rename to tests/target/issue-3295/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3302.rs b/tests/target/issue-3302.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3302.rs rename to tests/target/issue-3302.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3304.rs b/tests/target/issue-3304.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3304.rs rename to tests/target/issue-3304.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3314.rs b/tests/target/issue-3314.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3314.rs rename to tests/target/issue-3314.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3343.rs b/tests/target/issue-3343.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3343.rs rename to tests/target/issue-3343.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3423.rs b/tests/target/issue-3423.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3423.rs rename to tests/target/issue-3423.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3434/lib.rs b/tests/target/issue-3434/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3434/lib.rs rename to tests/target/issue-3434/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3434/no_entry.rs b/tests/target/issue-3434/no_entry.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3434/no_entry.rs rename to tests/target/issue-3434/no_entry.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3434/not_skip_macro.rs b/tests/target/issue-3434/not_skip_macro.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3434/not_skip_macro.rs rename to tests/target/issue-3434/not_skip_macro.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3442.rs b/tests/target/issue-3442.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3442.rs rename to tests/target/issue-3442.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3465.rs b/tests/target/issue-3465.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3465.rs rename to tests/target/issue-3465.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3494/crlf.rs b/tests/target/issue-3494/crlf.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3494/crlf.rs rename to tests/target/issue-3494/crlf.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3494/lf.rs b/tests/target/issue-3494/lf.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3494/lf.rs rename to tests/target/issue-3494/lf.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3499.rs b/tests/target/issue-3499.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3499.rs rename to tests/target/issue-3499.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3502.rs b/tests/target/issue-3502.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3502.rs rename to tests/target/issue-3502.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3508.rs b/tests/target/issue-3508.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3508.rs rename to tests/target/issue-3508.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3515.rs b/tests/target/issue-3515.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3515.rs rename to tests/target/issue-3515.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3532.rs b/tests/target/issue-3532.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3532.rs rename to tests/target/issue-3532.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3539.rs b/tests/target/issue-3539.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3539.rs rename to tests/target/issue-3539.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3550.rs b/tests/target/issue-3550.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3550.rs rename to tests/target/issue-3550.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3554.rs b/tests/target/issue-3554.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3554.rs rename to tests/target/issue-3554.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3567.rs b/tests/target/issue-3567.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3567.rs rename to tests/target/issue-3567.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3568.rs b/tests/target/issue-3568.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3568.rs rename to tests/target/issue-3568.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3585/extern_crate.rs b/tests/target/issue-3585/extern_crate.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3585/extern_crate.rs rename to tests/target/issue-3585/extern_crate.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3585/reorder_imports_disabled.rs b/tests/target/issue-3585/reorder_imports_disabled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3585/reorder_imports_disabled.rs rename to tests/target/issue-3585/reorder_imports_disabled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3585/reorder_imports_enabled.rs b/tests/target/issue-3585/reorder_imports_enabled.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3585/reorder_imports_enabled.rs rename to tests/target/issue-3585/reorder_imports_enabled.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3585/use.rs b/tests/target/issue-3585/use.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3585/use.rs rename to tests/target/issue-3585/use.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3592.rs b/tests/target/issue-3592.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3592.rs rename to tests/target/issue-3592.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3595.rs b/tests/target/issue-3595.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3595.rs rename to tests/target/issue-3595.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3601.rs b/tests/target/issue-3601.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3601.rs rename to tests/target/issue-3601.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3614/version_two.rs b/tests/target/issue-3614/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3614/version_two.rs rename to tests/target/issue-3614/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3636.rs b/tests/target/issue-3636.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3636.rs rename to tests/target/issue-3636.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3638.rs b/tests/target/issue-3638.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3638.rs rename to tests/target/issue-3638.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3639.rs b/tests/target/issue-3639.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3639.rs rename to tests/target/issue-3639.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3645.rs b/tests/target/issue-3645.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3645.rs rename to tests/target/issue-3645.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3651.rs b/tests/target/issue-3651.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3651.rs rename to tests/target/issue-3651.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3665/lib.rs b/tests/target/issue-3665/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3665/lib.rs rename to tests/target/issue-3665/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3665/not_skip_attribute.rs b/tests/target/issue-3665/not_skip_attribute.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3665/not_skip_attribute.rs rename to tests/target/issue-3665/not_skip_attribute.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3665/sub_mod.rs b/tests/target/issue-3665/sub_mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3665/sub_mod.rs rename to tests/target/issue-3665/sub_mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3672.rs b/tests/target/issue-3672.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3672.rs rename to tests/target/issue-3672.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3675.rs b/tests/target/issue-3675.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3675.rs rename to tests/target/issue-3675.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3701/two.rs b/tests/target/issue-3701/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3701/two.rs rename to tests/target/issue-3701/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3709.rs b/tests/target/issue-3709.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3709.rs rename to tests/target/issue-3709.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3711.rs b/tests/target/issue-3711.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3711.rs rename to tests/target/issue-3711.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3717.rs b/tests/target/issue-3717.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3717.rs rename to tests/target/issue-3717.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3718.rs b/tests/target/issue-3718.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3718.rs rename to tests/target/issue-3718.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3740.rs b/tests/target/issue-3740.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3740.rs rename to tests/target/issue-3740.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3741.rs b/tests/target/issue-3741.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3741.rs rename to tests/target/issue-3741.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3750.rs b/tests/target/issue-3750.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3750.rs rename to tests/target/issue-3750.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3751.rs b/tests/target/issue-3751.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3751.rs rename to tests/target/issue-3751.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3759.rs b/tests/target/issue-3759.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3759.rs rename to tests/target/issue-3759.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3779/ice.rs b/tests/target/issue-3779/ice.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3779/ice.rs rename to tests/target/issue-3779/ice.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3779/lib.rs b/tests/target/issue-3779/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3779/lib.rs rename to tests/target/issue-3779/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3786.rs b/tests/target/issue-3786.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3786.rs rename to tests/target/issue-3786.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3787.rs b/tests/target/issue-3787.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3787.rs rename to tests/target/issue-3787.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3815.rs b/tests/target/issue-3815.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3815.rs rename to tests/target/issue-3815.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3840/version-two_hard-tabs.rs b/tests/target/issue-3840/version-two_hard-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3840/version-two_hard-tabs.rs rename to tests/target/issue-3840/version-two_hard-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3840/version-two_soft-tabs.rs b/tests/target/issue-3840/version-two_soft-tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3840/version-two_soft-tabs.rs rename to tests/target/issue-3840/version-two_soft-tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3845.rs b/tests/target/issue-3845.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3845.rs rename to tests/target/issue-3845.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3851.rs b/tests/target/issue-3851.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3851.rs rename to tests/target/issue-3851.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3858.rs b/tests/target/issue-3858.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3858.rs rename to tests/target/issue-3858.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3882.rs b/tests/target/issue-3882.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3882.rs rename to tests/target/issue-3882.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3904/two.rs b/tests/target/issue-3904/two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3904/two.rs rename to tests/target/issue-3904/two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3908.rs b/tests/target/issue-3908.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3908.rs rename to tests/target/issue-3908.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3923.rs b/tests/target/issue-3923.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3923.rs rename to tests/target/issue-3923.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3929.rs b/tests/target/issue-3929.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3929.rs rename to tests/target/issue-3929.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3933/imp-a.rs b/tests/target/issue-3933/imp-a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3933/imp-a.rs rename to tests/target/issue-3933/imp-a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3933/imp-b.rs b/tests/target/issue-3933/imp-b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3933/imp-b.rs rename to tests/target/issue-3933/imp-b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3933/lib.rs b/tests/target/issue-3933/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3933/lib.rs rename to tests/target/issue-3933/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3933/utils.rs b/tests/target/issue-3933/utils.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3933/utils.rs rename to tests/target/issue-3933/utils.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3934.rs b/tests/target/issue-3934.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3934.rs rename to tests/target/issue-3934.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3936.rs b/tests/target/issue-3936.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3936.rs rename to tests/target/issue-3936.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3956/graphics.rs b/tests/target/issue-3956/graphics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3956/graphics.rs rename to tests/target/issue-3956/graphics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3956/graphics_emu.rs b/tests/target/issue-3956/graphics_emu.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3956/graphics_emu.rs rename to tests/target/issue-3956/graphics_emu.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3956/lib.rs b/tests/target/issue-3956/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3956/lib.rs rename to tests/target/issue-3956/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3974.rs b/tests/target/issue-3974.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3974.rs rename to tests/target/issue-3974.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3981.rs b/tests/target/issue-3981.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3981.rs rename to tests/target/issue-3981.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-3992.rs b/tests/target/issue-3992.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-3992.rs rename to tests/target/issue-3992.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4001.rs b/tests/target/issue-4001.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4001.rs rename to tests/target/issue-4001.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4018.rs b/tests/target/issue-4018.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4018.rs rename to tests/target/issue-4018.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4020.rs b/tests/target/issue-4020.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4020.rs rename to tests/target/issue-4020.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4023.rs b/tests/target/issue-4023.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4023.rs rename to tests/target/issue-4023.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4029.rs b/tests/target/issue-4029.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4029.rs rename to tests/target/issue-4029.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4068.rs b/tests/target/issue-4068.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4068.rs rename to tests/target/issue-4068.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4079.rs b/tests/target/issue-4079.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4079.rs rename to tests/target/issue-4079.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4099.rs b/tests/target/issue-4099.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4099.rs rename to tests/target/issue-4099.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4104.rs b/tests/target/issue-4104.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4104.rs rename to tests/target/issue-4104.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4111.rs b/tests/target/issue-4111.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4111.rs rename to tests/target/issue-4111.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4115.rs b/tests/target/issue-4115.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4115.rs rename to tests/target/issue-4115.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4125.rs b/tests/target/issue-4125.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4125.rs rename to tests/target/issue-4125.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4151.rs b/tests/target/issue-4151.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4151.rs rename to tests/target/issue-4151.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4152.rs b/tests/target/issue-4152.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4152.rs rename to tests/target/issue-4152.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4158.rs b/tests/target/issue-4158.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4158.rs rename to tests/target/issue-4158.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4159.rs b/tests/target/issue-4159.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4159.rs rename to tests/target/issue-4159.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4167.rs b/tests/target/issue-4167.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4167.rs rename to tests/target/issue-4167.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4210.rs b/tests/target/issue-4210.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4210.rs rename to tests/target/issue-4210.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-4211.rs b/tests/target/issue-4211.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-4211.rs rename to tests/target/issue-4211.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-447.rs b/tests/target/issue-447.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-447.rs rename to tests/target/issue-447.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-510.rs b/tests/target/issue-510.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-510.rs rename to tests/target/issue-510.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-539.rs b/tests/target/issue-539.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-539.rs rename to tests/target/issue-539.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-64.rs b/tests/target/issue-64.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-64.rs rename to tests/target/issue-64.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-683.rs b/tests/target/issue-683.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-683.rs rename to tests/target/issue-683.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-691.rs b/tests/target/issue-691.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-691.rs rename to tests/target/issue-691.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-770.rs b/tests/target/issue-770.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-770.rs rename to tests/target/issue-770.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-811.rs b/tests/target/issue-811.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-811.rs rename to tests/target/issue-811.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-831.rs b/tests/target/issue-831.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-831.rs rename to tests/target/issue-831.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-850.rs b/tests/target/issue-850.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-850.rs rename to tests/target/issue-850.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-855.rs b/tests/target/issue-855.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-855.rs rename to tests/target/issue-855.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-913.rs b/tests/target/issue-913.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-913.rs rename to tests/target/issue-913.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-945.rs b/tests/target/issue-945.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-945.rs rename to tests/target/issue-945.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue-977.rs b/tests/target/issue-977.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue-977.rs rename to tests/target/issue-977.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3839.rs b/tests/target/issue_3839.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3839.rs rename to tests/target/issue_3839.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3844.rs b/tests/target/issue_3844.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3844.rs rename to tests/target/issue_3844.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3853.rs b/tests/target/issue_3853.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3853.rs rename to tests/target/issue_3853.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3854.rs b/tests/target/issue_3854.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3854.rs rename to tests/target/issue_3854.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3868.rs b/tests/target/issue_3868.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3868.rs rename to tests/target/issue_3868.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_3979.rs b/tests/target/issue_3979.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_3979.rs rename to tests/target/issue_3979.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_4031.rs b/tests/target/issue_4031.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_4031.rs rename to tests/target/issue_4031.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_4032.rs b/tests/target/issue_4032.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_4032.rs rename to tests/target/issue_4032.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_4049.rs b/tests/target/issue_4049.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_4049.rs rename to tests/target/issue_4049.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_4086.rs b/tests/target/issue_4086.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_4086.rs rename to tests/target/issue_4086.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/issue_4110.rs b/tests/target/issue_4110.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/issue_4110.rs rename to tests/target/issue_4110.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/item-brace-style-always-next-line.rs b/tests/target/item-brace-style-always-next-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/item-brace-style-always-next-line.rs rename to tests/target/item-brace-style-always-next-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/item-brace-style-prefer-same-line.rs b/tests/target/item-brace-style-prefer-same-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/item-brace-style-prefer-same-line.rs rename to tests/target/item-brace-style-prefer-same-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/item-brace-style-same-line-where.rs b/tests/target/item-brace-style-same-line-where.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/item-brace-style-same-line-where.rs rename to tests/target/item-brace-style-same-line-where.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/no_wrap.rs b/tests/target/itemized-blocks/no_wrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/no_wrap.rs rename to tests/target/itemized-blocks/no_wrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/rewrite_fail.rs b/tests/target/itemized-blocks/rewrite_fail.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/rewrite_fail.rs rename to tests/target/itemized-blocks/rewrite_fail.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/urls.rs b/tests/target/itemized-blocks/urls.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/urls.rs rename to tests/target/itemized-blocks/urls.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/wrap.rs b/tests/target/itemized-blocks/wrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/itemized-blocks/wrap.rs rename to tests/target/itemized-blocks/wrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/label_break.rs b/tests/target/label_break.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/label_break.rs rename to tests/target/label_break.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/large-block.rs b/tests/target/large-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/large-block.rs rename to tests/target/large-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/large_vec.rs b/tests/target/large_vec.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/large_vec.rs rename to tests/target/large_vec.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/lazy_static.rs b/tests/target/lazy_static.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/lazy_static.rs rename to tests/target/lazy_static.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/license-templates/empty_license_path.rs b/tests/target/license-templates/empty_license_path.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/license-templates/empty_license_path.rs rename to tests/target/license-templates/empty_license_path.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/license-templates/license.rs b/tests/target/license-templates/license.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/license-templates/license.rs rename to tests/target/license-templates/license.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/long-fn-1/version_two.rs b/tests/target/long-fn-1/version_two.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/long-fn-1/version_two.rs rename to tests/target/long-fn-1/version_two.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/long-match-arms-brace-newline.rs b/tests/target/long-match-arms-brace-newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/long-match-arms-brace-newline.rs rename to tests/target/long-match-arms-brace-newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/long-use-statement-issue-3154.rs b/tests/target/long-use-statement-issue-3154.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/long-use-statement-issue-3154.rs rename to tests/target/long-use-statement-issue-3154.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/long_field_access.rs b/tests/target/long_field_access.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/long_field_access.rs rename to tests/target/long_field_access.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/loop.rs b/tests/target/loop.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/loop.rs rename to tests/target/loop.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/macro_not_expr.rs b/tests/target/macro_not_expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/macro_not_expr.rs rename to tests/target/macro_not_expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/macro_rules.rs b/tests/target/macro_rules.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/macro_rules.rs rename to tests/target/macro_rules.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/macros.rs b/tests/target/macros.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/macros.rs rename to tests/target/macros.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/markdown-comment-with-options.rs b/tests/target/markdown-comment-with-options.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/markdown-comment-with-options.rs rename to tests/target/markdown-comment-with-options.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/markdown-comment.rs b/tests/target/markdown-comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/markdown-comment.rs rename to tests/target/markdown-comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match-block-trailing-comma.rs b/tests/target/match-block-trailing-comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match-block-trailing-comma.rs rename to tests/target/match-block-trailing-comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match-flattening.rs b/tests/target/match-flattening.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match-flattening.rs rename to tests/target/match-flattening.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match-nowrap-trailing-comma.rs b/tests/target/match-nowrap-trailing-comma.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match-nowrap-trailing-comma.rs rename to tests/target/match-nowrap-trailing-comma.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match-nowrap.rs b/tests/target/match-nowrap.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match-nowrap.rs rename to tests/target/match-nowrap.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match.rs b/tests/target/match.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match.rs rename to tests/target/match.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/match_overflow_expr.rs b/tests/target/match_overflow_expr.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/match_overflow_expr.rs rename to tests/target/match_overflow_expr.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/max-line-length-in-chars.rs b/tests/target/max-line-length-in-chars.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/max-line-length-in-chars.rs rename to tests/target/max-line-length-in-chars.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/merge_imports.rs b/tests/target/merge_imports.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/merge_imports.rs rename to tests/target/merge_imports.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/mod-1.rs b/tests/target/mod-1.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/mod-1.rs rename to tests/target/mod-1.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/mod-2.rs b/tests/target/mod-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/mod-2.rs rename to tests/target/mod-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/mods-relative-paths/lib.rs b/tests/target/mods-relative-paths/lib.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/mods-relative-paths/lib.rs rename to tests/target/mods-relative-paths/lib.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/mods-relative-paths/mod_b.rs b/tests/target/mods-relative-paths/mod_b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/mods-relative-paths/mod_b.rs rename to tests/target/mods-relative-paths/mod_b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/multi-file.rs b/tests/target/multi-file.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/multi-file.rs rename to tests/target/multi-file.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/multiline_string_in_macro_def.rs b/tests/target/multiline_string_in_macro_def.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/multiline_string_in_macro_def.rs rename to tests/target/multiline_string_in_macro_def.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/multiple.rs b/tests/target/multiple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/multiple.rs rename to tests/target/multiple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nested-if-else.rs b/tests/target/nested-if-else.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nested-if-else.rs rename to tests/target/nested-if-else.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nested-visual-block.rs b/tests/target/nested-visual-block.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nested-visual-block.rs rename to tests/target/nested-visual-block.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod.rs b/tests/target/nestedmod/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod.rs rename to tests/target/nestedmod/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2a.rs b/tests/target/nestedmod/mod2a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2a.rs rename to tests/target/nestedmod/mod2a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2b.rs b/tests/target/nestedmod/mod2b.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2b.rs rename to tests/target/nestedmod/mod2b.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2c.rs b/tests/target/nestedmod/mod2c.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/mod2c.rs rename to tests/target/nestedmod/mod2c.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/mymod1/mod3a.rs b/tests/target/nestedmod/mymod1/mod3a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/mymod1/mod3a.rs rename to tests/target/nestedmod/mymod1/mod3a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/submod2/a.rs b/tests/target/nestedmod/submod2/a.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/submod2/a.rs rename to tests/target/nestedmod/submod2/a.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/nestedmod/submod2/mod.rs b/tests/target/nestedmod/submod2/mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/nestedmod/submod2/mod.rs rename to tests/target/nestedmod/submod2/mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/no_arg_with_commnet.rs b/tests/target/no_arg_with_commnet.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/no_arg_with_commnet.rs rename to tests/target/no_arg_with_commnet.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/no_new_line_beginning.rs b/tests/target/no_new_line_beginning.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/no_new_line_beginning.rs rename to tests/target/no_new_line_beginning.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/normalize_doc_attributes_should_not_imply_format_doc_comments.rs b/tests/target/normalize_doc_attributes_should_not_imply_format_doc_comments.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/normalize_doc_attributes_should_not_imply_format_doc_comments.rs rename to tests/target/normalize_doc_attributes_should_not_imply_format_doc_comments.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/normalize_multiline_doc_attribute.rs b/tests/target/normalize_multiline_doc_attribute.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/normalize_multiline_doc_attribute.rs rename to tests/target/normalize_multiline_doc_attribute.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/obsolete_in_place.rs b/tests/target/obsolete_in_place.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/obsolete_in_place.rs rename to tests/target/obsolete_in_place.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/one_line_if_v2.rs b/tests/target/one_line_if_v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/one_line_if_v2.rs rename to tests/target/one_line_if_v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/other.rs b/tests/target/other.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/other.rs rename to tests/target/other.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/paren.rs b/tests/target/paren.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/paren.rs rename to tests/target/paren.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/path_clarity/foo.rs b/tests/target/path_clarity/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/path_clarity/foo.rs rename to tests/target/path_clarity/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/path_clarity/foo/bar.rs b/tests/target/path_clarity/foo/bar.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/path_clarity/foo/bar.rs rename to tests/target/path_clarity/foo/bar.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/paths.rs b/tests/target/paths.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/paths.rs rename to tests/target/paths.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/pattern-condense-wildcards.rs b/tests/target/pattern-condense-wildcards.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/pattern-condense-wildcards.rs rename to tests/target/pattern-condense-wildcards.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/pattern.rs b/tests/target/pattern.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/pattern.rs rename to tests/target/pattern.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/preserves_carriage_return_for_unix.rs b/tests/target/preserves_carriage_return_for_unix.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/preserves_carriage_return_for_unix.rs rename to tests/target/preserves_carriage_return_for_unix.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/preserves_carriage_return_for_windows.rs b/tests/target/preserves_carriage_return_for_windows.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/preserves_carriage_return_for_windows.rs rename to tests/target/preserves_carriage_return_for_windows.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/pub-restricted.rs b/tests/target/pub-restricted.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/pub-restricted.rs rename to tests/target/pub-restricted.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/raw_identifiers.rs b/tests/target/raw_identifiers.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/raw_identifiers.rs rename to tests/target/raw_identifiers.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/remove_blank_lines.rs b/tests/target/remove_blank_lines.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/remove_blank_lines.rs rename to tests/target/remove_blank_lines.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/reorder-impl-items.rs b/tests/target/reorder-impl-items.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/reorder-impl-items.rs rename to tests/target/reorder-impl-items.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/should_not_format_string_when_format_strings_is_not_set.rs b/tests/target/should_not_format_string_when_format_strings_is_not_set.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/should_not_format_string_when_format_strings_is_not_set.rs rename to tests/target/should_not_format_string_when_format_strings_is_not_set.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/single-line-if-else.rs b/tests/target/single-line-if-else.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/single-line-if-else.rs rename to tests/target/single-line-if-else.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/single-line-macro/v2.rs b/tests/target/single-line-macro/v2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/single-line-macro/v2.rs rename to tests/target/single-line-macro/v2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/skip.rs b/tests/target/skip.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/skip.rs rename to tests/target/skip.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/skip/foo.rs b/tests/target/skip/foo.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/skip/foo.rs rename to tests/target/skip/foo.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/skip/main.rs b/tests/target/skip/main.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/skip/main.rs rename to tests/target/skip/main.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/skip_mod.rs b/tests/target/skip_mod.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/skip_mod.rs rename to tests/target/skip_mod.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/soft-wrapping.rs b/tests/target/soft-wrapping.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/soft-wrapping.rs rename to tests/target/soft-wrapping.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/space-not-before-newline.rs b/tests/target/space-not-before-newline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/space-not-before-newline.rs rename to tests/target/space-not-before-newline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/spaces-around-ranges.rs b/tests/target/spaces-around-ranges.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/spaces-around-ranges.rs rename to tests/target/spaces-around-ranges.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/static.rs b/tests/target/static.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/static.rs rename to tests/target/static.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/string-lit-2.rs b/tests/target/string-lit-2.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/string-lit-2.rs rename to tests/target/string-lit-2.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/string-lit-custom.rs b/tests/target/string-lit-custom.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/string-lit-custom.rs rename to tests/target/string-lit-custom.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/string-lit.rs b/tests/target/string-lit.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/string-lit.rs rename to tests/target/string-lit.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/string_punctuation.rs b/tests/target/string_punctuation.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/string_punctuation.rs rename to tests/target/string_punctuation.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct-field-attributes.rs b/tests/target/struct-field-attributes.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct-field-attributes.rs rename to tests/target/struct-field-attributes.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct_lits.rs b/tests/target/struct_lits.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct_lits.rs rename to tests/target/struct_lits.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct_lits_multiline.rs b/tests/target/struct_lits_multiline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct_lits_multiline.rs rename to tests/target/struct_lits_multiline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct_lits_visual.rs b/tests/target/struct_lits_visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct_lits_visual.rs rename to tests/target/struct_lits_visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct_lits_visual_multiline.rs b/tests/target/struct_lits_visual_multiline.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct_lits_visual_multiline.rs rename to tests/target/struct_lits_visual_multiline.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/struct_tuple_visual.rs b/tests/target/struct_tuple_visual.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/struct_tuple_visual.rs rename to tests/target/struct_tuple_visual.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/structs.rs b/tests/target/structs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/structs.rs rename to tests/target/structs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trailing-comma-never.rs b/tests/target/trailing-comma-never.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trailing-comma-never.rs rename to tests/target/trailing-comma-never.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trailing_commas.rs b/tests/target/trailing_commas.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trailing_commas.rs rename to tests/target/trailing_commas.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trailing_comments/hard_tabs.rs b/tests/target/trailing_comments/hard_tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trailing_comments/hard_tabs.rs rename to tests/target/trailing_comments/hard_tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trailing_comments/soft_tabs.rs b/tests/target/trailing_comments/soft_tabs.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trailing_comments/soft_tabs.rs rename to tests/target/trailing_comments/soft_tabs.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trait.rs b/tests/target/trait.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trait.rs rename to tests/target/trait.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/trait_2015_edition.rs b/tests/target/trait_2015_edition.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/trait_2015_edition.rs rename to tests/target/trait_2015_edition.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/try-conversion.rs b/tests/target/try-conversion.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/try-conversion.rs rename to tests/target/try-conversion.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/tuple.rs b/tests/target/tuple.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/tuple.rs rename to tests/target/tuple.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/type-ascription.rs b/tests/target/type-ascription.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/type-ascription.rs rename to tests/target/type-ascription.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/type.rs b/tests/target/type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/type.rs rename to tests/target/type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/type_alias.rs b/tests/target/type_alias.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/type_alias.rs rename to tests/target/type_alias.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/unicode.rs b/tests/target/unicode.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/unicode.rs rename to tests/target/unicode.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/unindent_if_else_cond_comment.rs b/tests/target/unindent_if_else_cond_comment.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/unindent_if_else_cond_comment.rs rename to tests/target/unindent_if_else_cond_comment.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/unions.rs b/tests/target/unions.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/unions.rs rename to tests/target/unions.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/visibility.rs b/tests/target/visibility.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/visibility.rs rename to tests/target/visibility.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/visual-fn-type.rs b/tests/target/visual-fn-type.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/visual-fn-type.rs rename to tests/target/visual-fn-type.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/where-clause-rfc.rs b/tests/target/where-clause-rfc.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/where-clause-rfc.rs rename to tests/target/where-clause-rfc.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/where-clause.rs b/tests/target/where-clause.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/where-clause.rs rename to tests/target/where-clause.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/width-heuristics.rs b/tests/target/width-heuristics.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/width-heuristics.rs rename to tests/target/width-heuristics.rs diff --git a/rustfmt-core/rustfmt-lib/tests/target/wrap_comments_should_not_imply_format_doc_comments.rs b/tests/target/wrap_comments_should_not_imply_format_doc_comments.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/target/wrap_comments_should_not_imply_format_doc_comments.rs rename to tests/target/wrap_comments_should_not_imply_format_doc_comments.rs diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/source/fn-single-line.rs b/tests/writemode/source/fn-single-line.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/source/fn-single-line.rs rename to tests/writemode/source/fn-single-line.rs diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/source/json.rs b/tests/writemode/source/json.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/source/json.rs rename to tests/writemode/source/json.rs diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/source/modified.rs b/tests/writemode/source/modified.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/source/modified.rs rename to tests/writemode/source/modified.rs diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/source/stdin.rs b/tests/writemode/source/stdin.rs similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/source/stdin.rs rename to tests/writemode/source/stdin.rs diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/target/checkstyle.xml b/tests/writemode/target/checkstyle.xml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/target/checkstyle.xml rename to tests/writemode/target/checkstyle.xml diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/target/modified.txt b/tests/writemode/target/modified.txt similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/target/modified.txt rename to tests/writemode/target/modified.txt diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/target/output.json b/tests/writemode/target/output.json similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/target/output.json rename to tests/writemode/target/output.json diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/target/stdin.json b/tests/writemode/target/stdin.json similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/target/stdin.json rename to tests/writemode/target/stdin.json diff --git a/rustfmt-core/rustfmt-lib/tests/writemode/target/stdin.xml b/tests/writemode/target/stdin.xml similarity index 100% rename from rustfmt-core/rustfmt-lib/tests/writemode/target/stdin.xml rename to tests/writemode/target/stdin.xml