-#![feature(plugin)]
-#![plugin(clippy)]
-
-#![warn(clippy)]
+#![warn(clippy::all)]
#![allow(unused_variables)]
#![allow(unused_assignments)]
-#![allow(if_same_then_else)]
-#![allow(deref_addrof)]
+#![allow(clippy::if_same_then_else)]
+#![allow(clippy::deref_addrof)]
-fn foo() -> bool { true }
+fn foo() -> bool {
+ true
+}
+#[rustfmt::skip]
fn main() {
- // weird `else if` formatting:
+ // weird `else` formatting:
+ if foo() {
+ } {
+ }
+
if foo() {
} if foo() {
}
let _ = 0;
};
+ if foo() {
+ } else
+ {
+ }
+
+ if foo() {
+ }
+ else
+ {
+ }
+
if foo() {
} else
if foo() { // the span of the above error should continue here
}
// those are ok:
+ if foo() {
+ }
+ {
+ }
+
+ if foo() {
+ } else {
+ }
+
+ if foo() {
+ }
+ else {
+ }
+
if foo() {
}
if foo() {
1 + 2, 3 +
4, 5 + 6,
];
+
+ // don't lint for bin op without unary equiv
+ // issue 3244
+ vec![
+ 1
+ / 2,
+ ];
+ // issue 3396
+ vec![
+ true
+ | false,
+ ];
+
+ // don't lint if the indentation suggests not to
+ let _ = &[
+ 1 + 2, 3
+ - 4, 5
+ ];
+ // lint if it doesnt
+ let _ = &[
+ -1
+ -4,
+ ];
}