summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/source/issue-2179
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /src/tools/rustfmt/tests/source/issue-2179
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/rustfmt/tests/source/issue-2179')
-rw-r--r--src/tools/rustfmt/tests/source/issue-2179/one.rs36
-rw-r--r--src/tools/rustfmt/tests/source/issue-2179/two.rs36
2 files changed, 72 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/source/issue-2179/one.rs b/src/tools/rustfmt/tests/source/issue-2179/one.rs
new file mode 100644
index 000000000..d23947931
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/issue-2179/one.rs
@@ -0,0 +1,36 @@
+// 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)
+ };
+
+}
diff --git a/src/tools/rustfmt/tests/source/issue-2179/two.rs b/src/tools/rustfmt/tests/source/issue-2179/two.rs
new file mode 100644
index 000000000..f4cc9cc48
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/issue-2179/two.rs
@@ -0,0 +1,36 @@
+// rustfmt-version: Two
+// 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)
+ };
+
+}