X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=src%2Ftools%2Frustfmt%2Ftests%2Ftarget%2Fissue-2179%2Fone.rs;fp=src%2Ftools%2Frustfmt%2Ftests%2Ftarget%2Fissue-2179%2Fone.rs;h=3f98acc8dcde64bd20da3970a5802a18c5b294fc;hb=a33a295584b7f296fedf3a50990e6b12210adf59;hp=0000000000000000000000000000000000000000;hpb=9c18a685fcfe68770bcd6ddb2059847f28403b69;p=rustc.git diff --git a/src/tools/rustfmt/tests/target/issue-2179/one.rs b/src/tools/rustfmt/tests/target/issue-2179/one.rs new file mode 100644 index 0000000000..3f98acc8dc --- /dev/null +++ b/src/tools/rustfmt/tests/target/issue-2179/one.rs @@ -0,0 +1,37 @@ +// rustfmt-version: One +// rustfmt-error_on_line_overflow: false + +fn issue_2179() { + let (opts, rustflags, clear_env_rust_log) = { + // We mustn't lock configuration for the whole build process + let rls_config = rls_config.lock().unwrap(); + + let opts = CargoOptions::new(&rls_config); + trace!("Cargo compilation options:\n{:?}", opts); + let rustflags = prepare_cargo_rustflags(&rls_config); + + // Warn about invalid specified bin target or package depending on current mode + // TODO: Return client notifications along with diagnostics to inform the user + if !rls_config.workspace_mode { + let cur_pkg_targets = ws.current().unwrap().targets(); + + if let &Some(ref build_bin) = rls_config.build_bin.as_ref() { + let mut bins = cur_pkg_targets.iter().filter(|x| x.is_bin()); + if let None = bins.find(|x| x.name() == build_bin) { + warn!( + "cargo - couldn't find binary `{}` specified in `build_bin` configuration", + build_bin + ); + } + } + } else { + for package in &opts.package { + if let None = ws.members().find(|x| x.name() == package) { + warn!("cargo - couldn't find member package `{}` specified in `analyze_package` configuration", package); + } + } + } + + (opts, rustflags, rls_config.clear_env_rust_log) + }; +}