summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/ineffective_open_options.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/ineffective_open_options.rs')
-rw-r--r--src/tools/clippy/tests/ui/ineffective_open_options.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/ineffective_open_options.rs b/src/tools/clippy/tests/ui/ineffective_open_options.rs
new file mode 100644
index 000000000..4eaf6293c
--- /dev/null
+++ b/src/tools/clippy/tests/ui/ineffective_open_options.rs
@@ -0,0 +1,41 @@
+#![warn(clippy::ineffective_open_options)]
+
+use std::fs::OpenOptions;
+
+fn main() {
+ let file = OpenOptions::new()
+ .create(true)
+ .write(true) //~ ERROR: unnecessary use of `.write(true)`
+ .append(true)
+ .open("dump.json")
+ .unwrap();
+
+ let file = OpenOptions::new()
+ .create(true)
+ .append(true)
+ .write(true) //~ ERROR: unnecessary use of `.write(true)`
+ .open("dump.json")
+ .unwrap();
+
+ // All the next calls are ok.
+ let file = OpenOptions::new()
+ .create(true)
+ .write(false)
+ .append(true)
+ .open("dump.json")
+ .unwrap();
+ let file = OpenOptions::new()
+ .create(true)
+ .write(true)
+ .append(false)
+ .open("dump.json")
+ .unwrap();
+ let file = OpenOptions::new()
+ .create(true)
+ .write(false)
+ .append(false)
+ .open("dump.json")
+ .unwrap();
+ let file = OpenOptions::new().create(true).append(true).open("dump.json").unwrap();
+ let file = OpenOptions::new().create(true).write(true).open("dump.json").unwrap();
+}