]> 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 a4cc42f0d722ad7f7c5c25e4377083629a20a02c..d439ca1e4e1a171ca3ef20dc99f2311b968b5573 100644 (file)
@@ -1,30 +1,24 @@
-// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-
-
 #![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();
 }
 
@@ -33,8 +27,26 @@ fn mac() {
     println!("{}", a);
     // do not lint this, because it needs to be after `a`
     macro_rules! b {
-        () => {{ a = 6 }}
+        () => {{
+            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);
+}