]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/item_after_statement.rs
Ignore associated items in trait *implementations* when considering type complexity
[rust.git] / tests / ui / item_after_statement.rs
index 09b509673dc363884baced7c1a6eef118e18e633..d439ca1e4e1a171ca3ef20dc99f2311b968b5573 100644 (file)
@@ -1,19 +1,52 @@
-#![feature(plugin)]
-#![plugin(clippy)]
-#![deny(items_after_statements)]
+#![warn(clippy::items_after_statements)]
 
 fn ok() {
-    fn foo() { println!("foo"); }
+    fn foo() {
+        println!("foo");
+    }
     foo();
 }
 
 fn last() {
     foo();
-    fn foo() { println!("foo"); }
+    fn foo() {
+        println!("foo");
+    }
 }
 
 fn main() {
     foo();
-    fn foo() { println!("foo"); }
+    fn foo() {
+        println!("foo");
+    }
     foo();
 }
+
+fn mac() {
+    let mut a = 5;
+    println!("{}", a);
+    // do not lint this, because it needs to be after `a`
+    macro_rules! b {
+        () => {{
+            a = 6;
+            fn say_something() {
+                println!("something");
+            }
+        }};
+    }
+    b!();
+    println!("{}", a);
+}
+
+fn semicolon() {
+    struct S {
+        a: u32,
+    };
+    impl S {
+        fn new(a: u32) -> Self {
+            Self { a }
+        }
+    }
+
+    let _ = S::new(3);
+}